# Copyright (c) 2021 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default

name: 80.3.4. [TC-MOD-3.4] OnMode Overwriting StartUpMode (DUT as Server)

PICS:
    - MOD.S.A0004
    - MOD.S.A0005
    - OO.S.A4003

config:
    nodeId: 0x12344321
    cluster: "Basic"
    endpoint: 0

tests:
    - label: "TH reads the StartUpMode attribute from the DUT"
      PICS: MOD.S.A0004
      verification: |
          ./chip-tool modeselect read start-up-mode 1 1

          on TH,Verify that the DUT response is the integer. Record this value for usage in step 2.


          [1651099663211] [82177:7560652] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0004 DataVersion: 2609052118
          [1651099663212] [82177:7560652] CHIP: [TOO]   StartUpMode: 0
      disabled: true

    - label: "TH reads the OnMode attribute from the DUT"
      PICS: MOD.S.A0005
      verification: |
          ./chip-tool modeselect read on-mode 1 1

          on TH,Verify that the DUT response is the integer. Record this value for usage in step 2b.


          [1654780979.979743][61542:61547] CHIP:DMG: }
          [1654780979.980040][61542:61547] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0005 DataVersion: 235764160
          [1654780979.980202][61542:61547] CHIP:TOO:   OnMode: 4
      disabled: true

    - label:
          "If the StartUpMode and OnMode attributes have the same value, proceed
          to step 2c, Otherwise proceed to step 3."
      PICS: MOD.S.A0004 && MOD.S.A0005
      verification: |
          NOTE:
          If the StartUpMode and OnMode attributes have the same value, proceed to step 2c,  Otherwise proceed to step 3.
      disabled: true

    - label: "TH reads the SupportedModes attribute from the DUT"
      PICS: MOD.S.A0002
      verification: |
          ./chip-tool modeselect read supported-modes 1 1

          on TH,Verify that the DUT response provides a list of supported modes

          [1654154058.284710][3492:3497] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0002 DataVersion: 694763126
          [1654154058.284829][3492:3497] CHIP:TOO:   SupportedModes: 3 entries
          [1654154058.284909][3492:3497] CHIP:TOO:     [1]: {
          [1654154058.284939][3492:3497] CHIP:TOO:       Label: Black
          [1654154058.284966][3492:3497] CHIP:TOO:       Mode: 0
          [1654154058.284999][3492:3497] CHIP:TOO:       SemanticTags: 1 entries
          [1654154058.285037][3492:3497] CHIP:TOO:         [1]: {
          [1654154058.285066][3492:3497] CHIP:TOO:           MfgCode: 0
          [1654154058.285094][3492:3497] CHIP:TOO:           Value: 0
          [1654154058.285121][3492:3497] CHIP:TOO:          }
          [1654154058.285150][3492:3497] CHIP:TOO:      }
          [1654154058.285188][3492:3497] CHIP:TOO:     [2]: {
          [1654154058.285216][3492:3497] CHIP:TOO:       Label: Cappuccino
          [1654154058.285243][3492:3497] CHIP:TOO:       Mode: 4
          [1654154058.285274][3492:3497] CHIP:TOO:       SemanticTags: 1 entries
          [1654154058.285309][3492:3497] CHIP:TOO:         [1]: {
          [1654154058.285337][3492:3497] CHIP:TOO:           MfgCode: 0
          [1654154058.285364][3492:3497] CHIP:TOO:           Value: 0
          [1654154058.285390][3492:3497] CHIP:TOO:          }
          [1654154058.285418][3492:3497] CHIP:TOO:      }
          [1654154058.285456][3492:3497] CHIP:TOO:     [3]: {
          [1654154058.285484][3492:3497] CHIP:TOO:       Label: Espresso
          [1654154058.285513][3492:3497] CHIP:TOO:       Mode: 7
          [1654154058.285547][3492:3497] CHIP:TOO:       SemanticTags: 1 entries
          [1654154058.285638][3492:3497] CHIP:TOO:         [1]: {
          [1654154058.285671][3492:3497] CHIP:TOO:           MfgCode: 0
          [1654154058.285701][3492:3497] CHIP:TOO:           Value: 0
          [1654154058.285730][3492:3497] CHIP:TOO:          }
          [1654154058.285762][3492:3497] CHIP:TOO:      }
      disabled: true

    - label:
          "Select a value from the list in step 2c with a different value than
          the StartUpMode value read in step 1. TH sends a write command for
          OnMode to the DUT with the selected value."
      PICS: MOD.S.A0002 && MOD.S.C00.Rsp
      verification: |
          ./chip-tool modeselect write on-mode 7 1 1

          on TH,Verify that the DUT with a successful (value 0x00) status response.

          [1651099941884] [84269:7567211] CHIP: [DMG] WriteResponseMessage =
          [1651099941884] [84269:7567211] CHIP: [DMG] {
          [1651099941884] [84269:7567211] CHIP: [DMG]         AttributeStatusIBs =
          [1651099941884] [84269:7567211] CHIP: [DMG]         [
          [1651099941884] [84269:7567211] CHIP: [DMG]                 AttributeStatusIB =
          [1651099941884] [84269:7567211] CHIP: [DMG]                 {
          [1651099941887] [84269:7567211] CHIP: [DMG]                         AttributePathIB =
          [1651099941887] [84269:7567211] CHIP: [DMG]                         {
          [1651099941887] [84269:7567211] CHIP: [DMG]                                 Endpoint = 0x1,
          [1651099941887] [84269:7567211] CHIP: [DMG]                                 Cluster = 0x50,
          [1651099941887] [84269:7567211] CHIP: [DMG]                                 Attribute = 0x0000_0005,
          [1651099941887] [84269:7567211] CHIP: [DMG]                         }
          [1651099941887] [84269:7567211] CHIP: [DMG]
          [1651099941887] [84269:7567211] CHIP: [DMG]                         StatusIB =
          [1651099941887] [84269:7567211] CHIP: [DMG]                         {
          [1651099941887] [84269:7567211] CHIP: [DMG]                                 status = 0x00 (SUCCESS),
          [1651099941887] [84269:7567211] CHIP: [DMG]                         },
          [1651099941887] [84269:7567211] CHIP: [DMG]
          [1651099941887] [84269:7567211] CHIP: [DMG]                 },
          [1651099941887] [84269:7567211] CHIP: [DMG]
          [1651099941887] [84269:7567211] CHIP: [DMG]         ],
          [1651099941887] [84269:7567211] CHIP: [DMG]
          [1651099941887] [84269:7567211] CHIP: [DMG]         InteractionModelRevision = 1
          [1651099941887] [84269:7567211] CHIP: [DMG] }
      disabled: true

    - label: "TH reads the OnMode attribute from the DUT"
      PICS: MOD.S.F00 && MOD.S.A0005
      verification: |
          ./chip-tool modeselect read on-mode 1 1

          on TH,Verify that the DUT responds with an integer

          [1651100140426] [84609:7569911] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0005 DataVersion: 2609052120
          [1651100140426] [84609:7569911] CHIP: [TOO]   OnMode: 7
      disabled: true

    - label:
          "TH writes 1 to StartUpOnOff attribute of the OnOff Cluster of the DUT"
      PICS: OO.S.A4003
      verification: |
          ./chip-tool onoff write start-up-on-off 1 1 1

          on TH,Verify that the response status was success

          [1651101661959] [90832:7598169] CHIP: [DMG] WriteResponseMessage =
          [1651101661959] [90832:7598169] CHIP: [DMG] {
          [1651101661959] [90832:7598169] CHIP: [DMG]         AttributeStatusIBs =
          [1651101661959] [90832:7598169] CHIP: [DMG]         [
          [1651101661959] [90832:7598169] CHIP: [DMG]                 AttributeStatusIB =
          [1651101661959] [90832:7598169] CHIP: [DMG]                 {
          [1651101661960] [90832:7598169] CHIP: [DMG]                         AttributePathIB =
          [1651101661960] [90832:7598169] CHIP: [DMG]                         {
          [1651101661960] [90832:7598169] CHIP: [DMG]                                 Endpoint = 0x1,
          [1651101661960] [90832:7598169] CHIP: [DMG]                                 Cluster = 0x6,
          [1651101661960] [90832:7598169] CHIP: [DMG]                                 Attribute = 0x0000_4003,
          [1651101661960] [90832:7598169] CHIP: [DMG]                         }
          [1651101661960] [90832:7598169] CHIP: [DMG]
          [1651101661960] [90832:7598169] CHIP: [DMG]                         StatusIB =
          [1651101661960] [90832:7598169] CHIP: [DMG]                         {
          [1651101661960] [90832:7598169] CHIP: [DMG]                                 status = 0x00 (SUCCESS),
          [1651101661960] [90832:7598169] CHIP: [DMG]                         },
          [1651101661960] [90832:7598169] CHIP: [DMG]
          [1651101661960] [90832:7598169] CHIP: [DMG]                 },
          [1651101661960] [90832:7598169] CHIP: [DMG]
          [1651101661960] [90832:7598169] CHIP: [DMG]         ],
          [1651101661960] [90832:7598169] CHIP: [DMG]
          [1651101661960] [90832:7598169] CHIP: [DMG]         InteractionModelRevision = 1
          [1651101661960] [90832:7598169] CHIP: [DMG] }
      disabled: true

    - label: "Physically power cycle the device."
      verification: |
          Physically power cycle the device.
      disabled: true

    - label: "TH reads the CurrentMode attribute from the DUT"
      PICS: MOD.S.A0003
      verification: |
          ./chip-tool modeselect read current-mode 1 1


          on TH,Verify that this number is the same with the number recorded in step 3

          [1645778146.171510][4876:4881] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0003 DataVersion: 2609052120
          [1645778146.171602][4876:4881] CHIP:TOO:   CurrentMode: 4
      disabled: true
