# 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.9. [TC-CNET-4.11] [Wi-Fi] Verification for ConnectNetwork Command
    [DUT-Server]

PICS:
    - CNET.S.F00

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

tests:
    - label: "Commission TH and DUT over BLE to setup the Wi-Fi"
      verification: |
          All the below commands are to check the Pre-Condition note mentioned in D column.
      disabled: true

    - label:
          "The cluster Identifier 49 (0x0031) is present in the ServerList
          attribute"
      verification: |
          ./chip-tool descriptor read server-list 1 0

          Verify the "descriptor" on the TH(Chip-tool) log

          [1653478221.662178][27661:27666] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0001 DataVersion: 1626448966
          [1653478221.662314][27661:27666] CHIP:TOO:   server list: 26 entries
          [1653478221.662350][27661:27666] CHIP:TOO:     [1]: 3
          [1653478221.662376][27661:27666] CHIP:TOO:     [2]: 4
          [1653478221.662401][27661:27666] CHIP:TOO:     [3]: 29
          [1653478221.662426][27661:27666] CHIP:TOO:     [4]: 30
          [1653478221.662450][27661:27666] CHIP:TOO:     [5]: 31
          [1653478221.662474][27661:27666] CHIP:TOO:     [6]: 40
          [1653478221.662499][27661:27666] CHIP:TOO:     [7]: 42
          [1653478221.662523][27661:27666] CHIP:TOO:     [8]: 43
          [1653478221.662548][27661:27666] CHIP:TOO:     [9]: 44
          [1653478221.662572][27661:27666] CHIP:TOO:     [10]: 45
          [1653478221.662596][27661:27666] CHIP:TOO:     [11]: 46
          [1653478221.662621][27661:27666] CHIP:TOO:     [12]: 47
          [1653478221.662645][27661:27666] CHIP:TOO:     [13]: 48
          [1653478221.662669][27661:27666] CHIP:TOO:     [14]: 49
          [1653478221.662693][27661:27666] CHIP:TOO:     [15]: 50
          [1653478221.662717][27661:27666] CHIP:TOO:     [16]: 51
          [1653478221.662742][27661:27666] CHIP:TOO:     [17]: 52
          [1653478221.662766][27661:27666] CHIP:TOO:     [18]: 53
          [1653478221.662791][27661:27666] CHIP:TOO:     [19]: 54
          [1653478221.662815][27661:27666] CHIP:TOO:     [20]: 55
          [1653478221.662839][27661:27666] CHIP:TOO:     [21]: 60
          [1653478221.662863][27661:27666] CHIP:TOO:     [22]: 62
          [1653478221.662888][27661:27666] CHIP:TOO:     [23]: 63
          [1653478221.662912][27661:27666] CHIP:TOO:     [24]: 64
          [1653478221.662937][27661:27666] CHIP:TOO:     [25]: 65
          [1653478221.662962][27661:27666] CHIP:TOO:     [26]: 1029
      disabled: true

    - label: "The FeatureMap attribute value is 1"
      verification: |
          ./chip-tool networkcommissioning read feature-map 1 0

          Verify the "feature-map" on the TH(Chip-tool) log

          [1653478255.044168][27668:27673] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFC DataVersion: 3424382863
          [1653478255.044240][27668:27673] CHIP:TOO:   FeatureMap: 1
          [1653478255.044352][27668:27673] CHIP:EM: Sending Standalone Ack for MessageCounter:8977728 on exchange 59777i
          [1653478255.044428][27668:27673] CHIP:IN: Prepared secure message 0xffffa77ed958 to 0x0000000000000001 (1)  of type 0x10 and protocolId (0, 0) on exchange 5
      disabled: true

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

          Verify "ArmFailSafeResponse" on the TH(Chip-tool) Log:


          [1653479952.284160][30473:30478] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001
          [1653479952.284231][30473:30478] CHIP:TOO:   ArmFailSafeResponse: {
          [1653479952.284273][30473:30478] CHIP:TOO:     errorCode: 0
          [1653479952.284297][30473:30478] CHIP:TOO:     debugText:
          [1653479952.284322][30473:30478] CHIP:TOO:    }
          [1653479952.284361][30473:30478] CHIP:DMG: ICR moving to [AwaitingDe]
          [1653479952.284425][30473:30478] CHIP:EM: Sending Standalone Ack for MessageCounter:9947639 on exchange 30687i
      disabled: true

    - label:
          "TH reads Networks attribute from the DUT and saves the number of
          entries as 'NumNetworks'"
      PICS: CNET.S.A0001
      verification: |
          ./chip-tool networkcommissioning read networks 1 0

          Verify "Networks entiries and its status" on the TH(Chip-tool) Log:

          [1657733068.835240][7475:7480] CHIP:TOO:   Networks: 1 entries
          [1657733068.835354][7475:7480] CHIP:TOO:     [1]: {
          [1657733068.835434][7475:7480] CHIP:TOO:       NetworkID: 47524C50726976617465
          [1657733068.835487][7475:7480] CHIP:TOO:       Connected: TRUE
          [1657733068.835535][7475:7480] CHIP:TOO:      }
      disabled: true

    - label:
          "TH finds the index of the Networks list entry with NetworkID for
          PIXIT.CNET.WIFI_ 1ST_ACCESSPOINT _SSID and saves it as
          'Userwifi_netidx'"
      verification: |

      disabled: true

    - label:
          "TH sends RemoveNetwork Command to the DUT with NetworkID field set to
          PIXIT.CNET.WIFI_ 1ST_ACCESSPOINT _SSID and Breadcrumb field set to 1"
      PICS: CNET.S.C04.Rsp && CNET.S.C05.Tx
      verification: |
          ./chip-tool networkcommissioning remove-network hex:<your 1st network id in hex> 1 0

          Below is an example:

          ./chip-tool networkcommissioning remove-network hex:47524C50726976617465 1  0 --Breadcrumb 1

          Verify "NetworkConfigResponse and its arguments" on the TH(Chip-tool) Log:

          [1657290079.168208][2668:2673] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005
          [1657290079.168273][2668:2673] CHIP:TOO:   NetworkConfigResponse: {
          [1657290079.168311][2668:2673] CHIP:TOO:     networkingStatus: 0
          [1657290079.168338][2668:2673] CHIP:TOO:     networkIndex: 0
          [1657290079.168362][2668:2673] CHIP:TOO:    }
      disabled: true

    - label:
          "TH sends AddOrUpdateWiFi Network command to the DUT with SSID field
          set to PIXIT.CNET.WIFI_ 2ND_ACCESSPOIN T_SSID, Credentials field set
          to PIXIT.CNET.WIFI_ 2ND_ACCESSPOIN T_CREDENTIALS and Breadcrumb field
          set to 1"
      PICS: CNET.S.C02.Rsp && CNET.S.C05.Tx
      verification: |
          ./chip-tool networkcommissioning add-or-update-wi-fi-network hex:<your network id in hex> 1 0

          Below is an example:

          ./chip-tool networkcommissioning add-or-update-wi-fi-network Sbee_Moto Sunsuraj 1 0 --Breadcrumb 1 ( second network)

          Verify "NetworkConfigResponse and its arguments" on the TH(Chip-tool) Log:

          [1657288838.207746][2455:2460] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0005
          [1657288838.207816][2455:2460] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005
          [1657288838.207935][2455:2460] CHIP:TOO:   NetworkConfigResponse: {
          [1657288838.207990][2455:2460] CHIP:TOO:     networkingStatus: 0
          [1657288838.208030][2455:2460] CHIP:TOO:     networkIndex: 0
          [1657288838.208068][2455:2460] CHIP:TOO:    }
      disabled: true

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

          Verify "Networks entiries and its status" on the TH(Chip-tool) Log:

          [1657733345.351745][7595:7600] CHIP:TOO:   Networks: 1 entries
          [1657733345.351888][7595:7600] CHIP:TOO:     [1]: {
          [1657733345.351952][7595:7600] CHIP:TOO:       NetworkID: 536265655F4D6F746F
          [1657733345.352000][7595:7600] CHIP:TOO:       Connected: FALSE
          [1657733345.352053][7595:7600] CHIP:TOO:      }
      disabled: true

    - label:
          "TH sends ConnectNetwork command to the DUT with NetworkID field set
          to PIXIT.CNET.WIFI_ 2ND_ACCESSPOIN T_SSID and Breadcrumb field set to
          2"
      PICS: CNET.S.C06.Rsp
      verification: |
          ./chip-tool networkcommissioning connect-network hex:<your second network id in hex> 1 0

          Below is an example:

          ./chip-tool networkcommissioning connect-network hex:536265655F4D6F746F 1 0 --Breadcrumb 2 (second network)

          Verify "NetworkConfigResponse and its arguments" on the TH(Chip-tool) Log:


          [1653479953.633815][30491:30496] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0007
          [1653479953.633986][30491:30496] CHIP:TOO:   ConnectNetworkResponse: {
          [1653479953.634133][30491:30496] CHIP:TOO:     networkingStatus: 0
          [1653479953.634195][30491:30496] CHIP:TOO:     errorValue: null
          [1653479953.634275][30491:30496] CHIP:TOO:    }
          [1653479953.634367][30491:30496] CHIP:DMG: ICR moving to [AwaitingDe]
          [1653479953.634501][30491:30496] CHIP:EM: Sending Standalone Ack for MessageCounter:490923 on exchange 21425i
      disabled: true

    - label:
          "TH changes its WiFi connection to
          PIXIT.CNET.WIFI_2ND_ACCESSPOINT_SSID"
      verification: |
          Make sure TH also joins the 2nd Wifi network to have a connectivity to the DUT.
      disabled: true

    - label:
          "TH discovers and connects to DUT on the PIXIT.CNET.WIFI_
          2ND_ACCESSPOIN T_SSID operational network"
      verification: |
          ./chip-tool networkcommissioning read networks 1 0

          Verify "Networks entiries and its status" on the TH(Chip-tool) Log:


          [1657733596.457792][7640:7645] CHIP:TOO:   Networks: 1 entries
          [1657733596.457867][7640:7645] CHIP:TOO:     [1]: {
          [1657733596.457906][7640:7645] CHIP:TOO:       NetworkID: 536265655F4D6F746F
          [1657733596.457940][7640:7645] CHIP:TOO:       Connected: TRUE
          [1657733596.457972][7640:7645] CHIP:TOO:      }
      disabled: true

    - label:
          "TH reads Breadcrumb attribute from the General Commissioning cluster
          of the DUT"
      PICS: CNET.S.C06.Rsp
      verification: |
          ./chip-tool generalcommissioning read breadcrumb 1 0

          Verify "Breadcrumb: 2" on the TH(Chip-tool) Log:

          [1657733618.370511][7653:7658] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_0000 DataVersion: 2956231097
          [1657733618.370581][7653:7658] CHIP:TOO:   Breadcrumb: 2
      disabled: true

    - label:
          "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set
          to 0. This forcibly disarms the fail-safe and is expected to cause the
          changes of configuration to NetworkCommissi oning cluster done so far
          to be reverted."
      verification: |
          Mark as not applicable and proceed to next step

          ./chip-tool generalcommissioning arm-fail-safe 0 0 1 0

          Verify "ArmFailSafeResponse" on the TH(Chip-tool) Log:

          [1657289119.775902][2519:2524] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001
          [1657289119.775973][2519:2524] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001
          [1657289119.776050][2519:2524] CHIP:TOO:   ArmFailSafeResponse: {
          [1657289119.776102][2519:2524] CHIP:TOO:     errorCode: 0
          [1657289119.776141][2519:2524] CHIP:TOO:     debugText:
          [1657289119.776177][2519:2524] CHIP:TOO:    }
      disabled: true

    - label:
          "TH changes its WiFi connection to PIXIT.CNET.WIFI_ 1ST_ACCESSPOINT
          _SSID"
      verification: |
          Mark as not applicable and proceed to next step
      disabled: true

    - label:
          "TH discovers and connects to DUT on the PIXIT.CNET.WIFI_
          1ST_ACCESSPOINT _SSID operational network"
      verification: |
          Mark as not applicable and proceed to next step

          ./chip-tool networkcommissioning read networks 1 0

          Verify "Networks entiries and its status" on the TH(Chip-tool) Log:

          [1657881740.139492][3022:3027] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 4005581086
          [1657881740.139598][3022:3027] CHIP:TOO:   Networks: 0 entries
          [1657881740.139716][3022:3027] CHIP:EM: Sending Standalone Ack for MessageCounter:261851669 on exchange 34342i
      disabled: true

    - label:
          "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set
          to 900"
      verification: |
          Mark as not applicable and proceed to next step

           ./chip-tool generalcommissioning arm-fail-safe 900 0 1 0

          Verify "ArmFailSafeResponse" on the TH(Chip-tool) Log:

          [1657289228.311622][2529:2534] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001
          [1657289228.311668][2529:2534] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001
          [1657289228.311721][2529:2534] CHIP:TOO:   ArmFailSafeResponse: {
          [1657289228.311758][2529:2534] CHIP:TOO:     errorCode: 0
          [1657289228.311783][2529:2534] CHIP:TOO:     debugText:
          [1657289228.311806][2529:2534] CHIP:TOO:    }
      disabled: true

    - label:
          "TH sends RemoveNetwork Command to the DUT with NetworkID field set to
          PIXIT.CNET.WIFI_ 1ST_ACCESSPOINT _SSID and Breadcrumb field set to 1"
      PICS: CNET.S.C04.Rsp && CNET.S.C05.Tx
      verification: |
          Mark as not applicable and proceed to next step

           ./chip-tool networkcommissioning remove-network hex:<your network id in hex> 1 0
          Below is an example:
          ./chip-tool networkcommissioning remove-network hex:47524C50726976617465 1  0 --Breadcrumb 1

          Verify "NetworkConfigResponse and its arguments" on the TH(Chip-tool) Log:

          [1653479953.633815][30491:30496] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0007
          [1653479953.633986][30491:30496] CHIP:TOO:   ConnectNetworkResponse: {
          [1653479953.634133][30491:30496] CHIP:TOO:     networkingStatus: 0
          [1653479953.634195][30491:30496] CHIP:TOO:     errorValue: null
          [1653479953.634275][30491:30496] CHIP:TOO:    }
          [1653479953.634367][30491:30496] CHIP:DMG: ICR moving to [AwaitingDe]
          [1653479953.634501][30491:30496] CHIP:EM: Sending Standalone Ack for MessageCounter:490923 on exchange 21425i
      disabled: true

    - label:
          "TH sends AddOrUpdateWiFi Network command to the DUT with SSID field
          set to PIXIT.CNET.WIFI_ 2ND_ACCESSPOIN T_SSID, Credentials field set
          to PIXIT.CNET.WIFI_ 2ND_ACCESSPOIN T_CREDENTIALS and Breadcrumb field
          set to 1"
      PICS: CNET.S.C02.Rsp && CNET.S.C05.Tx
      verification: |
          Mark as not applicable and proceed to next step

           ./chip-tool networkcommissioning add-or-update-wi-fi-network-network hex:<your network id in hex> 1 0
          Below is an example:
          ./chip-tool networkcommissioning add-or-update-wi-fi-network Sbee_Moto Sunsuraj 1 0 --Breadcrumb 1 ( second network)

          Verify "NetworkConfigResponse and its arguments" on the TH(Chip-tool) Log:

          [1657734444.832145][7736:7741] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005
          [1657734444.832215][7736:7741] CHIP:TOO:   NetworkConfigResponse: {
          [1657734444.832251][7736:7741] CHIP:TOO:     networkingStatus: 0
          [1657734444.832277][7736:7741] CHIP:TOO:     networkIndex: 0
          [1657734444.832299][7736:7741] CHIP:TOO:    }
          [1657734444.832335][7736:7741] CHIP:DMG: ICR moving to [AwaitingDe]
      disabled: true

    - label:
          "TH sends ConnectNetwork command to the DUT with NetworkID field set
          to PIXIT.CNET.WIFI_ 2ND_ACCESSPOIN T_SSID and Breadcrumb field set to
          3"
      PICS: CNET.S.C06.Rsp && CNET.S.C07.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:536265655F4D6F746F 1 0 --Breadcrumb 3 (second network)

          Verify "ConnectNetworkResponse and its arguments" on the TH(Chip-tool) Log:

          [1657734624.698518][7768:7773] CHIP:TOO:   ConnectNetworkResponse: {
          [1657734624.698601][7768:7773] CHIP:TOO:     networkingStatus: 0
          [1657734624.698661][7768:7773] CHIP:TOO:     errorValue: null
          [1657734624.698740][7768:7773] CHIP:TOO:    }
      disabled: true

    - label:
          "TH changes its WiFi connection to PIXIT.CNET.WIFI_ 2ND_ACCESSPOIN
          T_SSID"
      verification: |

      disabled: true

    - label:
          "TH discovers and connects to DUT on the PIXIT.CNET.WIFI_
          2ND_ACCESSPOIN T_SSID operational network"
      verification: |
          ./chip-tool networkcommissioning read networks 1 0

          Verify "Networks entiries and its status" on the TH(Chip-tool) Log:

          [1657733596.457792][7640:7645] CHIP:TOO:   Networks: 1 entries
          [1657733596.457867][7640:7645] CHIP:TOO:     [1]: {
          [1657733596.457906][7640:7645] CHIP:TOO:       NetworkID: 536265655F4D6F746F
          [1657733596.457940][7640:7645] CHIP:TOO:       Connected: TRUE
          [1657733596.457972][7640:7645] CHIP:TOO:      }
      disabled: true

    - label:
          "TH reads Breadcrumb attribute from the General Commissioning cluster
          of the DUT"
      PICS: CNET.S.C06.Rsp
      verification: |
          ./chip-tool generalcommissioning read breadcrumb 1 0


          Verify "Breadcrumb: 3" on the TH(Chip-tool) Log:

          [1657734757.740003][7793:7798] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_0000 DataVersion: 2956231102
          [1657734757.740140][7793:7798] CHIP:TOO:   Breadcrumb: 3
      disabled: true

    - label: "TH sends the CommissioningCo mplete command to the DUT"
      verification: |
          ./chip-tool generalcommissioning commissioning-complete 1 0

          Verify "CommissioningCompleteResponse and its arguments" on the TH(Chip-tool) Log:

          [1657734803.411199][7802:7808] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0005
          [1657734803.411256][7802:7808] CHIP:TOO:   CommissioningCompleteResponse: {
          [1657734803.411306][7802:7808] CHIP:TOO:     errorCode: 0
          [1657734803.411333][7802:7808] CHIP:TOO:     debugText:
          [1657734803.411356][7802:7808] CHIP:TOO:    }
      disabled: true

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

          Verify "Networks entiries and its status" on the TH(Chip-tool) Log:


          [1657734855.925075][7819:7824] CHIP:TOO:   Networks: 1 entries
          [1657734855.925147][7819:7824] CHIP:TOO:     [1]: {
          [1657734855.925185][7819:7824] CHIP:TOO:       NetworkID: 536265655F4D6F746F
          [1657734855.925215][7819:7824] CHIP:TOO:       Connected: TRUE
          [1657734855.925243][7819:7824] CHIP:TOO:      }
      disabled: true
