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

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

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

tests:
    - label:
          "DUT reads all supported mandatory attributes from TH one at a time in
          a manufacturer specific order"
      verification: |
          ./chip-tool thermostatuserinterfaceconfiguration read temperature-display-mode 1 1
          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command
          [1658142864.198892][13946:13946] CHIP:IM: Received Read request
          [1658142864.198979][13946:13946] CHIP:DMG: ReadRequestMessage =
          [1658142864.199008][13946:13946] CHIP:DMG: {
          [1658142864.199032][13946:13946] CHIP:DMG:         AttributePathIBs =
          [1658142864.199059][13946:13946] CHIP:DMG:         [
          [1658142864.199085][13946:13946] CHIP:DMG:                 AttributePathIB =
          [1658142864.199114][13946:13946] CHIP:DMG:                 {
          [1658142864.199144][13946:13946] CHIP:DMG:                         Endpoint = 0x1,
          [1658142864.199181][13946:13946] CHIP:DMG:                         Cluster = 0x204,
          [1658142864.199221][13946:13946] CHIP:DMG:                         Attribute = 0x0000_0000,
          [1658142864.199253][13946:13946] CHIP:DMG:                 }
          [1658142864.199284][13946:13946] CHIP:DMG:
          [1658142864.199311][13946:13946] CHIP:DMG:         ],
          [1658142864.199341][13946:13946] CHIP:DMG:
          [1658142864.199369][13946:13946] CHIP:DMG:         isFabricFiltered = true,
          [1658142864.199396][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658142864.199421][13946:13946] CHIP:DMG: },
          [1658142864.199502][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports]

          On DUT as a client side, verify that TH all-clusters-app sent  temperature display mode attribute value
          [1658142864.203659][8868:8873] CHIP:DMG: }
          [1658142864.203865][8868:8873] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 682086754
          [1658142864.203966][8868:8873] CHIP:TOO:   temperature display mode: 0
          [1658142864.204082][8868:8873] CHIP:EM: Sending Standalone Ack for MessageCounter:26677540 on exchange 12305i





          ./chip-tool thermostatuserinterfaceconfiguration read keypad-lockout 1 1
          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command
          [1658142905.390042][13946:13946] CHIP:IM: Received Read request
          [1658142905.390148][13946:13946] CHIP:DMG: ReadRequestMessage =
          [1658142905.390177][13946:13946] CHIP:DMG: {
          [1658142905.390199][13946:13946] CHIP:DMG:         AttributePathIBs =
          [1658142905.390225][13946:13946] CHIP:DMG:         [
          [1658142905.390249][13946:13946] CHIP:DMG:                 AttributePathIB =
          [1658142905.390276][13946:13946] CHIP:DMG:                 {
          [1658142905.390304][13946:13946] CHIP:DMG:                         Endpoint = 0x1,
          [1658142905.390335][13946:13946] CHIP:DMG:                         Cluster = 0x204,
          [1658142905.390370][13946:13946] CHIP:DMG:                         Attribute = 0x0000_0001,
          [1658142905.390400][13946:13946] CHIP:DMG:                 }
          [1658142905.390430][13946:13946] CHIP:DMG:
          [1658142905.390455][13946:13946] CHIP:DMG:         ],
          [1658142905.390483][13946:13946] CHIP:DMG:
          [1658142905.390509][13946:13946] CHIP:DMG:         isFabricFiltered = true,
          [1658142905.390534][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658142905.390557][13946:13946] CHIP:DMG: },
          [1658142905.390634][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1658142905.390718][13946:13946] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0

          On DUT as a client side, verify that TH all-clusters-app sent  keypad lockout attribute value
          [1658142905.393178][8876:8881] CHIP:DMG: }
          [1658142905.393364][8876:8881] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0001 DataVersion: 682086754
          [1658142905.393454][8876:8881] CHIP:TOO:   keypad lockout: 0
          [1658142905.393558][8876:8881] CHIP:EM: Sending Standalone Ack for MessageCounter:118574768 on exchange 20562i
      disabled: true

    - label:
          "DUT reads all supported optional attributes from TH one at a time in
          a manufacturer specific order"
      verification: |
          ./chip-tool thermostatuserinterfaceconfiguration read  schedule-programming-visibility  1 1
          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command
          [1658143293.502829][13946:13946] CHIP:EM: Handling via exchange: 655r, Delegate: 0xaaaad3403ed0
          [1658143293.502867][13946:13946] CHIP:IM: Received Read request
          [1658143293.502943][13946:13946] CHIP:DMG: ReadRequestMessage =
          [1658143293.502969][13946:13946] CHIP:DMG: {
          [1658143293.503018][13946:13946] CHIP:DMG:         AttributePathIBs =
          [1658143293.503046][13946:13946] CHIP:DMG:         [
          [1658143293.503069][13946:13946] CHIP:DMG:                 AttributePathIB =
          [1658143293.503097][13946:13946] CHIP:DMG:                 {
          [1658143293.503125][13946:13946] CHIP:DMG:                         Endpoint = 0x1,
          [1658143293.503159][13946:13946] CHIP:DMG:                         Cluster = 0x204,
          [1658143293.503190][13946:13946] CHIP:DMG:                         Attribute = 0x0000_0002,
          [1658143293.503218][13946:13946] CHIP:DMG:                 }
          [1658143293.503248][13946:13946] CHIP:DMG:
          [1658143293.503273][13946:13946] CHIP:DMG:         ],
          [1658143293.503300][13946:13946] CHIP:DMG:
          [1658143293.503326][13946:13946] CHIP:DMG:         isFabricFiltered = true,
          [1658143293.503351][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658143293.503374][13946:13946] CHIP:DMG: },
          [1658143293.503450][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports]

          On DUT as a client side, verify that TH all-clusters-app sent  schedule programming visibility attribute value
          [1658143293.447125][8901:8906] CHIP:DMG: }
          [1658143293.447279][8901:8906] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0002 DataVersion: 682086754
          [1658143293.447352][8901:8906] CHIP:TOO:   schedule programming visibility: 0
          [1658143293.447431][8901:8906] CHIP:EM: Sending Standalone Ack for MessageCounter:142018492 on exchange 655i
      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: |
          ./chip-tool thermostatuserinterfaceconfiguration write keypad-lockout 1 1 1
          verify On TH(Reference app) receives the right write Request Message for the data sent in the above command
          [1658143515.699171][13946:13946] CHIP:DMG: WriteRequestMessage =
          [1658143515.699197][13946:13946] CHIP:DMG: {
          [1658143515.699221][13946:13946] CHIP:DMG:         suppressResponse = false,
          [1658143515.699248][13946:13946] CHIP:DMG:         timedRequest = false,
          [1658143515.699272][13946:13946] CHIP:DMG:         AttributeDataIBs =
          [1658143515.699302][13946:13946] CHIP:DMG:         [
          [1658143515.699326][13946:13946] CHIP:DMG:                 AttributeDataIB =
          [1658143515.699362][13946:13946] CHIP:DMG:                 {
          [1658143515.699388][13946:13946] CHIP:DMG:                         AttributePathIB =
          [1658143515.699419][13946:13946] CHIP:DMG:                         {
          [1658143515.699451][13946:13946] CHIP:DMG:                                 Endpoint = 0x1,
          [1658143515.699484][13946:13946] CHIP:DMG:                                 Cluster = 0x204,
          [1658143515.699514][13946:13946] CHIP:DMG:                                 Attribute = 0x0000_0001,
          [1658143515.699544][13946:13946] CHIP:DMG:                         }
          [1658143515.699577][13946:13946] CHIP:DMG:
          [1658143515.699609][13946:13946] CHIP:DMG:                         Data = 1,
          [1658143515.699638][13946:13946] CHIP:DMG:                 },
          [1658143515.699667][13946:13946] CHIP:DMG:
          [1658143515.699690][13946:13946] CHIP:DMG:         ],
          [1658143515.699719][13946:13946] CHIP:DMG:
          [1658143515.699743][13946:13946] CHIP:DMG:         moreChunkedMessages = false,
          [1658143515.699768][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658143515.699792][13946:13946] CHIP:DMG: },
          [1658143515.699876][13946:13946] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0204 e=1 p=m

          On DUT as a client side, verify that TH all-clusters-app sent  success response
          [1658143515.619630][8919:8924] CHIP:DMG:                         StatusIB =
          [1658143515.619669][8919:8924] CHIP:DMG:                         {
          [1658143515.619707][8919:8924] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1658143515.619747][8919:8924] CHIP:DMG:                         },




           ./chip-tool thermostatuserinterfaceconfiguration write keypad-lockout 1  1 1
          verify On TH(Reference app) receives the right write Request Message for the data sent in the above command
          [1658143708.436060][13946:13946] CHIP:DMG: WriteRequestMessage =
          [1658143708.436090][13946:13946] CHIP:DMG: {
          [1658143708.436115][13946:13946] CHIP:DMG:         suppressResponse = false,
          [1658143708.436148][13946:13946] CHIP:DMG:         timedRequest = false,
          [1658143708.436176][13946:13946] CHIP:DMG:         AttributeDataIBs =
          [1658143708.436210][13946:13946] CHIP:DMG:         [
          [1658143708.436238][13946:13946] CHIP:DMG:                 AttributeDataIB =
          [1658143708.436269][13946:13946] CHIP:DMG:                 {
          [1658143708.436295][13946:13946] CHIP:DMG:                         AttributePathIB =
          [1658143708.436330][13946:13946] CHIP:DMG:                         {
          [1658143708.436368][13946:13946] CHIP:DMG:                                 Endpoint = 0x1,
          [1658143708.436406][13946:13946] CHIP:DMG:                                 Cluster = 0x204,
          [1658143708.436444][13946:13946] CHIP:DMG:                                 Attribute = 0x0000_0001,
          [1658143708.436483][13946:13946] CHIP:DMG:                         }
          [1658143708.436520][13946:13946] CHIP:DMG:
          [1658143708.436561][13946:13946] CHIP:DMG:                         Data = 1,
          [1658143708.436592][13946:13946] CHIP:DMG:                 },
          [1658143708.436627][13946:13946] CHIP:DMG:
          [1658143708.436654][13946:13946] CHIP:DMG:         ],
          [1658143708.436686][13946:13946] CHIP:DMG:
          [1658143708.436714][13946:13946] CHIP:DMG:         moreChunkedMessages = false,
          [1658143708.436743][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658143708.436770][13946:13946] CHIP:DMG: },
          [1658143708.436862][13946:13946] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0204 e=1 p=m
          [1658143708.436903][13946:13946] CHIP:DMG: AccessControl: allowed

          On DUT as a client side, verify that TH all-clusters-app sent  success response
          [1658143708.341102][8933:8938] CHIP:DMG:                         StatusIB =
          [1658143708.341156][8933:8938] CHIP:DMG:                         {
          [1658143708.341211][8933:8938] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1658143708.341257][8933:8938] 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: |
          ./chip-tool thermostatuserinterfaceconfiguration write schedule-programming-visibility 1 1 1
          verify On TH(Reference app) receives the right write Request Message for the data sent in the above command
          [1658143828.619738][13946:13946] CHIP:DMG: WriteRequestMessage =
          [1658143828.619764][13946:13946] CHIP:DMG: {
          [1658143828.619787][13946:13946] CHIP:DMG:         suppressResponse = false,
          [1658143828.619814][13946:13946] CHIP:DMG:         timedRequest = false,
          [1658143828.619838][13946:13946] CHIP:DMG:         AttributeDataIBs =
          [1658143828.619867][13946:13946] CHIP:DMG:         [
          [1658143828.619891][13946:13946] CHIP:DMG:                 AttributeDataIB =
          [1658143828.619919][13946:13946] CHIP:DMG:                 {
          [1658143828.619944][13946:13946] CHIP:DMG:                         AttributePathIB =
          [1658143828.619980][13946:13946] CHIP:DMG:                         {
          [1658143828.620011][13946:13946] CHIP:DMG:                                 Endpoint = 0x1,
          [1658143828.620045][13946:13946] CHIP:DMG:                                 Cluster = 0x204,
          [1658143828.620078][13946:13946] CHIP:DMG:                                 Attribute = 0x0000_0002,
          [1658143828.620108][13946:13946] CHIP:DMG:                         }
          [1658143828.620140][13946:13946] CHIP:DMG:
          [1658143828.620172][13946:13946] CHIP:DMG:                         Data = 1,
          [1658143828.620200][13946:13946] CHIP:DMG:                 },
          [1658143828.620228][13946:13946] CHIP:DMG:
          [1658143828.620252][13946:13946] CHIP:DMG:         ],
          [1658143828.620280][13946:13946] CHIP:DMG:
          [1658143828.620305][13946:13946] CHIP:DMG:         moreChunkedMessages = false,
          [1658143828.620330][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658143828.620353][13946:13946] CHIP:DMG: },
          [1658143828.620434][13946:13946] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0204 e=1 p=m


          On DUT as a client side, verify that TH all-clusters-app sent  success response
          [1658143828.519585][8944:8949] CHIP:DMG:
          [1658143828.519632][8944:8949] CHIP:DMG:                         StatusIB =
          [1658143828.519683][8944:8949] CHIP:DMG:                         {
          [1658143828.519734][8944:8949] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1658143828.519784][8944:8949] CHIP:DMG:                         },
          [1658143828.519834][8944:8949] CHIP:DMG:
      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: |
          ./chip-tool thermostatuserinterfaceconfiguration read temperature-display-mode 1 1
          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command
          [1658142864.198892][13946:13946] CHIP:IM: Received Read request
          [1658142864.198979][13946:13946] CHIP:DMG: ReadRequestMessage =
          [1658142864.199008][13946:13946] CHIP:DMG: {
          [1658142864.199032][13946:13946] CHIP:DMG:         AttributePathIBs =
          [1658142864.199059][13946:13946] CHIP:DMG:         [
          [1658142864.199085][13946:13946] CHIP:DMG:                 AttributePathIB =
          [1658142864.199114][13946:13946] CHIP:DMG:                 {
          [1658142864.199144][13946:13946] CHIP:DMG:                         Endpoint = 0x1,
          [1658142864.199181][13946:13946] CHIP:DMG:                         Cluster = 0x204,
          [1658142864.199221][13946:13946] CHIP:DMG:                         Attribute = 0x0000_0000,
          [1658142864.199253][13946:13946] CHIP:DMG:                 }
          [1658142864.199284][13946:13946] CHIP:DMG:
          [1658142864.199311][13946:13946] CHIP:DMG:         ],
          [1658142864.199341][13946:13946] CHIP:DMG:
          [1658142864.199369][13946:13946] CHIP:DMG:         isFabricFiltered = true,
          [1658142864.199396][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658142864.199421][13946:13946] CHIP:DMG: },
          [1658142864.199502][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports]

          On DUT as a client side, verify that TH all-clusters-app sent  temperature display mode attribute value
          [1658142864.203659][8868:8873] CHIP:DMG: }
          [1658142864.203865][8868:8873] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 682086754
          [1658142864.203966][8868:8873] CHIP:TOO:   temperature display mode: 0
          [1658142864.204082][8868:8873] CHIP:EM: Sending Standalone Ack for MessageCounter:26677540 on exchange 12305i





          ./chip-tool thermostatuserinterfaceconfiguration read keypad-lockout 1 1
          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command
          [1658142905.390042][13946:13946] CHIP:IM: Received Read request
          [1658142905.390148][13946:13946] CHIP:DMG: ReadRequestMessage =
          [1658142905.390177][13946:13946] CHIP:DMG: {
          [1658142905.390199][13946:13946] CHIP:DMG:         AttributePathIBs =
          [1658142905.390225][13946:13946] CHIP:DMG:         [
          [1658142905.390249][13946:13946] CHIP:DMG:                 AttributePathIB =
          [1658142905.390276][13946:13946] CHIP:DMG:                 {
          [1658142905.390304][13946:13946] CHIP:DMG:                         Endpoint = 0x1,
          [1658142905.390335][13946:13946] CHIP:DMG:                         Cluster = 0x204,
          [1658142905.390370][13946:13946] CHIP:DMG:                         Attribute = 0x0000_0001,
          [1658142905.390400][13946:13946] CHIP:DMG:                 }
          [1658142905.390430][13946:13946] CHIP:DMG:
          [1658142905.390455][13946:13946] CHIP:DMG:         ],
          [1658142905.390483][13946:13946] CHIP:DMG:
          [1658142905.390509][13946:13946] CHIP:DMG:         isFabricFiltered = true,
          [1658142905.390534][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658142905.390557][13946:13946] CHIP:DMG: },
          [1658142905.390634][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1658142905.390718][13946:13946] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0

          On DUT as a client side, verify that TH all-clusters-app sent  keypad lockout attribute value
          [1658142905.393178][8876:8881] CHIP:DMG: }
          [1658142905.393364][8876:8881] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0001 DataVersion: 682086754
          [1658142905.393454][8876:8881] CHIP:TOO:   keypad lockout: 0
          [1658142905.393558][8876:8881] CHIP:EM: Sending Standalone Ack for MessageCounter:118574768 on exchange 20562i
      disabled: true

    - label:
          "DUT reads all supported optional attributes from TH one at a time in
          a manufacturer specific order"
      verification: |
          ./chip-tool thermostatuserinterfaceconfiguration read  schedule-programming-visibility  1 1

          On DUT as a client side, verify that TH all-clusters-app sent  UNSUPPORTED_ATTRIBUTE response
           General error: 0x86 (UNSUPPORTED_ATTRIBUTE)
      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: |
          ./chip-tool thermostatuserinterfaceconfiguration write schedule-programming-visibility 1 1 1
          On DUT as a client side, verify that TH all-clusters-app sent  UNSUPPORTED_ATTRIBUTE response
           General error: 0x86 (UNSUPPORTED_ATTRIBUTE)
      disabled: true
