# 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: 71.3.1. [TC-ILL-3.1] Attributes with Client as DUT

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

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

tests:
    - label: "Note"
      verification: |
          Chip-tool command used below are an example to verify the  DUT as client test cases. 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)

          sudo ./chip-tool illuminancemeasurement read min-measured-value 1 1
          Verify DUT receives  min-measured-value attribute response on the TH(all-clusters-app) Log:

          [1658142106.966504][13946:13946] CHIP:IM: Received Read request
          [1658142106.966671][13946:13946] CHIP:DMG: ReadRequestMessage =
          [1658142106.966738][13946:13946] CHIP:DMG: {
          [1658142106.966821][13946:13946] CHIP:DMG:         AttributePathIBs =
          [1658142106.966887][13946:13946] CHIP:DMG:         [
          [1658142106.966947][13946:13946] CHIP:DMG:                 AttributePathIB =
          [1658142106.967035][13946:13946] CHIP:DMG:                 {
          [1658142106.967105][13946:13946] CHIP:DMG:                         Endpoint = 0x1,
          [1658142106.967209][13946:13946] CHIP:DMG:                         Cluster = 0x400,
          [1658142106.967254][13946:13946] CHIP:DMG:                         Attribute = 0x0000_0001,
          [1658142106.967281][13946:13946] CHIP:DMG:                 }
          [1658142106.967320][13946:13946] CHIP:DMG:
          [1658142106.967346][13946:13946] CHIP:DMG:         ],
          [1658142106.967384][13946:13946] CHIP:DMG:
          [1658142106.967413][13946:13946] CHIP:DMG:         isFabricFiltered = true,
          [1658142106.967447][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658142106.967471][13946:13946] CHIP:DMG: },
          [1658142106.967568][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1658142106.967676][13946:13946] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0

          sudo ./chip-tool illuminancemeasurement read max-measured-value 1 1
          Verify DUT receives  max-measured-value attribute response on the TH(all-clusters-app) Log:
          [1658142397.298817][13946:13946] CHIP:IM: Received Read request
          [1658142397.298895][13946:13946] CHIP:DMG: ReadRequestMessage =
          [1658142397.298932][13946:13946] CHIP:DMG: {
          [1658142397.298960][13946:13946] CHIP:DMG:         AttributePathIBs =
          [1658142397.298986][13946:13946] CHIP:DMG:         [
          [1658142397.299020][13946:13946] CHIP:DMG:                 AttributePathIB =
          [1658142397.299047][13946:13946] CHIP:DMG:                 {
          [1658142397.299085][13946:13946] CHIP:DMG:                         Endpoint = 0x1,
          [1658142397.299125][13946:13946] CHIP:DMG:                         Cluster = 0x400,
          [1658142397.299158][13946:13946] CHIP:DMG:                         Attribute = 0x0000_0002,
          [1658142397.299195][13946:13946] CHIP:DMG:                 }
          [1658142397.299223][13946:13946] CHIP:DMG:
          [1658142397.299258][13946:13946] CHIP:DMG:         ],
          [1658142397.299286][13946:13946] CHIP:DMG:
          [1658142397.299321][13946:13946] CHIP:DMG:         isFabricFiltered = true,
          [1658142397.299346][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658142397.299378][13946:13946] CHIP:DMG: },
          [1658142397.299462][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1658142397.299556][13946:13946] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0


          sudo ./chip-tool illuminancemeasurement read measured-value 1 1
          Verify DUT receives  measured-value attribute response on the TH(all-clusters-app) Log:
          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command
          [1658142471.266188][13946:13946] CHIP:IM: Received Read request
          [1658142471.266273][13946:13946] CHIP:DMG: ReadRequestMessage =
          [1658142471.266303][13946:13946] CHIP:DMG: {
          [1658142471.266329][13946:13946] CHIP:DMG:         AttributePathIBs =
          [1658142471.266358][13946:13946] CHIP:DMG:         [
          [1658142471.266386][13946:13946] CHIP:DMG:                 AttributePathIB =
          [1658142471.266417][13946:13946] CHIP:DMG:                 {
          [1658142471.266449][13946:13946] CHIP:DMG:                         Endpoint = 0x1,
          [1658142471.266486][13946:13946] CHIP:DMG:                         Cluster = 0x400,
          [1658142471.266521][13946:13946] CHIP:DMG:                         Attribute = 0x0000_0000,
          [1658142471.266558][13946:13946] CHIP:DMG:                 }
          [1658142471.266593][13946:13946] CHIP:DMG:
          [1658142471.266624][13946:13946] CHIP:DMG:         ],
          [1658142471.266656][13946:13946] CHIP:DMG:
          [1658142471.266686][13946:13946] CHIP:DMG:         isFabricFiltered = true,
          [1658142471.266714][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658142471.266740][13946:13946] CHIP:DMG: },
          [1658142471.266826][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1658142471.266939][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 illuminancemeasurement read tolerance 1 1
          Verify DUT receives tolerance attribute response on the TH(all-clusters-app) Log:
          [1658142553.001113][13946:13946] CHIP:IM: Received Read request
          [1658142553.001197][13946:13946] CHIP:DMG: ReadRequestMessage =
          [1658142553.001258][13946:13946] CHIP:DMG: {
          [1658142553.001284][13946:13946] CHIP:DMG:         AttributePathIBs =
          [1658142553.001314][13946:13946] CHIP:DMG:         [
          [1658142553.001342][13946:13946] CHIP:DMG:                 AttributePathIB =
          [1658142553.001373][13946:13946] CHIP:DMG:                 {
          [1658142553.001424][13946:13946] CHIP:DMG:                         Endpoint = 0x1,
          [1658142553.001465][13946:13946] CHIP:DMG:                         Cluster = 0x400,
          [1658142553.001501][13946:13946] CHIP:DMG:                         Attribute = 0x0000_0003,
          [1658142553.001536][13946:13946] CHIP:DMG:                 }
          [1658142553.001568][13946:13946] CHIP:DMG:
          [1658142553.001598][13946:13946] CHIP:DMG:         ],
          [1658142553.001630][13946:13946] CHIP:DMG:
          [1658142553.001660][13946:13946] CHIP:DMG:         isFabricFiltered = true,
          [1658142553.001690][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658142553.001717][13946:13946] CHIP:DMG: },
          [1658142553.001801][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports]


          ./chip-tool illuminancemeasurement read light-sensor-type 1 1
          Verify DUT receives  light-sensor-type attribute response on the TH(all-clusters-app) Log:
          [1658142581.619138][13946:13946] CHIP:IM: Received Read request
          [1658142581.619214][13946:13946] CHIP:DMG: ReadRequestMessage =
          [1658142581.619265][13946:13946] CHIP:DMG: {
          [1658142581.619288][13946:13946] CHIP:DMG:         AttributePathIBs =
          [1658142581.619314][13946:13946] CHIP:DMG:         [
          [1658142581.619338][13946:13946] CHIP:DMG:                 AttributePathIB =
          [1658142581.619365][13946:13946] CHIP:DMG:                 {
          [1658142581.619393][13946:13946] CHIP:DMG:                         Endpoint = 0x1,
          [1658142581.619425][13946:13946] CHIP:DMG:                         Cluster = 0x400,
          [1658142581.619456][13946:13946] CHIP:DMG:                         Attribute = 0x0000_0004,
          [1658142581.619485][13946:13946] CHIP:DMG:                 }
          [1658142581.619512][13946:13946] CHIP:DMG:
          [1658142581.619537][13946:13946] CHIP:DMG:         ],
          [1658142581.619565][13946:13946] CHIP:DMG:
          [1658142581.619591][13946:13946] CHIP:DMG:         isFabricFiltered = true,
          [1658142581.619616][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658142581.619639][13946:13946] CHIP:DMG: },
          [1658142581.619714][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: |
          No writable attrbute for this cluster
      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: |
          No writable attrbute for this cluster
      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)

          sudo ./chip-tool illuminancemeasurement read min-measured-value 1 1
          Verify DUT receives  min-measured-value attribute response on the TH(all-clusters-minimal-app) Log:

          [1658142106.966504][13946:13946] CHIP:IM: Received Read request
          [1658142106.966671][13946:13946] CHIP:DMG: ReadRequestMessage =
          [1658142106.966738][13946:13946] CHIP:DMG: {
          [1658142106.966821][13946:13946] CHIP:DMG:         AttributePathIBs =
          [1658142106.966887][13946:13946] CHIP:DMG:         [
          [1658142106.966947][13946:13946] CHIP:DMG:                 AttributePathIB =
          [1658142106.967035][13946:13946] CHIP:DMG:                 {
          [1658142106.967105][13946:13946] CHIP:DMG:                         Endpoint = 0x1,
          [1658142106.967209][13946:13946] CHIP:DMG:                         Cluster = 0x400,
          [1658142106.967254][13946:13946] CHIP:DMG:                         Attribute = 0x0000_0001,
          [1658142106.967281][13946:13946] CHIP:DMG:                 }
          [1658142106.967320][13946:13946] CHIP:DMG:
          [1658142106.967346][13946:13946] CHIP:DMG:         ],
          [1658142106.967384][13946:13946] CHIP:DMG:
          [1658142106.967413][13946:13946] CHIP:DMG:         isFabricFiltered = true,
          [1658142106.967447][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658142106.967471][13946:13946] CHIP:DMG: },
          [1658142106.967568][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1658142106.967676][13946:13946] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0



          sudo ./chip-tool illuminancemeasurement read max-measured-value 1 1
          Verify DUT receives  max-measured-value attribute response on the TH(all-clusters-minimal-app) Log:
          [1658142397.298817][13946:13946] CHIP:IM: Received Read request
          [1658142397.298895][13946:13946] CHIP:DMG: ReadRequestMessage =
          [1658142397.298932][13946:13946] CHIP:DMG: {
          [1658142397.298960][13946:13946] CHIP:DMG:         AttributePathIBs =
          [1658142397.298986][13946:13946] CHIP:DMG:         [
          [1658142397.299020][13946:13946] CHIP:DMG:                 AttributePathIB =
          [1658142397.299047][13946:13946] CHIP:DMG:                 {
          [1658142397.299085][13946:13946] CHIP:DMG:                         Endpoint = 0x1,
          [1658142397.299125][13946:13946] CHIP:DMG:                         Cluster = 0x400,
          [1658142397.299158][13946:13946] CHIP:DMG:                         Attribute = 0x0000_0002,
          [1658142397.299195][13946:13946] CHIP:DMG:                 }
          [1658142397.299223][13946:13946] CHIP:DMG:
          [1658142397.299258][13946:13946] CHIP:DMG:         ],
          [1658142397.299286][13946:13946] CHIP:DMG:
          [1658142397.299321][13946:13946] CHIP:DMG:         isFabricFiltered = true,
          [1658142397.299346][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658142397.299378][13946:13946] CHIP:DMG: },
          [1658142397.299462][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1658142397.299556][13946:13946] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0


          sudo ./chip-tool illuminancemeasurement read measured-value 1 1
          Verify DUT receives  measured-value attribute response on the TH(all-clusters-minimal-app) Log:
          [1658142471.266188][13946:13946] CHIP:IM: Received Read request
          [1658142471.266273][13946:13946] CHIP:DMG: ReadRequestMessage =
          [1658142471.266303][13946:13946] CHIP:DMG: {
          [1658142471.266329][13946:13946] CHIP:DMG:         AttributePathIBs =
          [1658142471.266358][13946:13946] CHIP:DMG:         [
          [1658142471.266386][13946:13946] CHIP:DMG:                 AttributePathIB =
          [1658142471.266417][13946:13946] CHIP:DMG:                 {
          [1658142471.266449][13946:13946] CHIP:DMG:                         Endpoint = 0x1,
          [1658142471.266486][13946:13946] CHIP:DMG:                         Cluster = 0x400,
          [1658142471.266521][13946:13946] CHIP:DMG:                         Attribute = 0x0000_0000,
          [1658142471.266558][13946:13946] CHIP:DMG:                 }
          [1658142471.266593][13946:13946] CHIP:DMG:
          [1658142471.266624][13946:13946] CHIP:DMG:         ],
          [1658142471.266656][13946:13946] CHIP:DMG:
          [1658142471.266686][13946:13946] CHIP:DMG:         isFabricFiltered = true,
          [1658142471.266714][13946:13946] CHIP:DMG:         InteractionModelRevision = 1
          [1658142471.266740][13946:13946] CHIP:DMG: },
          [1658142471.266826][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1658142471.266939][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 illuminancemeasurement read  tolerance  1 1

          on TH all-clusters-minimal-app verify status response a  UNSUPPORTED_ATTRIBUTE
           General error: 0x86 (UNSUPPORTED_ATTRIBUTE)

          ./chip-tool illuminancemeasurement read light-sensor-type 1 1
          on TH all-clusters-minimal-app verify status response a  UNSUPPORTED_ATTRIBUTE
           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: |
          No writable attrbute for this cluster
      disabled: true
