# 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(chip-tool),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(chip-tool),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(chip-tool),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(chip-tool),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(chip-tool),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: 4
      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(chip-tool),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(chip-tool),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
