# 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: 84.2.1. [TC-DESC-2.1] Descriptor Cluster Attributes [DUT-Server]

PICS:
    - DESC.S

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

tests:
    - label: "Note"
      verification: |
          Mandatory cluster requirements for each device type can be found here.
          github link
          Use the correct json required for the DUT, this file is PIXIT.DESC.DeviceTypeConformanceList.
      disabled: true

    - label: "Precondition"
      verification: |
          TH and DUT are commissioned
      disabled: true

    - label:
          "TH reads DeviceTypeList and PartsList attributes from DUT for
          Endpoint 0"
      PICS: DESC.S.A0000 && DESC.S.A0003
      verification: |
          Send a read request to the DUT using chip-tool to read the partsList attribute in the descriptor cluster on Endpoint 0.
          Make a note of all the items(Endpoint id’s) in the list. In the below example there are 2 endpoint id"s listed [1,2]

          ./chip-tool descriptor read  parts-list 1 0

          Verify PartsList response on the TH (Chip-tool) Log:

          [1641456769.777217][16238:16244] CHIP:DMG:      SuppressResponse = true,
          [1641456769.777267][16238:16244] CHIP:DMG: }
          [1641456769.777839][16238:16244] CHIP:TOO: Descriptor.PartsList response: 2 entries
          [1641456769.777925][16238:16244] CHIP:TOO:   [1]: 1
          [1641456769.777978][16238:16244] CHIP:TOO:   [2]: 2
          [1641456769.778080][16238:16244] CHIP:EM: Sending Standalone Ack for MessageCounter:2830202 on exchange 38042i

          ./chip-tool descriptor read device-list 1 0

          Verify DeviceList response on the TH (Chip-tool) Log:

          [1641454498.809603][16120:16125] CHIP:TOO: Descriptor.DeviceList response: 1 entries
          [1641454498.809737][16120:16125] CHIP:TOO:   [1]: {
          [1641454498.809780][16120:16125] CHIP:TOO:     Type: 22
          [1641454498.809817][16120:16125] CHIP:TOO:     Revision: 1
          [1641454498.809852][16120:16125] CHIP:TOO:   }
          [1641454498.809938][16120:16125] CHIP:EM: Sending Standalone Ack for MessageCounter:52943 on exchange 24061i
      disabled: true

    - label:
          "TH reads DeviceTypeList and PartsList attributes from DUT for each
          Endpoint supported by DUT (except Endpoint 0)."
      PICS: DESC.S.A0000 && DESC.S.A0003
      verification: |
          For all the Endpoint id’s listed from the previous step run the following steps. The device type should correspond to the id value in the device_type.json
          Chip tool outputs all values in integer,  convert to hex before comparing.


          ./chip-tool descriptor read  parts-list 1 1

          Verify  parts-list response on the TH(Chip-tool) Log:

          [1660127331.634565][46437:46442] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 934889243
          [1660127331.634631][46437:46442] CHIP:TOO:   parts list: 0 entries



          ./chip-tool descriptor read device-list 1 1

          Verify DeviceList response on the TH(Chip-tool) Log:


          [1657200303.724408][2509:2514] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 1624758542
          [1657200303.724508][2509:2514] CHIP:TOO:   device list: 1 entries
          [1657200303.724565][2509:2514] CHIP:TOO:     [1]: {
          [1657200303.724594][2509:2514] CHIP:TOO:       Type: 256
          [1657200303.724621][2509:2514] CHIP:TOO:       Revision: 1
          [1657200303.724647][2509:2514] CHIP:TOO:      }



          ./chip-tool descriptor read  parts-list 1 2

          Verify parts-list response on the TH(Chip-tool) Log:

          [1660127879.565330][46472:46477] CHIP:TOO: Endpoint: 2 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 1237610137
          [1660127879.565473][46472:46477] CHIP:TOO:   parts list: 0 entries

          ./chip-tool descriptor read device-list 1 2

          Verify DeviceList response on the TH(Chip-tool) Log:

          [1660127725.802512][46460:46465] CHIP:TOO: Endpoint: 2 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 1237610137
          [1660127725.802614][46460:46465] CHIP:TOO:   device list: 1 entries
          [1660127725.802669][46460:46465] CHIP:TOO:     [1]: {
          [1660127725.802707][46460:46465] CHIP:TOO:       Type: 256
          [1660127725.802745][46460:46465] CHIP:TOO:       Revision: 1
          [1660127725.802781][46460:46465] CHIP:TOO:      }
      disabled: true

    - label: "TH reads ServerList attribute."
      PICS: DESC.S.A0001
      verification: |
          For all the Endpoint id’s listed in step 1a run the following steps. For all the server list entries listed in the output - Convert them to Hex values. For example 29 is 0x001D. Verify that these are also present in the device_type.json. Every server cluster listed in the JSON should correspond to a number here in the output.

          ./chip-tool descriptor read server-list 1 1

          Verify server list on the TH (Chip-tool) Log:

          [1660149731.921734][49539:49544] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_001D Attribute 0x0000_0001 DataVersion: 2312399478
          [1660149731.921749][49539:49544] CHIP:TOO:   server list: 44 entries
          [1660149731.921753][49539:49544] CHIP:TOO:     [1]: 3
          [1660149731.921755][49539:49544] CHIP:TOO:     [2]: 4
          [1660149731.921758][49539:49544] CHIP:TOO:     [3]: 5
          [1660149731.921760][49539:49544] CHIP:TOO:     [4]: 6
          [1660149731.921762][49539:49544] CHIP:TOO:     [5]: 7
          [1660149731.921765][49539:49544] CHIP:TOO:     [6]: 8
          [1660149731.921767][49539:49544] CHIP:TOO:     [7]: 15
          [1660149731.921769][49539:49544] CHIP:TOO:     [8]: 29
          [1660149731.921772][49539:49544] CHIP:TOO:     [9]: 30
          [1660149731.921774][49539:49544] CHIP:TOO:     [10]: 37
          [1660149731.921776][49539:49544] CHIP:TOO:     [11]: 47
          [1660149731.921779][49539:49544] CHIP:TOO:     [12]: 59
          [1660149731.921781][49539:49544] CHIP:TOO:     [13]: 64
          [1660149731.921783][49539:49544] CHIP:TOO:     [14]: 65
          [1660149731.921785][49539:49544] CHIP:TOO:     [15]: 69
          [1660149731.921787][49539:49544] CHIP:TOO:     [16]: 80
          [1660149731.921790][49539:49544] CHIP:TOO:     [17]: 257
          [1660149731.921792][49539:49544] CHIP:TOO:     [18]: 258
          [1660149731.921795][49539:49544] CHIP:TOO:     [19]: 259
          [1660149731.921797][49539:49544] CHIP:TOO:     [20]: 512
          [1660149731.921799][49539:49544] CHIP:TOO:     [21]: 513
          [1660149731.921801][49539:49544] CHIP:TOO:     [22]: 514
          [1660149731.921804][49539:49544] CHIP:TOO:     [23]: 516
          [1660149731.921806][49539:49544] CHIP:TOO:     [24]: 768
          [1660149731.921808][49539:49544] CHIP:TOO:     [25]: 1024
          [1660149731.921810][49539:49544] CHIP:TOO:     [26]: 1026
          [1660149731.921812][49539:49544] CHIP:TOO:     [27]: 1027
          [1660149731.921814][49539:49544] CHIP:TOO:     [28]: 1028
          [1660149731.921817][49539:49544] CHIP:TOO:     [29]: 1029
          [1660149731.921819][49539:49544] CHIP:TOO:     [30]: 1030
          [1660149731.921821][49539:49544] CHIP:TOO:     [31]: 1283
          [1660149731.921824][49539:49544] CHIP:TOO:     [32]: 1284
          [1660149731.921826][49539:49544] CHIP:TOO:     [33]: 1285
          [1660149731.921828][49539:49544] CHIP:TOO:     [34]: 1286
          [1660149731.921830][49539:49544] CHIP:TOO:     [35]: 1287
          [1660149731.921832][49539:49544] CHIP:TOO:     [36]: 1288
          [1660149731.921835][49539:49544] CHIP:TOO:     [37]: 1289
          [1660149731.921837][49539:49544] CHIP:TOO:     [38]: 1290
          [1660149731.921839][49539:49544] CHIP:TOO:     [39]: 1291
          [1660149731.921841][49539:49544] CHIP:TOO:     [40]: 1292
          [1660149731.921844][49539:49544] CHIP:TOO:     [41]: 1293
          [1660149731.921846][49539:49544] CHIP:TOO:     [42]: 1294
          [1660149731.921848][49539:49544] CHIP:TOO:     [43]: 2820
          [1660149731.921851][49539:49544] CHIP:TOO:     [44]: 4294048773


          ./chip-tool descriptor read server-list 1 2

          [1660146145.982691][46811:46816] CHIP:TOO: Endpoint: 2 Cluster: 0x0000_001D Attribute 0x0000_0001 DataVersion: 1051414887
          [1660146145.982733][46811:46816] CHIP:TOO:   server list: 5 entries
          [1660146145.982744][46811:46816] CHIP:TOO:     [1]: 4
          [1660146145.982752][46811:46816] CHIP:TOO:     [2]: 6
          [1660146145.982759][46811:46816] CHIP:TOO:     [3]: 29
          [1660146145.982771][46811:46816] CHIP:TOO:     [4]: 47
          [1660146145.982778][46811:46816] CHIP:TOO:     [5]: 1030
      disabled: true

    - label: "TH reads ClientList attribute"
      PICS: DESC.S.A0002
      verification: |
          For all the Endpoint id’s listed in step 1a run the following steps. For all the client list entries listed in the output - Convert them to Hex values. For example 29 is 0x001D. Verify that these are also present in the device_type.json. Every server cluster listed in the JSON should correspond to a number here in the output.


          ./chip-tool descriptor read client-list 1 1

          Verify client list on the TH (Chip-tool) Log:
          [1660195618.042544][2905:2910] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_001D Attribute 0x0000_0002 DataVersion: 2955150741
          [1660195618.042605][2905:2910] CHIP:TOO:   client list: 0 entries

           ./chip-tool descriptor read client-list 1 2

          Verify client list on the TH (Chip-tool) Log:

          [1660146160.390200][46818:46823] CHIP:TOO: Endpoint: 2 Cluster: 0x0000_001D Attribute 0x0000_0002 DataVersion: 1051414887
          [1660146160.390211][46818:46823] CHIP:TOO:   client list: 0 entries
      disabled: true

    - label: "TH reads PartsList attribute."
      PICS: DESC.S.A0003
      verification: |
          ./chip-tool descriptor read  parts-list 1 0

          Verify PartsList response on the TH (Chip-tool) Log:

          [1641456769.777217][16238:16244] CHIP:DMG:      SuppressResponse = true,
          [1641456769.777267][16238:16244] CHIP:DMG: }
          [1641456769.777839][16238:16244] CHIP:TOO: Descriptor.PartsList response: 2 entries
          [1641456769.777925][16238:16244] CHIP:TOO:   [1]: 1
          [1641456769.777978][16238:16244] CHIP:TOO:   [2]: 2
          [1641456769.778080][16238:16244] CHIP:EM: Sending Standalone Ack for MessageCounter:2830202 on exchange 38042i
      disabled: true

    - label:
          "The cluster tests applicable to each Device Type should be executed
          to make sure all mandatory (and applicable optional)
          attributes/commands are implemented."
      verification: |
          This step is redundant as during certification the appropriate tests are being run
      disabled: true
