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

name: 69.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: "Illuminance Measurement"
    endpoint: 0

tests:
    #- label: "Wait for the device to be commissioned"
    #  cluster: "DelayCommands"
    #  command: "WaitForCommissioning"

    - label: "Read attribute: MeasuredValue"
      wait: "readAttribute"
      attribute: "MeasuredValue"

    - label: "Read attribute: MinMeasuredValue"
      wait: "readAttribute"
      attribute: "MinMeasuredValue"

    - label: "Read attribute: MaxMeasuredValue"
      wait: "readAttribute"
      attribute: "MaxMeasuredValue"

    - label: "Read attribute: Tolerance"
      wait: "readAttribute"
      attribute: "Tolerance"

    - label: "Read attribute: LightSensorType"
      wait: "readAttribute"
      attribute: "LightSensorType"

    - 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
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value: "Enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - 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)
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value: "Enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "DUT writes a suitable value to all supported optional attributes on
          the TH one at a time in a manufacturer specific order"
      verification: |
          This cluster doesn't have any writable attributes
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value: "Enter 'y' after success"
              - name: "expectedValue"
                value: "y"
