# 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.S.F00

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

tests:
    - 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: |
          verification step to be updated.
      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 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 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: |
          verification step to be updated.
      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: |
          ./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: |
          verification step to be updated.
      disabled: true

    - label:
          "TH discovers and connects to DUT on the PIXIT.CNET.WIFI_
          1ST_ACCESSPOINT _SSID operational network"
      verification: |
          ./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: |
          ./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: |
          ./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: |
          ./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: |
          verification step to be updated.
      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
