# 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: 41.3.1. [TC-TSTAT-3.1] Attributes with client as DUT

PICS:
    - TSTAT.C
    - TSTAT.C.AM-READ
    - TSTAT.C.AO-READ
    - TSTAT.C.AM-WRITE
    - TSTAT.C.AO-WRITE

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

tests:
    - label: "Note"
      verification: |
          For DUT as client test cases, Chip-tool command used below are an example to verify the functionality. For certification test, we expect DUT should have a capability or way to run the equivalent command.
      disabled: true

    - label:
          "DUT reads all supported mandatory attributes from TH one at a time in
          a manufacturer specific order"
      verification: |
          Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client)
           ./chip-tool thermostat read  local-temperature  1 1

          Verify the ReadRequestMessage on TH(all-clusters-app)

          [1652264555.303895][7099:7099] CHIP:IM: Received Read request
          [1652264555.303980][7099:7099] CHIP:DMG: ReadRequestMessage =
          [1652264555.304045][7099:7099] CHIP:DMG: {
          [1652264555.304085][7099:7099] CHIP:DMG:         AttributePathIBs =
          [1652264555.304131][7099:7099] CHIP:DMG:         [
          [1652264555.304200][7099:7099] CHIP:DMG:                 AttributePathIB =
          [1652264555.304259][7099:7099] CHIP:DMG:                 {
          [1652264555.304334][7099:7099] CHIP:DMG:                         Endpoint = 0x1,
          [1652264555.304431][7099:7099] CHIP:DMG:                         Cluster = 0x201,
          [1652264555.304499][7099:7099] CHIP:DMG:                         Attribute = 0x0000_0000,
          [1652264555.304566][7099:7099] CHIP:DMG:                 }
          [1652264555.304618][7099:7099] CHIP:DMG:
          [1652264555.304680][7099:7099] CHIP:DMG:         ],
          [1652264555.304733][7099:7099] CHIP:DMG:
          [1652264555.304798][7099:7099] CHIP:DMG:         isFabricFiltered = true,
          [1652264555.304846][7099:7099] CHIP:DMG:         InteractionModelRevision = 1
          [1652264555.304906][7099:7099] CHIP:DMG: },


          ./chip-tool thermostat read  control-sequence-of-operation 1 1


          Verify the ReadRequestMessage on TH(all-clusters-app)

          [1652265275.022068][7099:7099] CHIP:DMG: ReadRequestMessage =
          [1652265275.022110][7099:7099] CHIP:DMG: {
          [1652265275.022145][7099:7099] CHIP:DMG:         AttributePathIBs =
          [1652265275.022187][7099:7099] CHIP:DMG:         [
          [1652265275.022226][7099:7099] CHIP:DMG:                 AttributePathIB =
          [1652265275.022277][7099:7099] CHIP:DMG:                 {
          [1652265275.022325][7099:7099] CHIP:DMG:                         Endpoint = 0x1,
          [1652265275.022390][7099:7099] CHIP:DMG:                         Cluster = 0x201,
          [1652265275.022443][7099:7099] CHIP:DMG:                         Attribute = 0x0000_001B,
          [1652265275.022490][7099:7099] CHIP:DMG:                 }
          [1652265275.022536][7099:7099] CHIP:DMG:
          [1652265275.022583][7099:7099] CHIP:DMG:         ],
          [1652265275.022632][7099:7099] CHIP:DMG:
          [1652265275.022675][7099:7099] CHIP:DMG:         isFabricFiltered = true,
          [1652265275.022717][7099:7099] CHIP:DMG:         InteractionModelRevision = 1
          [1652265275.022756][7099:7099] CHIP:DMG: },

          ./chip-tool thermostat read   system-mode    1 1

          Verify the ReadRequestMessage on TH(all-clusters-app)
          [1652265332.311723][7099:7099] CHIP:DMG: ReadRequestMessage =
          [1652265332.311772][7099:7099] CHIP:DMG: {
          [1652265332.311812][7099:7099] CHIP:DMG:         AttributePathIBs =
          [1652265332.311866][7099:7099] CHIP:DMG:         [
          [1652265332.311915][7099:7099] CHIP:DMG:                 AttributePathIB =
          [1652265332.311971][7099:7099] CHIP:DMG:                 {
          [1652265332.312023][7099:7099] CHIP:DMG:                         Endpoint = 0x1,
          [1652265332.312079][7099:7099] CHIP:DMG:                         Cluster = 0x201,
          [1652265332.312138][7099:7099] CHIP:DMG:                         Attribute = 0x0000_001C,
          [1652265332.312187][7099:7099] CHIP:DMG:                 }
          [1652265332.312238][7099:7099] CHIP:DMG:
          [1652265332.312290][7099:7099] CHIP:DMG:         ],
          [1652265332.312341][7099:7099] CHIP:DMG:
          [1652265332.312388][7099:7099] CHIP:DMG:         isFabricFiltered = true,
          [1652265332.312435][7099:7099] CHIP:DMG:         InteractionModelRevision = 1
          [1652265332.312477][7099:7099] CHIP:DMG: },
      disabled: true

    - label:
          "DUT reads all supported optional attributes from TH one at a time in
          a manufacturer specific order"
      verification: |
          Most of optional attribute is not implemented in SDK


          https://github.com/project-chip/connectedhomeip/issues/15626
      disabled: true

    - label:
          "DUT writes a suitable value to all supported mandatory attributes on
          the TH one at a time in a manufacturer specific order"
      verification: |
          Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client)


          ./chip-tool thermostat write system-mode 2 1 1

          Verify the WriteRequestMessage on TH(all-clusters-app)

          [1652265582.913625][7099:7099] CHIP:IM: Received Write request
          [1652265582.913672][7099:7099] CHIP:DMG: IM WH moving to [Initialized]
          [1652265582.913768][7099:7099] CHIP:DMG: WriteRequestMessage =
          [1652265582.913820][7099:7099] CHIP:DMG: {
          [1652265582.913954][7099:7099] CHIP:DMG:         suppressResponse = false,
          [1652265582.914074][7099:7099] CHIP:DMG:         timedRequest = false,
          [1652265582.914123][7099:7099] CHIP:DMG:         AttributeDataIBs =
          [1652265582.914212][7099:7099] CHIP:DMG:         [
          [1652265582.914280][7099:7099] CHIP:DMG:                 AttributeDataIB =
          [1652265582.914342][7099:7099] CHIP:DMG:                 {
          [1652265582.914404][7099:7099] CHIP:DMG:                         AttributePathIB =
          [1652265582.914482][7099:7099] CHIP:DMG:                         {
          [1652265582.914551][7099:7099] CHIP:DMG:                                 Endpoint = 0x1,
          [1652265582.914624][7099:7099] CHIP:DMG:                                 Cluster = 0x201,
          [1652265582.914700][7099:7099] CHIP:DMG:                                 Attribute = 0x0000_001C,
          [1652265582.914772][7099:7099] CHIP:DMG:                         }
          [1652265582.914847][7099:7099] CHIP:DMG:
          [1652265582.914915][7099:7099] CHIP:DMG:                                 Data = 2,
          [1652265582.914980][7099:7099] CHIP:DMG:                 },
          [1652265582.915093][7099:7099] CHIP:DMG:
          [1652265582.915278][7099:7099] CHIP:DMG:         ],
          [1652265582.915348][7099:7099] CHIP:DMG:
          [1652265582.915400][7099:7099] CHIP:DMG:         moreChunkedMessages = false,
          [1652265582.915460][7099:7099] CHIP:DMG:         InteractionModelRevision = 1
          [1652265582.915509][7099:7099] CHIP:DMG: },



           ./chip-tool thermostat write  control-sequence-of-operation 1 1 1
          Verify the WriteRequestMessage on TH(all-clusters-app)

          [1652265678.578137][7099:7099] CHIP:IM: Received Write request
          [1652265678.578192][7099:7099] CHIP:DMG: IM WH moving to [Initialized]
          [1652265678.578284][7099:7099] CHIP:DMG: WriteRequestMessage =
          [1652265678.578343][7099:7099] CHIP:DMG: {
          [1652265678.578378][7099:7099] CHIP:DMG:         suppressResponse = false,
          [1652265678.578419][7099:7099] CHIP:DMG:         timedRequest = false,
          [1652265678.578466][7099:7099] CHIP:DMG:         AttributeDataIBs =
          [1652265678.578521][7099:7099] CHIP:DMG:         [
          [1652265678.578587][7099:7099] CHIP:DMG:                 AttributeDataIB =
          [1652265678.578672][7099:7099] CHIP:DMG:                 {
          [1652265678.578721][7099:7099] CHIP:DMG:                         AttributePathIB =
          [1652265678.578802][7099:7099] CHIP:DMG:                         {
          [1652265678.578860][7099:7099] CHIP:DMG:                                 Endpoint = 0x1,
          [1652265678.578938][7099:7099] CHIP:DMG:                                 Cluster = 0x201,
          [1652265678.579071][7099:7099] CHIP:DMG:                                 Attribute = 0x0000_001B,
          [1652265678.579134][7099:7099] CHIP:DMG:                         }
          [1652265678.579212][7099:7099] CHIP:DMG:
          [1652265678.579288][7099:7099] CHIP:DMG:                                 Data = 1,
          [1652265678.579347][7099:7099] CHIP:DMG:                 },
          [1652265678.579402][7099:7099] CHIP:DMG:
          [1652265678.579430][7099:7099] CHIP:DMG:         ],
          [1652265678.579461][7099:7099] CHIP:DMG:
          [1652265678.579567][7099:7099] CHIP:DMG:         moreChunkedMessages = false,
          [1652265678.579598][7099:7099] CHIP:DMG:         InteractionModelRevision = 1
          [1652265678.579624][7099:7099] CHIP:DMG: },
      disabled: true

    - label:
          "DUT writes a suitable value to all supported optional attributes on
          the TH one at a time in a manufacturer specific order"
      verification: |
          Verify by sending the optional attribute which is mentioned in spec

          Most of optional attribute is not implemented in SDK
      disabled: true

    - label:
          "Configure TH such that it implements mandatory and none of the
          optional attributes of the server-side of the cluster, and that it
          also reflects this in global attributes such as FeatureMap and
          AttributeList. Commission DUT to TH again"
      verification: |
          Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client)
          To verify all below steps use all-clusters-minimal-app

          ./chip-tool thermostat read attribute-list 1 1
          verify on TH(all-cluster-minimal-app) receives the right Read Request Message for the data sent in the below commands
          1657179340.726622][2249:2249] CHIP:IM: Received Read request
          [1657179340.726762][2249:2249] CHIP:DMG: ReadRequestMessage =
          [1657179340.726817][2249:2249] CHIP:DMG: {
          [1657179340.726863][2249:2249] CHIP:DMG:         AttributePathIBs =
          [1657179340.726918][2249:2249] CHIP:DMG:         [
          [1657179340.726968][2249:2249] CHIP:DMG:                 AttributePathIB =
          [1657179340.727024][2249:2249] CHIP:DMG:                 {
          [1657179340.727083][2249:2249] CHIP:DMG:                         Endpoint = 0x1,
          [1657179340.727252][2249:2249] CHIP:DMG:                         Cluster = 0x201,
          [1657179340.727330][2249:2249] CHIP:DMG:                         Attribute = 0x0000_FFFB,
          [1657179340.727398][2249:2249] CHIP:DMG:                 }
          [1657179340.727461][2249:2249] CHIP:DMG:
          [1657179340.727520][2249:2249] CHIP:DMG:         ],
          [1657179340.727578][2249:2249] CHIP:DMG:
          [1657179340.727633][2249:2249] CHIP:DMG:         isFabricFiltered = true,
          [1657179340.727685][2249:2249] CHIP:DMG:         InteractionModelRevision = 1
          [1657179340.727734][2249:2249] CHIP:DMG: },
          [1657179340.727881][2249:2249] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657179340.728028][2249:2249] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0



          ./chip-tool thermostat read  local-temperature  1 1
          verify on TH(all-cluster-minimal-app) receives the right Read Request Message for the data sent in the below commands
          [1652264555.303895][7099:7099] CHIP:IM: Received Read request
          [1652264555.303980][7099:7099] CHIP:DMG: ReadRequestMessage =
          [1652264555.304045][7099:7099] CHIP:DMG: {
          [1652264555.304085][7099:7099] CHIP:DMG:         AttributePathIBs =
          [1652264555.304131][7099:7099] CHIP:DMG:         [
          [1652264555.304200][7099:7099] CHIP:DMG:                 AttributePathIB =
          [1652264555.304259][7099:7099] CHIP:DMG:                 {
          [1652264555.304334][7099:7099] CHIP:DMG:                         Endpoint = 0x1,
          [1652264555.304431][7099:7099] CHIP:DMG:                         Cluster = 0x201,
          [1652264555.304499][7099:7099] CHIP:DMG:                         Attribute = 0x0000_0000,
          [1652264555.304566][7099:7099] CHIP:DMG:                 }
          [1652264555.304618][7099:7099] CHIP:DMG:
          [1652264555.304680][7099:7099] CHIP:DMG:         ],
          [1652264555.304733][7099:7099] CHIP:DMG:
          [1652264555.304798][7099:7099] CHIP:DMG:         isFabricFiltered = true,
          [1652264555.304846][7099:7099] CHIP:DMG:         InteractionModelRevision = 1
          [1652264555.304906][7099:7099] CHIP:DMG: },


          ./chip-tool thermostat read  control-sequence-of-operation 1 1

          Verify the ReadRequestMessage on TH(all-clusters-app)
          [1652265275.022068][7099:7099] CHIP:DMG: ReadRequestMessage =
          [1652265275.022110][7099:7099] CHIP:DMG: {
          [1652265275.022145][7099:7099] CHIP:DMG:         AttributePathIBs =
          [1652265275.022187][7099:7099] CHIP:DMG:         [
          [1652265275.022226][7099:7099] CHIP:DMG:                 AttributePathIB =
          [1652265275.022277][7099:7099] CHIP:DMG:                 {
          [1652265275.022325][7099:7099] CHIP:DMG:                         Endpoint = 0x1,
          [1652265275.022390][7099:7099] CHIP:DMG:                         Cluster = 0x201,
          [1652265275.022443][7099:7099] CHIP:DMG:                         Attribute = 0x0000_001B,
          [1652265275.022490][7099:7099] CHIP:DMG:                 }
          [1652265275.022536][7099:7099] CHIP:DMG:
          [1652265275.022583][7099:7099] CHIP:DMG:         ],
          [1652265275.022632][7099:7099] CHIP:DMG:
          [1652265275.022675][7099:7099] CHIP:DMG:         isFabricFiltered = true,
          [1652265275.022717][7099:7099] CHIP:DMG:         InteractionModelRevision = 1
          [1652265275.022756][7099:7099] CHIP:DMG: },

          ./chip-tool thermostat read   system-mode    1 1

          Verify the ReadRequestMessage on TH(all-clusters-app)
          [1652265332.311723][7099:7099] CHIP:DMG: ReadRequestMessage =
          [1652265332.311772][7099:7099] CHIP:DMG: {
          [1652265332.311812][7099:7099] CHIP:DMG:         AttributePathIBs =
          [1652265332.311866][7099:7099] CHIP:DMG:         [
          [1652265332.311915][7099:7099] CHIP:DMG:                 AttributePathIB =
          [1652265332.311971][7099:7099] CHIP:DMG:                 {
          [1652265332.312023][7099:7099] CHIP:DMG:                         Endpoint = 0x1,
          [1652265332.312079][7099:7099] CHIP:DMG:                         Cluster = 0x201,
          [1652265332.312138][7099:7099] CHIP:DMG:                         Attribute = 0x0000_001C,
          [1652265332.312187][7099:7099] CHIP:DMG:                 }
          [1652265332.312238][7099:7099] CHIP:DMG:
          [1652265332.312290][7099:7099] CHIP:DMG:         ],
          [1652265332.312341][7099:7099] CHIP:DMG:
          [1652265332.312388][7099:7099] CHIP:DMG:         isFabricFiltered = true,
          [1652265332.312435][7099:7099] CHIP:DMG:         InteractionModelRevision = 1
          [1652265332.312477][7099:7099] CHIP:DMG: },"
      disabled: true

    - label:
          "DUT reads all supported optional attributes from TH one at a time in
          a manufacturer specific order"
      verification: |
          Verify by sending the optional attribute which is mentioned in spec

          Most of optional attribute is not implemented in SDK
      disabled: true

    - label:
          "DUT writes a suitable value to all supported optional attributes on
          the TH one at a time in a manufacturer specific order"
      verification: |
          Verify by sending the optional attribute which is mentioned in spec

          Most of optional attribute is not implemented in SDK
      disabled: true
