# 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:
    12.4.16. [TC-CNET-4.18] [Thread] Verification for attributes check
    [DUT-Client]

PICS:
    - CNET.C.F01

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

tests:
    - label: "Note"
      verification: |
          Chip-tool command used below are an example to verify the  DUT as client test cases. For certification test, we expect DUT should have a capability or way to run the equivalent command.
      disabled: true

    - label: "Commission TH and DUT on Thread setup"
      verification: |

      disabled: true

    - label: "DUT reads the MaxNetworks attribute from the TH"
      PICS: CNET.S.A0000
      verification: |
          ./chip-tool networkcommissioning read max-networks 54 0

          Verify "MaxNetworks response" on the TH(All-cluster-app) Log:

          D: 7993601 [SC]Allocated SecureSession (0x20003680) - waiting for Sigma1 msg
          D: 7993608 [EM]Retransmitting MessageCounter:53368032 on exchange 5643r Send Cnt 1
          I: 7993615 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53368032 to 0x0000000000000000c
          I: 7993630 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:231115534 on exchar
          D: 7993640 [EM]Handling via exchange: 5644r, Delegate: 0x200070ec
          D: 7993647 [IM]Received Read request
          D: 7993651 [DMG]IM RH moving to [GeneratingReports]
          D: 7993657 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 7993666 [DMG]<RE:Run> Cluster 31, Attribute 0 is dirty
          D: 7993671 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0000 (expanded=0)
          D: 7993682 [DMG]<RE> Sending report (payload has 36 bytes)...
          I: 7993688 [IN]Prepared secure message 0x200048b4 to 0x00000000000
      disabled: true

    - label: "DUT reads the Networks attribute from the TH"
      PICS: CNET.S.A0001
      verification: |
          ./chip-tool networkcommissioning read networks 54 0

          Verify "Networks response" on the TH(All-cluster-app) Log:

          D: 8065181 [SC]Allocated SecureSession (0x20003738) - waiting for Sigma1 msg
          D: 8065188 [EM]Retransmitting MessageCounter:53368036 on exchange 57159r Send Cnt 1
          I: 8065196 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53368036 to 0x0000000000000000c
          I: 8065213 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:15008713 on exchanr
          D: 8065223 [EM]Handling via exchange: 57160r, Delegate: 0x200070ec
          D: 8065229 [IM]Received Read request
          D: 8065233 [DMG]IM RH moving to [GeneratingReports]
          D: 8065240 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 8065248 [DMG]<RE:Run> Cluster 31, Attribute 1 is dirty
          D: 8065254 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0001 (expanded=0)
          D: 8065265 [DMG]<RE> Sending report (payload has 77 bytes)...
      disabled: true

    - label: "DUT reads ScanMaxTimeSeconds attribute from the TH"
      PICS: CNET.S.A0002
      verification: |
          ./chip-tool networkcommissioning read scan-max-time-seconds 54 0

          Verify  "ScanMaxTimeSeconds response" on the TH(All-cluster-app) Log:

          D: 8108702 [SC]Allocated SecureSession (0x200037f0) - waiting for Sigma1 msg
          I: 8108710 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:194637583 on exchar
          D: 8108720 [EM]Handling via exchange: 42632r, Delegate: 0x200070ec
          D: 8108726 [IM]Received Read request
          D: 8108730 [DMG]IM RH moving to [GeneratingReports]
          D: 8108735 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 8108743 [DMG]<RE:Run> Cluster 31, Attribute 2 is dirty
          D: 8108749 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0002 (expanded=0)
          D: 8108758 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads ConnectMaxTimeSeconds attribute from the TH"
      PICS: CNET.S.A0003
      verification: |
          ./chip-tool networkcommissioning read connect-max-time-seconds 54 0

          Verify "ConnectMaxTimeSeconds response" on the TH(All-cluster-app) Log:

          D: 8145477 [SC]Allocated SecureSession (0x20002c70) - waiting for Sigma1 msg
          I: 8145484 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:134704639 on exchar
          D: 8145495 [EM]Handling via exchange: 57526r, Delegate: 0x200070ec
          D: 8145502 [IM]Received Read request
          D: 8145506 [DMG]IM RH moving to [GeneratingReports]
          D: 8145511 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 8145520 [DMG]<RE:Run> Cluster 31, Attribute 3 is dirty
          D: 8145525 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0003 (expanded=0)
          D: 8145534 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads InterfaceEnabled attribute from the TH"
      PICS: CNET.S.A0004
      verification: |
          ./chip-tool networkcommissioning read interface-enabled 54 0

          Verify "InterfaceEnabled response" on the TH(All-cluster-app) Log:

          D: 8179717 [SC]Allocated SecureSession (0x20002de0) - waiting for Sigma1 msg
          I: 8179725 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:158532673 on exchar
          D: 8179735 [EM]Handling via exchange: 13106r, Delegate: 0x200070ec
          D: 8179741 [IM]Received Read request
          D: 8179745 [DMG]IM RH moving to [GeneratingReports]
          D: 8179750 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 8179759 [DMG]<RE:Run> Cluster 31, Attribute 4 is dirty
          D: 8179764 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0004 (expanded=0)
          D: 8179775 [DMG]<RE> Sending report (payload has 35 bytes)...
      disabled: true

    - label: "DUT reads LastNetworkingStatus attribute from the TH"
      PICS: CNET.S.A0005
      verification: |
          ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read last-networking-status 54 0


          Verify "LastNetworkingStatus response" on the TH(All-cluster-app) Log:

          D: 8428403 [SC]Allocated SecureSession (0x20002d28) - waiting for Sigma1 msg
          I: 8428410 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:135181543 on exchar
          D: 8428421 [EM]Handling via exchange: 29697r, Delegate: 0x200070ec
          D: 8428427 [IM]Received Read request
          D: 8428431 [DMG]IM RH moving to [GeneratingReports]
          D: 8428435 [EM]Retransmitting MessageCounter:53368052 on exchange 29696r Send Cnt 1
          I: 8428443 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53368052 to 0x0000000000000000c
          D: 8428459 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 8428468 [DMG]<RE:Run> Cluster 31, Attribute 5 is dirty
          D: 8428473 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0005 (expanded=0)
          D: 8428483 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads LastNetworkID attribute from the TH"
      PICS: CNET.S.A0006
      verification: |
          ./chip-tool networkcommissioning read last-network-id 54 0


          Verify "LastNetworkID response" on the TH(All-cluster-app) Log:

          D: 8469179 [SC]Allocated SecureSession (0x20002e98) - waiting for Sigma1 msg
          I: 8469187 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:91003604 on exchanr
          D: 8469197 [EM]Handling via exchange: 63120r, Delegate: 0x200070ec
          D: 8469203 [IM]Received Read request
          D: 8469207 [DMG]IM RH moving to [GeneratingReports]
          D: 8469212 [EM]Retransmitting MessageCounter:53368056 on exchange 63119r Send Cnt 1
          I: 8469219 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53368056 to 0x0000000000000000c
          D: 8469233 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 8469242 [DMG]<RE:Run> Cluster 31, Attribute 6 is dirty
          D: 8469248 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0006 (expanded=0)
          D: 8469258 [DMG]<RE> Sending report (payload has 44 bytes)...
      disabled: true

    - label: "DUT reads LastConnectErrorValue attribute from the TH"
      PICS: CNET.S.A0007
      verification: |
          ./chip-tool networkcommissioning read last-connect-error-value 54 0


          Verify "LastConnectErrorValue response" on the TH(All-cluster-app) Log:

          D: 8729020 [SC]Allocated SecureSession (0x20002f50) - waiting for Sigma1 msg
          I: 8729028 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:249692114 on exchar
          D: 8729038 [EM]Handling via exchange: 17068r, Delegate: 0x200070ec
          D: 8729044 [IM]Received Read request
          D: 8729048 [DMG]IM RH moving to [GeneratingReports]
          D: 8729053 [EM]Retransmitting MessageCounter:53368060 on exchange 17067r Send Cnt 1
          I: 8729060 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53368060 to 0x0000000000000000c
          D: 8729074 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 8729083 [DMG]<RE:Run> Cluster 31, Attribute 7 is dirty
          D: 8729089 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0007 (expanded=0)
          D: 8729100 [DMG]<RE> Sending report (payload has 35 bytes)...
      disabled: true
