# 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 Information"
    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"
      PICS: ILL.C.AM-READ
      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"
      PICS: ILL.C.AO-READ
      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"
      PICS: ILL.C.AM-WRITE
      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"
      PICS: ILL.C.AO-WRITE
      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)

          ./chip-tool illuminancemeasurement read attribute-list 1 1

          Verify DUT receives  AttributeList response on the TH(all-clusters-minimal-app) Log:

          Received Read request
          [1663070306.262953][4422:4422] CHIP:DMG: ReadRequestMessage =
          [1663070281.411639][4422:4422] CHIP:DMG: {
          [1663070281.411663][4422:4422] CHIP:DMG:         AttributePathIBs =
          [1663070281.411698][4422:4422] CHIP:DMG:         [
          [1663070281.411724][4422:4422] CHIP:DMG:                 AttributePathIB =
          [1663070281.411757][4422:4422] CHIP:DMG:                 {
          [1663070281.411794][4422:4422] CHIP:DMG:                         Endpoint = 0x1,
          [1663070281.411830][4422:4422] CHIP:DMG:                         Cluster = 0x400,
          [1663070281.411865][4422:4422] CHIP:DMG:                         Attribute = 0x0000_FFFB,
          [1663070281.411898][4422:4422] CHIP:DMG:                 }
          [1663070281.411930][4422:4422] CHIP:DMG:
          [1663070281.411962][4422:4422] CHIP:DMG:         ],
          [1663070281.411992][4422:4422] CHIP:DMG:
          [1663070281.412021][4422:4422] CHIP:DMG:         isFabricFiltered = true,
          [1663070281.412051][4422:4422] CHIP:DMG:         InteractionModelRevision = 1
          [1663070281.412078][4422:4422] CHIP:DMG: },
          [1663070281.412158][4422:4422] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1663070281.412262][4422:4422] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1663070281.412293][4422:4422] CHIP:DMG: <RE:Run> Cluster 400, Attribute fffb is dirty
          [1663070281.412317][4422:4422] CHIP:DMG: Reading attribute: Cluster=0x0000_0400 Endpoint=1 AttributeId=0x0000_FFFB (expanded=0)
          [1663070281.412345][4422:4422] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0400 e=1 p=v


          ./chip-tool illuminancemeasurement read feature-map 1 1

          Verify DUT receives  FeatureMap attribute response on the TH(all-clusters-minimal-app) Log:

          Received Read request
          [1663070306.262953][4422:4422] CHIP:DMG: ReadRequestMessage =
          [1663070306.262953][4422:4422] CHIP:DMG: ReadRequestMessage =
          [1663070306.262984][4422:4422] CHIP:DMG: {
          [1663070306.263008][4422:4422] CHIP:DMG:         AttributePathIBs =
          [1663070306.263041][4422:4422] CHIP:DMG:         [
          [1663070306.263067][4422:4422] CHIP:DMG:                 AttributePathIB =
          [1663070306.263103][4422:4422] CHIP:DMG:                 {
          [1663070306.263140][4422:4422] CHIP:DMG:                         Endpoint = 0x1,
          [1663070306.263175][4422:4422] CHIP:DMG:                         Cluster = 0x400,
          [1663070306.263212][4422:4422] CHIP:DMG:                         Attribute = 0x0000_FFFC,
          [1663070306.263244][4422:4422] CHIP:DMG:                 }
          [1663070306.263277][4422:4422] CHIP:DMG:
          [1663070306.263307][4422:4422] CHIP:DMG:         ],
          [1663070306.263339][4422:4422] CHIP:DMG:
          [1663070306.263370][4422:4422] CHIP:DMG:         isFabricFiltered = true,
          [1663070306.263399][4422:4422] CHIP:DMG:         InteractionModelRevision = 1
          [1663070306.263426][4422:4422] CHIP:DMG: },
          [1663070306.263508][4422:4422] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1663070306.263608][4422:4422] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1663070306.263640][4422:4422] CHIP:DMG: <RE:Run> Cluster 400, Attribute fffc is dirty
          [1663070306.263663][4422:4422] CHIP:DMG: Reading attribute: Cluster=0x0000_0400 Endpoint=1 AttributeId=0x0000_FFFC (expanded=0)
          [1663070306.263695][4422:4422] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0400 e=1 p=v




           ./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


           ./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


           ./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"
      PICS: ILL.C.AO-READ
      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"
      PICS: ILL.C.AO-WRITE
      verification: |
          No writable attrbute for this cluster
      disabled: true
