# 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.19. [TC-CNET-4.21] [Thread] Verification for commands 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: "DUT sends the ScanNetwork command to the TH"
      PICS: CNET.C.C00.Tx
      verification: |
          ./chip-tool networkcommissioning scan-networks 54 0

          Verify "ScanNetworksResponse status" on the TH(All-cluster-app) Log:

          D: 14385336 [SC]Allocated SecureSession (0x20003510) - waiting for Sigma1 msg
          I: 14385344 [EM]Received message of type 0x8 with protocolId (0, 1) and MessageCounter:197483196 on exchr
          D: 14385354 [EM]Handling via exchange: 9330r, Delegate: 0x200070ec
          D: 14385361 [DMG]Received command for Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0000
          D: 14385369 [DMG]Decreasing reference count for CommandHandler, remaining 1
          I: 14385377 [EM]Received message of type 0x10 with protocolId (0, 0) and MessageCounter:178528543 on excr
          D: 14385387 [EM]Found matching exchange: 9329r, Delegate: (nil)
          D: 14385393 [EM]Rxd Ack; Removing MessageCounter:53368092 from Retrans Table on exchange 9329r
          D: 14385401 [EM]Removed CHIP MessageCounter:53368092 from RetransTable on exchange 9329r
          I: 14385432 [DL]Thread Network: GRL Panid 0xface Channel 11 RSSI -85 LQI 28 Version 4
          D: 14385560 [EM]Sending Standalone Ack for MessageCounter:197483196 on exchange 9330r
          I: 14385569 [IN]Prepared secure message 0x2002d4a8 to 0x000000000001B669 (1)  of type 0x10 and protocolI.
          I: 14385583 [IN]Sending encrypted msg 0x2002d4a8 with MessageCounter:136422877 to 0x000000000001B669 (1)c
          I: 14386621 [DL]Thread Network: OpenThpeudkomku Panid 0x1234 Channel 15 RSSI -62 LQI 120 Version 3
          I: 14386712 [DL]Thread Network: GRL Panid 0xface Channel 15 RSSI -89 LQI 20 Version 4
          D: 14390254 [DMG]ICR moving to [ Preparing]
          D: 14390258 [DMG]ICR moving to [AddingComm]
          D: 14390263 [DMG]ICR moving to [AddedComma]
          D: 14390267 [DMG]Decreasing reference count for CommandHandler, remaining 0
          I: 14390276 [IN]Prepared secure message 0x2000489c to 0x000000000001B669 (1)  of type 0x9 and protocolId.
          I: 14390291 [IN]Sending encrypted msg 0x2000489c with MessageCounter:136422878 to 0x000000000001B669 (1)c
          D: 14390305 [DMG]ICR moving to [CommandSen]
      disabled: true

    - label: "DUT sends the ArmFailSafe command to the TH"
      verification: |
          ./chip-tool generalcommissioning arm-fail-safe 900 1 54 0

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

          D: 14447757 [SC]Allocated SecureSession (0x200035c8) - waiting for Sigma1 msg
          I: 14447765 [EM]Received message of type 0x8 with protocolId (0, 1) and MessageCounter:60910764 on exchar
          D: 14447775 [EM]Handling via exchange: 51913r, Delegate: 0x200070ec
          D: 14447782 [DMG]Received command for Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0000
          I: 14447790 [FS]GeneralCommissioning: Received ArmFailSafe (90s)
          D: 14447796 [DMG]Endpoint 0, Cluster 0x0000_0030 update version to feff759c
          D: 14447802 [DMG]ICR moving to [ Preparing]
          D: 14447806 [DMG]ICR moving to [AddingComm]
          D: 14447810 [DMG]ICR moving to [AddedComma]
          D: 14447814 [DMG]Decreasing reference count for CommandHandler, remaining 0
          I: 14447822 [IN]Prepared secure message 0x200048b4 to 0x000000000001B669 (1)  of type 0x9 and protocolId.
          I: 14447839 [IN]Sending encrypted msg 0x200048b4 with MessageCounter:10799379 to 0x000000000001B669 (1) c
          D: 14447853 [DMG]ICR moving to [CommandSen]
      disabled: true

    - label: "DUT sends the AddOrUpdateThreadNetwork command to the TH"
      PICS: CNET.C.C03.Tx
      verification: |
          ./chip-tool networkcommissioning add-or-update-thread-network-network hex:<your network id in hex> 1 0

          Below is an example:

          ./chip-tool networkcommissioning add-or-update-thread-network hex:0e080000000000010000000300000f35060004001fffe0020811111111072222220708fd9957a92dadc7aa051000112233445966778899aabbccddeeff030f4f70656e54687265616444656d6f6a0102123404106ad73489ca556d19f8c47fd2150e58e30c0402a0fff8 54 0

          Verify "NetworkConfigResponse and its arguments" on the TH(All-cluster-app) Log:

          D: 14484538 [SC]Allocated SecureSession (0x20003680) - waiting for Sigma1 msg
          D: 14484545 [EM]Retransmitting MessageCounter:53368100 on exchange 24385r Send Cnt 1
          I: 14484553 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53368100 to 0x000000000000000c
          I: 14484568 [EM]Received message of type 0x8 with protocolId (0, 1) and MessageCounter:77079850 on exchar
          D: 14484580 [EM]Handling via exchange: 24386r, Delegate: 0x200070ec
          D: 14484587 [DMG]Received command for Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0003
          D: 14484597 [DMG]ICR moving to [ Preparing]
          D: 14484601 [DMG]ICR moving to [AddingComm]
          D: 14484606 [DMG]ICR moving to [AddedComma]
          D: 14484611 [DMG]Decreasing reference count for CommandHandler, remaining 0
          I: 14484619 [IN]Prepared secure message 0x200048b4 to 0x000000000001B669 (1)  of type 0x9 and protocolId.
          I: 14484633 [IN]Sending encrypted msg 0x200048b4 with MessageCounter:249890633 to 0x000000000001B669 (1)c
          D: 14484648 [DMG]ICR moving to [CommandSen]
      disabled: true

    - label: "DUT sends the ConnectNetwork command to the TH"
      PICS: CNET.C.C06.Tx
      verification: |
          ./chip-tool networkcommissioning connect-network hex:<your network id in hex> 1 0

          Below is an example:

          ./chip-tool networkcommissioning connect-network hex:1111111107222222 54 0

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

          D: 14513760 [IN]SecureSession[0x20003738]: Allocated Type:2 LSID:13367
          D: 14513766 [SC]Allocated SecureSession (0x20003738) - waiting for Sigma1 msg
          I: 14513774 [EM]Received message of type 0x8 with protocolId (0, 1) and MessageCounter:239166765 on exchr
          D: 14513784 [EM]Handling via exchange: 65498r, Delegate: 0x200070ec
          D: 14513791 [DMG]Received command for Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0006
          D: 14513799 [DMG]ICR moving to [ Preparing]
          D: 14513803 [DMG]ICR moving to [AddingComm]
          D: 14513807 [DMG]ICR moving to [AddedComma]
          D: 14513813 [DMG]Decreasing reference count for CommandHandler, remaining 1
          D: 14513820 [DMG]Decreasing reference count for CommandHandler, remaining 0
          I: 14513827 [IN]Prepared secure message 0x200048b4 to 0x000000000001B669 (1)  of type 0x9 and protocolId.
          I: 14513842 [IN]Sending encrypted msg 0x200048b4 with MessageCounter:17976666 to 0x000000000001B669 (1) c
          D: 14513856 [DMG]ICR moving to [CommandSen]
      disabled: true

    - label: "DUT sends the ReorderNetwork command to the TH"
      PICS: CNET.C.C08.Tx
      verification: |
          ./chip-tool networkcommissioning reorder-network hex:<your network id in hex> 1 0

          Below is an example:

          ./chip-tool networkcommissioning reorder-network hex:0119100899082022 3 54 0

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

          D: 14569275 [IN]SecureSession[0x20002c70]: Allocated Type:2 LSID:13369
          D: 14569282 [SC]Allocated SecureSession (0x20002c70) - waiting for Sigma1 msg
          I: 14569289 [EM]Received message of type 0x8 with protocolId (0, 1) and MessageCounter:42856299 on exchar
          D: 14569300 [EM]Handling via exchange: 57898r, Delegate: 0x200070ec
          D: 14569306 [DMG]Received command for Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0008
          D: 14569314 [DMG]ICR moving to [ Preparing]
          D: 14569318 [DMG]ICR moving to [AddingComm]
          D: 14569322 [DMG]ICR moving to [AddedComma]
          D: 14569326 [DMG]Decreasing reference count for CommandHandler, remaining 0
          I: 14569333 [IN]Prepared secure message 0x200048b4 to 0x000000000001B669 (1)  of type 0x9 and protocolId.
          I: 14569348 [IN]Sending encrypted msg 0x200048b4 with MessageCounter:151956957 to 0x000000000001B669 (1)c
          D: 14569362 [DMG]ICR moving to [CommandSen]
      disabled: true

    - label: "DUT sends the RemoveNetwork command to the TH"
      PICS: CNET.C.C04.Tx
      verification: |
          ./chip-tool networkcommissioning remove-network hex:<your network id in hex> 1 0

          Below is an example:

          ./chip-tool networkcommissioning  remove-network hex:0119100899082022 54 0

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

          D: 14591036 [IN]SecureSession[0x20002de0]: Allocated Type:2 LSID:13370
          D: 14591042 [SC]Allocated SecureSession (0x20002de0) - waiting for Sigma1 msg
          I: 14591050 [EM]Received message of type 0x8 with protocolId (0, 1) and MessageCounter:7121068 on exchanr
          D: 14591060 [EM]Handling via exchange: 20338r, Delegate: 0x200070ec
          D: 14591066 [DMG]Received command for Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0004
          D: 14591074 [DMG]ICR moving to [ Preparing]
          D: 14591078 [DMG]ICR moving to [AddingComm]
          D: 14591082 [DMG]ICR moving to [AddedComma]
          D: 14591086 [DMG]Decreasing reference count for CommandHandler, remaining 0
          I: 14591096 [IN]Prepared secure message 0x200048b4 to 0x000000000001B669 (1)  of type 0x9 and protocolId.
          I: 14591110 [IN]Sending encrypted msg 0x200048b4 with MessageCounter:241944247 to 0x000000000001B669 (1)c
          D: 14591124 [DMG]ICR moving to [CommandSen]
      disabled: true
