# 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: "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 thermostatuserinterfaceconfiguration read temperature-display-mode 1 1
          Verify DUT receives  temperature-display-mode attribute response on the TH(all-clusters-app) Log:
          [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]


          ./chip-tool thermostatuserinterfaceconfiguration read keypad-lockout 1 1
          Verify DUT receives keypad-lockout attribute response on the TH(all-clusters-app) Log:
          [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
      disabled: true

    - label:
          "DUT reads all supported optional 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 thermostatuserinterfaceconfiguration read  schedule-programming-visibility  1 1
          Verify DUT receives  schedule-programming-visibility  attribute response on the TH(all-clusters-app) Log:
          [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]
      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 thermostatuserinterfaceconfiguration write temperature-display-mode  1 1 1
          Verify DUT receives  temperature-display-mode   attribute  write response on the TH(all-clusters-app) Log:
          [1661765030.276401][103574:103574] CHIP:DMG: IM WH moving to [Initialized]
          [1661765030.276428][103574:103574] CHIP:DMG: WriteRequestMessage =
          [1661765030.276436][103574:103574] CHIP:DMG: {
          [1661765030.276443][103574:103574] CHIP:DMG:         suppressResponse = false,
          [1661765030.276450][103574:103574] CHIP:DMG:         timedRequest = false,
          [1661765030.276457][103574:103574] CHIP:DMG:         AttributeDataIBs =
          [1661765030.276469][103574:103574] CHIP:DMG:         [
          [1661765030.276476][103574:103574] CHIP:DMG:                 AttributeDataIB =
          [1661765030.276484][103574:103574] CHIP:DMG:                 {
          [1661765030.276492][103574:103574] CHIP:DMG:                         AttributePathIB =
          [1661765030.276500][103574:103574] CHIP:DMG:                         {
          [1661765030.276509][103574:103574] CHIP:DMG:                                 Endpoint = 0x1,
          [1661765030.276517][103574:103574] CHIP:DMG:                                 Cluster = 0x204,
          [1661765030.276525][103574:103574] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1661765030.276532][103574:103574] CHIP:DMG:                         }
          [1661765030.276542][103574:103574] CHIP:DMG:
          [1661765030.276550][103574:103574] CHIP:DMG:                         Data = 1,
          [1661765030.276557][103574:103574] CHIP:DMG:                 },
          [1661765030.276567][103574:103574] CHIP:DMG:
          [1661765030.276573][103574:103574] CHIP:DMG:         ],
          [1661765030.276582][103574:103574] CHIP:DMG:
          [1661765030.276589][103574:103574] CHIP:DMG:         moreChunkedMessages = false,
          [1661765030.276597][103574:103574] CHIP:DMG:         InteractionModelRevision = 1
          [1661765030.276603][103574:103574] CHIP:DMG: },
          [1661765030.276642][103574:103574] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0204 e=1 p=o
          [1661765030.276657][103574:103574] CHIP:DMG: AccessControl: allowed
          [1661765030.276675][103574:103574] CHIP:DMG: Endpoint 1, Cluster 0x0000_0204 update version to 929de252



           ./chip-tool thermostatuserinterfaceconfiguration write keypad-lockout 1  1 1
          Verify DUT receives keypad-lockout  attribute  write response on the TH(all-clusters-app) Log:
          [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
      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: |
          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 thermostatuserinterfaceconfiguration write schedule-programming-visibility 1 1 1
          Verify DUT receives schedule-programming-visibility   attribute  write response on the TH(all-clusters-app) Log:
          [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
      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)

          ./chip-tool thermostatuserinterfaceconfiguration read temperature-display-mode 1 1
          Verify DUT receives  temperature-display-mode attribute response on the TH(all-clusters-minimal-app) Log:
          [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]


          ./chip-tool thermostatuserinterfaceconfiguration read keypad-lockout 1 1
          Verify DUT receives  keypad-lockout attribute response on the TH(all-clusters-minimal-app) Log:
          [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
      disabled: true

    - label:
          "DUT reads all supported optional 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 thermostatuserinterfaceconfiguration read  schedule-programming-visibility  1 1

          Verify DUT receives   schedule-programming-visibility attribute response on the TH(all-clusters-minimal-app) Log:
           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: |
          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 thermostatuserinterfaceconfiguration write schedule-programming-visibility 1 1 1

          Verify DUT receives   schedule-programming-visibility attribute write response on the TH(all-clusters-minimal-app) Log:
           General error: 0x86 (UNSUPPORTED_ATTRIBUTE)
      disabled: true
