# 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: 129.2.2. [TC-ACL-2.2] Cluster endpoint

PICS:
    - ACL.S

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

tests:
    - label: "TH1 commissions DUT using admin node ID N1"
      verification: |

      disabled: true

    - label:
          "TH1 reads DUT Descriptor cluster ServerList attribute from Endpoint 0"
      verification: |
          ./chip-tool  descriptor read server-list 1 0
          On TH ,Verify DUT  responds to serverList attribute of Descriptor Cluster with an element of 31( 0x001F)

          [1657628454.970510][2304:2309] CHIP:DMG: }
          [1657628454.971842][2304:2309] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0001 DataVersion: 3813084914
          [1657628454.971930][2304:2309] CHIP:TOO:   server list: 21 entries
          [1657628454.971961][2304:2309] CHIP:TOO:     [1]: 29
          [1657628454.971985][2304:2309] CHIP:TOO:     [2]: 31
          [1657628454.972010][2304:2309] CHIP:TOO:     [3]: 40
          [1657628454.972034][2304:2309] CHIP:TOO:     [4]: 42
          [1657628454.972058][2304:2309] CHIP:TOO:     [5]: 43
          [1657628454.972081][2304:2309] CHIP:TOO:     [6]: 44
          [1657628454.972105][2304:2309] CHIP:TOO:     [7]: 46
          [1657628454.972129][2304:2309] CHIP:TOO:     [8]: 47
          [1657628454.972153][2304:2309] CHIP:TOO:     [9]: 48
          [1657628454.972177][2304:2309] CHIP:TOO:     [10]: 49
          [1657628454.972200][2304:2309] CHIP:TOO:     [11]: 50
          [1657628454.972224][2304:2309] CHIP:TOO:     [12]: 51
          [1657628454.972248][2304:2309] CHIP:TOO:     [13]: 52
          [1657628454.972272][2304:2309] CHIP:TOO:     [14]: 53
          [1657628454.972296][2304:2309] CHIP:TOO:     [15]: 54
          [1657628454.972320][2304:2309] CHIP:TOO:     [16]: 55
          [1657628454.972344][2304:2309] CHIP:TOO:     [17]: 60
          [1657628454.972368][2304:2309] CHIP:TOO:     [18]: 62
          [1657628454.972391][2304:2309] CHIP:TOO:     [19]: 63
          [1657628454.972415][2304:2309] CHIP:TOO:     [20]: 64
          [1657628454.972439][2304:2309] CHIP:TOO:     [21]: 65
          [1657628454.972587][2304:2309] CHIP:EM: Sending Standalone Ack for MessageCounter:152415595 on exchange 40115i
      disabled: true

    - label:
          "TH1 reads DUT Descriptor cluster ServerList attribute from every
          Endpoint except 0"
      verification: |
          ./chip-tool  descriptor read server-list 1 1


          On TH ,Verify DUT  responds to serverList attribute of Descriptor Cluster without  an element of 31( 0x001F)

          [1656412927.698026][3383:3388] CHIP:DMG:        SuppressResponse = true,
          [1656412927.698052][3383:3388] CHIP:DMG:        InteractionModelRevision = 1
          [1656412927.698076][3383:3388] CHIP:DMG: }
          [1656412927.698852][3383:3388] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_001D Attribute 0x0000_0001 DataVersion: 239898735
          [1656412927.698963][3383:3388] CHIP:TOO:   server list: 44 entries
          [1656412927.698997][3383:3388] CHIP:TOO:     [1]: 3
          [1656412927.699023][3383:3388] CHIP:TOO:     [2]: 4
          [1656412927.699050][3383:3388] CHIP:TOO:     [3]: 5
          [1656412927.699075][3383:3388] CHIP:TOO:     [4]: 6
          [1656412927.699101][3383:3388] CHIP:TOO:     [5]: 7
          [1656412927.699127][3383:3388] CHIP:TOO:     [6]: 8
          [1656412927.699153][3383:3388] CHIP:TOO:     [7]: 15
          [1656412927.699179][3383:3388] CHIP:TOO:     [8]: 29
          [1656412927.699205][3383:3388] CHIP:TOO:     [9]: 30
          [1656412927.699231][3383:3388] CHIP:TOO:     [10]: 37
          [1656412927.699258][3383:3388] CHIP:TOO:     [11]: 47
          [1656412927.699284][3383:3388] CHIP:TOO:     [12]: 59
          [1656412927.699310][3383:3388] CHIP:TOO:     [13]: 64
          [1656412927.699336][3383:3388] CHIP:TOO:     [14]: 65
          [1656412927.699361][3383:3388] CHIP:TOO:     [15]: 69
          [1656412927.699387][3383:3388] CHIP:TOO:     [16]: 80
          [1656412927.699414][3383:3388] CHIP:TOO:     [17]: 257
          [1656412927.699440][3383:3388] CHIP:TOO:     [18]: 258
          [1656412927.699466][3383:3388] CHIP:TOO:     [19]: 259
          [1656412927.699492][3383:3388] CHIP:TOO:     [20]: 512
          [1656412927.699518][3383:3388] CHIP:TOO:     [21]: 513
          [1656412927.699544][3383:3388] CHIP:TOO:     [22]: 514
          [1656412927.699571][3383:3388] CHIP:TOO:     [23]: 516
          [1656412927.699596][3383:3388] CHIP:TOO:     [24]: 768
          [1656412927.699623][3383:3388] CHIP:TOO:     [25]: 1024
          [1656412927.699649][3383:3388] CHIP:TOO:     [26]: 1026
          [1656412927.699675][3383:3388] CHIP:TOO:     [27]: 1027
          [1656412927.699701][3383:3388] CHIP:TOO:     [28]: 1028
          [1656412927.699727][3383:3388] CHIP:TOO:     [29]: 1029
          [1656412927.699754][3383:3388] CHIP:TOO:     [30]: 1030
          [1656412927.699780][3383:3388] CHIP:TOO:     [31]: 1283
          [1656412927.699806][3383:3388] CHIP:TOO:     [32]: 1284
          [1656412927.699832][3383:3388] CHIP:TOO:     [33]: 1285
          [1656412927.699858][3383:3388] CHIP:TOO:     [34]: 1286
          [1656412927.699884][3383:3388] CHIP:TOO:     [35]: 1287
          [1656412927.699911][3383:3388] CHIP:TOO:     [36]: 1288
          [1656412927.699937][3383:3388] CHIP:TOO:     [37]: 1289
          [1656412927.699963][3383:3388] CHIP:TOO:     [38]: 1290
          [1656412927.700002][3383:3388] CHIP:TOO:     [39]: 1291
          [1656412927.700029][3383:3388] CHIP:TOO:     [40]: 1292
          [1656412927.700056][3383:3388] CHIP:TOO:     [41]: 1293
          [1656412927.700082][3383:3388] CHIP:TOO:     [42]: 1294
          [1656412927.700108][3383:3388] CHIP:TOO:     [43]: 2820
          [1656412927.700134][3383:3388] CHIP:TOO:     [44]: 4294048773
          [1656412927.700251][3383:3388] CHIP:EM: Sending Standalone Ack for MessageCounter:186152197 on exchange 39489i
      disabled: true
