# 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: 133.1.1. [TC-ACL-1.1] Global attributes

PICS:
    - ACL.S

config:
    nodeId: 0x12344321
    cluster: "Access Control"
    endpoint: 0

tests:
    - label: "Wait for the commissioned device to be retrieved"
      cluster: "DelayCommands"
      command: "WaitForCommissionee"
      arguments:
          values:
              - name: "nodeId"
                value: nodeId

    - label: "TH reads ClusterRevision attribute from DUT"
      PICS: ACL.S.Afffd
      command: "readAttribute"
      attribute: "ClusterRevision"
      response:
          value: 1
          constraints:
              type: int16u

    - label: "TH reads FeatureMap attribute from DUT"
      PICS: ACL.S.Afffc
      command: "readAttribute"
      attribute: "FeatureMap"
      response:
          value: 0
          constraints:
              type: bitmap32

    - label: "TH reads AttributeList attribute from DUT"
      PICS: ACL.S.Afffb
      command: "readAttribute"
      attribute: "AttributeList"
      response:
          constraints:
              type: list
              contains: [0, 2, 3, 4, 65528, 65529, 65530, 65531, 65532, 65533]

    - label: "TH reads optional attribute (Extension) in AttributeList"
      PICS: ACL.S.A0001 && ACL.S.Afffb
      command: "readAttribute"
      attribute: "AttributeList"
      response:
          constraints:
              type: list
              contains: [1]

    #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570
    - label:
          "TH reads AttributeList attribute from DUT. 1.The list SHALL NOT
          contain any additional values in the standard or scoped range:
          (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The
          list MAY contain values in the Manufacturer Extensible Identifier
          (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed
          MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list
          SHALL NOT contain any values in the Test Vendor or invalid range:
          (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 -
          0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the
          allowed MEI range (0x0001 - 0xFFF1)"
      verification: |
          ./chip-tool accesscontrol read attribute-list 1 0

          Verify Successfully"AttributeList attribute " on the TH1(Chip-tool) Log:.

          [1655960990.225266][2516:2521] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFB DataVersion: 477297741
          [1676270267.634187][20397:20399] CHIP:TOO:   AttributeList: 11 entries
          [1676270267.634206][20397:20399] CHIP:TOO:     [1]: 0
          [1676270267.634220][20397:20399] CHIP:TOO:     [2]: 1
          [1676270267.634233][20397:20399] CHIP:TOO:     [3]: 2
          [1676270267.634245][20397:20399] CHIP:TOO:     [4]: 3
          [1676270267.634258][20397:20399] CHIP:TOO:     [5]: 4
          [1676270267.634271][20397:20399] CHIP:TOO:     [6]: 65528
          [1676270267.634284][20397:20399] CHIP:TOO:     [7]: 65529
          [1676270267.634296][20397:20399] CHIP:TOO:     [8]: 65530
          [1676270267.634309][20397:20399] CHIP:TOO:     [9]: 65531
          [1676270267.634322][20397:20399] CHIP:TOO:     [10]: 65532
          [1676270267.634334][20397:20399] CHIP:TOO:     [11]: 65533
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && ACL.S.Afffb
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label: "TH reads EventList attribute from DUT"
      PICS: ACL.S.Afffa
      command: "readAttribute"
      attribute: "EventList"
      response:
          constraints:
              type: list
              contains: [0, 1]

    - label:
          "TH reads EventList attribute from DUT. 1.The list SHALL NOT contain
          any additional values in the standard or scoped range: (0x0000_0000 -
          0x0000_00FF). 2.The list MAY contain values in the Manufacturer
          Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where
          XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be
          ignored. 3.The list SHALL NOT contain any values in the Test Vendor or
          invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 -
          0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the
          allowed MEI range (0x0001 - 0xFFF1)"
      verification: |
          ./chip-tool accesscontrol read event-list 1 0

          Verify " EventList attribute " consists the list of supported events,  which for this cluster should containing the following elements:
          all mandatory events: AccessControlEntryChanged (0), AccessControlExtensionChanged (1) on the TH(Chip-tool) Log:

          [1676456597.556478][24006:24008] CHIP:DMG: }
          [1676456597.556640][24006:24008] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFA DataVersion: 3448736795
          [1676456597.556677][24006:24008] CHIP:TOO:   EventList: 2 entries
          [1676456597.556687][24006:24008] CHIP:TOO:     [1]: 0
          [1676456597.556693][24006:24008] CHIP:TOO:     [2]: 1
          [1676456597.556763][24006:24008] CHIP:EM: <<< [E:51140i S:1376 M:55400435 (Ack:189635613)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck)
          [1676456597.556778][24006:24008] CHIP:IN: (S) Sending msg 55400435 on secure session with LSID: 1376
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && ACL.S.Afffa
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads AcceptedCommandList attribute from DUT. 1. The list MAY
          contain values in the Manufacturer Extensible Identifier (MEI) range:
          (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range
          (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT
          contain any values in the Test Vendor or invalid range: (0x0000_0100 -
          0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 -
          0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"
      verification: |
          ./chip-tool accesscontrol read accepted-command-list 1 0

          Verify Successfully " AcceptedCommandList attribute " on the TH1(Chip-tool) Log:

          [1656478328.210742][2458:2463] CHIP:DMG:
          [1656478328.210767][2458:2463] CHIP:DMG:        ],
          [1656478328.210799][2458:2463] CHIP:DMG:
          [1656478328.210826][2458:2463] CHIP:DMG:        SuppressResponse = true,
          [1656478328.210853][2458:2463] CHIP:DMG:        InteractionModelRevision = 1
          [1656478328.210877][2458:2463] CHIP:DMG: }
          [1656478328.211032][2458:2463] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFF9 DataVersion: 3457122350
          [1656478328.211099][2458:2463] CHIP:TOO:   AcceptedCommandList: 0 entries
          [1656478328.211245][2458:2463] CHIP:EM: Sending Standalone Ack for MessageCounter:163659373 on exchange 15270i
          [1656478328.211313][2458:2463] CHIP:IN: Prepared secure message 0xffff8a2e3958 to 0x0000000000000001 (1)  of type 0x10 and protocolId (0, 0) on exchange 15270i with MessageCounter:229380798.
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && ACL.S.Afff9
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads GeneratedCommandList attribute from DUT. 1.The list MAY
          contain values in the Manufacturer Extensible Identifier (MEI) range:
          (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range
          (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT
          contain any values in the Test Vendor or invalid range: (0x0000_0100 -
          0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 -
          0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"
      verification: |
          ./chip-tool accesscontrol read generated-command-list 1 0

          Verify Successfully" GeneratedCommandList attribute " on the TH1(Chip-tool) Log:

          [[1656478396.324314][2467:2472] CHIP:DMG:
          [1656478396.324346][2467:2472] CHIP:DMG:        ],
          [1656478396.324386][2467:2472] CHIP:DMG:
          [1656478396.324419][2467:2472] CHIP:DMG:        SuppressResponse = true,
          [1656478396.324453][2467:2472] CHIP:DMG:        InteractionModelRevision = 1
          [1656478396.324484][2467:2472] CHIP:DMG: }
          [1656478396.324673][2467:2472] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFF8 DataVersion: 3457122350
          [1656478396.324752][2467:2472] CHIP:TOO:   GeneratedCommandList: 0 entries
          [1656478396.324843][2467:2472] CHIP:EM: Sending Standalone Ack for MessageCounter:73836177 on exchange 65471i
          [1656478396.324920][2467:2472] CHIP:IN: Prepared secure message 0xffffab7ed958 to 0x0000000000000001 (1)  of type 0x10 and protocolId (0, 0) on exchange 65471i with MessageCounter:243106706.
          [1656478396.324967][2467:2472] CHIP:IN: Sending encrypted msg 0xffffab7ed958 with MessageCounter:243106706
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && ACL.S.Afff8
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"
