# 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:
    12.1.3. [TC-CNET-1.3] Global Attributes for Networking commissioning cluster
    [DUT-Server]

PICS:
    - CNET.S

config:
    nodeId: 0x12344321
    cluster: "Network Commissioning"
    endpoint: 0

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

    - label: "Read the global attribute: ClusterRevision"
      PICS: CNET.S.Afffd
      command: "readAttribute"
      attribute: "ClusterRevision"
      response:
          value: 1
          constraints:
              type: int16u

    - label: "Read the global attribute: FeatureMap"
      PICS: " !CNET.S.F00 && !CNET.S.F01 && !CNET.S.F02 && CNET.S.Afffc"
      command: "readAttribute"
      attribute: "FeatureMap"
      response:
          value: 0

    - label: "Read the global attribute: FeatureMap when CNET.S.F00 is set"
      PICS: CNET.S.F00 && CNET.S.Afffc
      command: "readAttribute"
      attribute: "FeatureMap"
      response:
          value: 1

    - label: "Read the global attribute: FeatureMap when CNET.S.F01 is set"
      PICS: CNET.S.F01 && CNET.S.Afffc
      command: "readAttribute"
      attribute: "FeatureMap"
      response:
          value: 2

    - label: "Read the global attribute: FeatureMap when CNET.S.F02 is set"
      PICS: CNET.S.F02 && CNET.S.Afffc
      command: "readAttribute"
      attribute: "FeatureMap"
      response:
          value: 4

    - label: "Read the global attribute: AttributeList"
      PICS: CNET.S.Afffb
      command: "readAttribute"
      attribute: "AttributeList"
      response:
          constraints:
              type: list
              contains: [65528, 65529, 65530, 65531, 65532, 65533]

    - label:
          "Read mandatory attributes in AttributeList if
          CNET.S.F00(WI)/CNET.S.F01(TH)/CNET.S.F02(ET) is true"
      PICS: CNET.S.F00 || CNET.S.F01 || CNET.S.F02 && CNET.S.Afffb
      command: "readAttribute"
      attribute: "AttributeList"
      response:
          constraints:
              type: list
              contains: [0, 1, 4, 5, 6, 7]

    - label: "Read the optional attribute(ScanMaxTimeSeconds): AttributeList"
      PICS: CNET.S.A0002 && CNET.S.Afffb
      command: "readAttribute"
      attribute: "AttributeList"
      response:
          constraints:
              type: list
              contains: [2]

    - label:
          "Reading optional attribute(ConnectMaxTimeSeconds) in AttributeList"
      PICS: CNET.S.A0003 && CNET.S.Afffb
      command: "readAttribute"
      attribute: "AttributeList"
      response:
          constraints:
              type: list
              contains: [3]

    #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: |
          (WiFi)
          ./chip-tool networkcommissioning read attribute-list 1 0

          Verify "AttributeList has 13 entries" on the TH(Chip-tool)  Log:

          [1651215479.539148][3293:3298] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFB DataVersion: 2584224280
          [1651215479.539230][3293:3298] CHIP:TOO:   AttributeList: 13 entries
          [1651215479.539262][3293:3298] CHIP:TOO:     [1]: 0
          [1651215479.539288][3293:3298] CHIP:TOO:     [2]: 1
          [1651215479.539323][3293:3298] CHIP:TOO:     [3]: 2
          [1651215479.539348][3293:3298] CHIP:TOO:     [4]: 3
          [1651215479.539373][3293:3298] CHIP:TOO:     [5]: 4
          [1651215479.539397][3293:3298] CHIP:TOO:     [6]: 5
          [1651215479.539420][3293:3298] CHIP:TOO:     [7]: 6
          [1651215479.539444][3293:3298] CHIP:TOO:     [8]: 7
          [1651215479.539468][3293:3298] CHIP:TOO:     [9]: 65528
          [1651215479.539493][3293:3298] CHIP:TOO:     [10]: 65529
          [1651215479.539517][3293:3298] CHIP:TOO:     [11]: 65531
          [1651215479.539541][3293:3298] CHIP:TOO:     [12]: 65532
          [1651215479.539564][3293:3298] CHIP:TOO:     [13]: 65533


          (Ethernet)

          ./chip-tool networkcommissioning read attribute-list 1 0

          Verify "AttributeList has 13 entries" on the TH(Chip-tool)  Log:

          [1660315522.163640][32321:32326] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFB DataVersion: 4034679103
          [1660315522.163797][32321:32326] CHIP:TOO:   AttributeList: 13 entries
          [1660315522.163880][32321:32326] CHIP:TOO:     [1]: 0
          [1660315522.163945][32321:32326] CHIP:TOO:     [2]: 1
          [1660315522.164009][32321:32326] CHIP:TOO:     [3]: 2
          [1660315522.164106][32321:32326] CHIP:TOO:     [4]: 3
          [1660315522.164174][32321:32326] CHIP:TOO:     [5]: 4
          [1660315522.164260][32321:32326] CHIP:TOO:     [6]: 5
          [1660315522.164328][32321:32326] CHIP:TOO:     [7]: 6
          [1660315522.164393][32321:32326] CHIP:TOO:     [8]: 7
          [1660315522.164482][32321:32326] CHIP:TOO:     [9]: 65528
          [1660315522.164549][32321:32326] CHIP:TOO:     [10]: 65529
          [1660315522.164636][32321:32326] CHIP:TOO:     [11]: 65531
          [1660315522.164708][32321:32326] CHIP:TOO:     [12]: 65532
          [1660315522.164778][32321:32326] CHIP:TOO:     [13]: 65533

          (Thread)

          ./chip-tool networkcommissioning read attribute-list 1 0

          Verify "AttributeList has 13 entries" on the TH(Chip-tool)  Log:

          [1660316011.016650][3112:3117] CHIP:TOO:   AttributeList: 13 entries
          [1660316011.016678][3112:3117] CHIP:TOO:     [1]: 0
          [1660316011.016700][3112:3117] CHIP:TOO:     [2]: 1
          [1660316011.016721][3112:3117] CHIP:TOO:     [3]: 2
          [1660316011.016741][3112:3117] CHIP:TOO:     [4]: 3
          [1660316011.016762][3112:3117] CHIP:TOO:     [5]: 4
          [1660316011.016782][3112:3117] CHIP:TOO:     [6]: 5
          [1660316011.016803][3112:3117] CHIP:TOO:     [7]: 6
          [1660316011.016823][3112:3117] CHIP:TOO:     [8]: 7
          [1660316011.016844][3112:3117] CHIP:TOO:     [9]: 65528
          [1660316011.016865][3112:3117] CHIP:TOO:     [10]: 65529
          [1660316011.016887][3112:3117] CHIP:TOO:     [11]: 65531
          [1660316011.016908][3112:3117] CHIP:TOO:     [12]: 65532
          [1660316011.016929][3112:3117] CHIP:TOO:     [13]: 65533
          [1660316011.017068][3112:3117] CHIP:EM: Sending Standalone Ack for MessageCounter:239150268 on exchange 45209i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CNET.S.Afffb
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads EventList 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: |
          Onnetwork

          ./chip-tool networkcommissioning read event-list 1 0

          On TH(chip-tool) , Verify that DUT response provides a list of supported events. For this cluster the list is empty with 0 entries
          [1677044346.136984][29792:29794] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFA DataVersion: 2890326041
          [1677044346.137022][29792:29794] CHIP:TOO:   EventList: 0 entries
          [1677044346.137100][29792:29794] CHIP:EM: <<< [E:3325i S:48426 M:159215324 (Ack:164155971)] (S) Msg TX to 1:0000000000000001 [682F] --- Type 0000:10 (SecureChannel:StandaloneAck)
          [1677044346.137117][29792:29794] CHIP:IN: (S) Sending msg 159215324 on secure session with LSID: 48426
          [1677044346.137158][29792:29794] CHIP:EM: Flushed pending ack for MessageCounter:164155971 on exchange 3325i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CNET.S.Afffa
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Read AcceptedCommandList If DUT supports Wi-Fi/Thread related
          features CNET.S.F00(WI),CNET.S.F01(TH)"
      PICS: ( CNET.S.F00 || CNET.S.F01 ) && CNET.S.Afff9
      command: "readAttribute"
      attribute: "AcceptedCommandList"
      response:
          constraints:
              type: list
              contains: [0, 4, 6, 8]

    - label:
          "Read AcceptedCommandList If DUT supports Wi-Fi related features
          (CNET.S.F00(WI) is true)"
      PICS: CNET.S.F00 && CNET.S.Afff9
      command: "readAttribute"
      attribute: "AcceptedCommandList"
      response:
          constraints:
              type: list
              contains: [2]

    - label:
          "Read AcceptedCommandList If DUT supports Thread related
          features(CNET.S.F01(TH) is true)"
      PICS: CNET.S.F01 && CNET.S.Afff9
      command: "readAttribute"
      attribute: "AcceptedCommandList"
      response:
          constraints:
              type: list
              contains: [3]

    - label:
          "Read AcceptedCommandList If DUT supports Ethernet related
          features(CNET.S.F02(TH) is true)"
      PICS: CNET.S.F02 && CNET.S.Afff9
      command: "readAttribute"
      attribute: "AcceptedCommandList"
      response:
          value: []

    - label:
          "TH reads AcceptedCommandList 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: |
          (WiFi)
          ./chip-tool networkcommissioning read accepted-command-list 1 0

          Verify "AcceptedCommandList has 5 entries" on the TH(Chip-tool)  Log:

          [1653909914.972854][3424:3429] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFF9 DataVersion: 880539056
          [1653909914.973027][3424:3429] CHIP:TOO:   AcceptedCommandList: 5 entries
          [1653909914.973102][3424:3429] CHIP:TOO:     [1]: 0
          [1653909914.973166][3424:3429] CHIP:TOO:     [2]: 2
          [1653909914.973228][3424:3429] CHIP:TOO:     [3]: 4
          [1653909914.973289][3424:3429] CHIP:TOO:     [4]: 6
          [1653909914.973350][3424:3429] CHIP:TOO:     [5]: 8
          [1653909914.973574][3424:3429] CHIP:EM: Sending Standalone Ack for MessageCounter:4589161 on exchange 55554i


          (Ethernet)
          ./chip-tool networkcommissioning read accepted-command-list 1 0

          Verify "AcceptedCommandList has 0 entries" on the TH(Chip-tool)  Log:

          [1660315536.068512][32327:32332] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFF9 DataVersion: 4034679103
          [1660315536.068654][32327:32332] CHIP:TOO:   AcceptedCommandList: 0 entries

          (Thread)
          ./chip-tool networkcommissioning read accepted-command-list 1 0

          Verify "AcceptedCommandList has 5 entries" on the TH(Chip-tool)  Log:

          [1660316038.564553][3121:3126] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFF9 DataVersion: 1122474754
          [1660316038.564671][3121:3126] CHIP:TOO:   AcceptedCommandList: 5 entries
          [1660316038.564702][3121:3126] CHIP:TOO:     [1]: 0
          [1660316038.564725][3121:3126] CHIP:TOO:     [2]: 3
          [1660316038.564747][3121:3126] CHIP:TOO:     [3]: 4
          [1660316038.564769][3121:3126] CHIP:TOO:     [4]: 6
          [1660316038.564853][3121:3126] CHIP:TOO:     [5]: 8
          [1660316038.564991][3121:3126] CHIP:EM: Sending Standalone Ack for MessageCounter:232731891 on exchange 30329i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CNET.S.Afff9
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Read the GeneratedCommandList If DUT supports Wi-Fi/Thread related
          features(CNET.S.F00(WI) or CNET.S.F01(TH) is true)"
      PICS: ( CNET.S.F00 || CNET.S.F01 ) && CNET.S.Afff8
      command: "readAttribute"
      attribute: "GeneratedCommandList"
      response:
          constraints:
              type: list
              contains: [1, 5, 7]

    - label:
          "Read the GeneratedCommandList If DUT supports Ethernet related
          features(CNET.S.F02(ET) must be true)"
      PICS: CNET.S.F02 && CNET.S.Afff8
      command: "readAttribute"
      attribute: "GeneratedCommandList"
      response:
          value: []

    - 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: |
          ( WiFi)
          ./chip-tool networkcommissioning read generated-command-list 1 0


          Verify "GeneratedCommandList has 3 entries" on the TH(Chip-tool)  Log:

          [1650370123.417759][42418:42423] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFF8 DataVersion: 3182776035
          [1650370123.417866][42418:42423] CHIP:TOO:   GeneratedCommandList: 3 entries
          [1650370123.417938][42418:42423] CHIP:TOO:     [1]: 1
          [1650370123.417977][42418:42423] CHIP:TOO:     [2]: 5
          [1650370123.418013][42418:42423] CHIP:TOO:     [3]: 7
          [1650370123.418143][42418:42423] CHIP:EM: Sending Standalone Ack for MessageCounter:759910 on exchange 25409i



          (Ethernet)
          ./chip-tool networkcommissioning read generated-command-list 1 0

          Verify "GeneratedCommandList has 0 entries" on the TH(Chip-tool)  Log:

          [1660315548.937195][32333:32338] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFF8 DataVersion: 4034679103
          [1660315548.937327][32333:32338] CHIP:TOO:   GeneratedCommandList: 0 entries


          ( Thread )
          ./chip-tool networkcommissioning read generated-command-list 51 0


          Verify "GeneratedCommandList has 2 entries" on the TH(Chip-tool)  Log:

          [1650370342.693373][7450:7455] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFF8 DataVersion: 1032683896
          [1650370342.693536][7450:7455] CHIP:TOO:   GeneratedCommandList: 2 entries
          [1650370123.417938][42418:42423] CHIP:TOO:     [1]: 1
          [1650370123.417977][42418:42423] CHIP:TOO:     [2]: 5
          [1650370123.418013][42418:42423] CHIP:TOO:     [3]: 7
          [1650370342.693995][7450:7455] CHIP:EM: Sending Standalone Ack for MessageCounter:2345375 on exchange 2514
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CNET.S.Afff8
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"
