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

PICS:
    - CNET.S.F00

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

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

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

          [1653478311.640549][30368:30373] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001
          [1653478311.640646][30368:30373] CHIP:TOO:   ArmFailSafeResponse: {
          [1653478311.640696][30368:30373] CHIP:TOO:     errorCode: 0
          [1653478311.640729][30368:30373] CHIP:TOO:     debugText:
          [1653478311.640763][30368:30373] CHIP:TOO:    }
          [1653478311.640821][30368:30373] CHIP:DMG: ICR moving to [AwaitingDe]
          [1653478311.640901][30368:30373] CHIP:EM: Sending Standalone Ack for MessageCounter:8633037 on exchange 20698i
      disabled: true

    - label: "TH reads the Networks attribute list 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:

          [1654250379.881780][5309:5314] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 3741733376
          [1654250379.881974][5309:5314] CHIP:TOO:   Networks: 1 entries
          [1654250379.882123][5309:5314] CHIP:TOO:     [1]: {
          [1654250379.882196][5309:5314] CHIP:TOO:       NetworkID: 47524C50726976617465
          [1654250379.882257][5309:5314] CHIP:TOO:       Connected: TRUE
          [1654250379.882312][5309:5314] CHIP:TOO:      }
      disabled: true

    - label:
          "TH finds the index of the Networks list entry with NetworkID field
          value PIXIT.CNET.WIFI_ 1ST_ACCESSPOINT_SSID and saves it as
          Userwifi_netidx"
      verification: |
          ./chip-tool networkcommissioning read last-network-id 1 0

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

          [1657198553.376268][5799:5804] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0006 DataVersion: 2494552649
          [1657198553.376351][5799:5804] CHIP:TOO:   LastNetworkID: 47524C50726976617465
      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

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


          [1653478327.351092][30388:30393] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005
          [1653478327.351200][30388:30393] CHIP:TOO:   NetworkConfigResponse: {
          [1653478327.351252][30388:30393] CHIP:TOO:     networkingStatus: 0
          [1653478327.351288][30388:30393] CHIP:TOO:     networkIndex: 0
          [1653478327.351320][30388:30393] CHIP:TOO:    }
          [1653478327.351373][30388:30393] CHIP:DMG: ICR moving to [AwaitingDe]
          [1653478327.351449][30388:30393] CHIP:EM: Sending Standalone Ack for MessageCounter:14887098 on exchange 8676i
      disabled: true

    - label: "TH1 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:

          [1653478331.979300][30395:30400] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 1600858167
          [1653478331.979380][30395:30400] CHIP:TOO:   Networks: 0 entries
          [1653478331.979496][30395:30400] CHIP:EM: Sending Standalone Ack for MessageCounter:609449 on exchange 40264i
      disabled: true

    - label: "TH reads LastNetworkingStatus attribute from the DUT"
      PICS: CNET.S.A0005
      verification: |
          ./chip-tool networkcommissioning read last-networking-status 1 0

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

          [1653478850.425096][30420:30425] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0005 DataVersion: 1600858167
          [1653478850.425170][30420:30425] CHIP:TOO:   LastNetworkingStatus: 0
          [1653478850.425269][30420:30425] CHIP:EM: Sending Standalone Ack for MessageCounter:8275942 on exchange 13394i
      disabled: true

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

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

          [1657197861.497831][5737:5742] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0006 DataVersion: 2494552649
          [1657197861.497897][5737:5742] CHIP:TOO:   LastNetworkID: 47524C50726976617465
      disabled: true

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

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

          [1657197903.686316][5745:5750] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_0000 DataVersion: 2805642043
          [1657197903.686428][5745:5750] CHIP:TOO:   Breadcrumb: 1
      disabled: true

    - label:
          "TH sends ConnectNetwork command to the DUT with NetworkID field set
          to PIXIT.CNET.WIFI_ 1ST_ACCESSPOINT _SSID and Breadcrumb field set to
          2"
      PICS: CNET.S.C04.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:47524C50726976617465 1 0 --Breadcrumb 2

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

          [1657288261.892249][2347:2352] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0007
          [1657288261.892304][2347:2352] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0007
          [1657288261.892430][2347:2352] CHIP:TOO:   ConnectNetworkResponse: {
          [1657288261.892477][2347:2352] CHIP:TOO:     networkingStatus: 3
          [1657288261.892511][2347:2352] CHIP:TOO:     errorValue: 0
          [1657288261.892542][2347:2352] CHIP:TOO:    }
      disabled: true

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

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

          [1657288331.671111][2360:2365] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_0000 DataVersion: 3470734109
          [1657288331.671207][2360:2365] CHIP:TOO:   Breadcrumb: 1
      disabled: true

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

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

          [1657288382.006035][2369:2374] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001
          [1657288382.006094][2369:2374] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001
          [1657288382.006157][2369:2374] CHIP:TOO:   ArmFailSafeResponse: {
          [1657288382.006201][2369:2374] CHIP:TOO:     errorCode: 0
          [1657288382.006233][2369:2374] CHIP:TOO:     debugText:
          [1657288382.006263][2369:2374] 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:

          [1657288403.226567][2376:2381] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 1420716065
          [1657288403.226663][2376:2381] CHIP:TOO:   Networks: 0 entries
      disabled: true

    - label:
          "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set
          to 90"
      verification: |
          ./chip-tool generalcommissioning arm-fail-safe 90 1 1 0

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

          [1657288428.409103][2382:2388] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001
          [1657288428.409191][2382:2388] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001
          [1657288428.409303][2382:2388] CHIP:TOO:   ArmFailSafeResponse: {
          [1657288428.409367][2382:2388] CHIP:TOO:     errorCode: 0
          [1657288428.409435][2382:2388] CHIP:TOO:     debugText:
          [1657288428.409481][2382:2388] 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:

          [1657288459.534546][2390:2395] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0005
          [1657288459.534622][2390:2395] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005
          [1657288459.534720][2390:2395] CHIP:TOO:   NetworkConfigResponse: {
          [1657288459.534779][2390:2395] CHIP:TOO:     networkingStatus: 3
          [1657288459.534824][2390:2395] CHIP:TOO:    }
      disabled: true

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

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

          [1657288504.905001][2397:2402] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0005
          [1657288504.905050][2397:2402] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0005
          [1657288504.905108][2397:2402] CHIP:TOO:   CommissioningCompleteResponse: {
          [1657288504.905145][2397:2402] CHIP:TOO:     errorCode: 0
          [1657288504.905169][2397:2402] CHIP:TOO:     debugText:
          [1657288504.905191][2397:2402] CHIP:TOO:    }
      disabled: true

    - label:
          "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set
          to 0 to ensure the CommissioningCo mplete call properly persisted the
          failsafe context. This call should have no effect if Commissionining
          Complete call is handled correctly"
      verification: |
          ./chip-tool generalcommissioning arm-fail-safe 0 0 1 0

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

          [1657288529.987350][2404:2409] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001
          [1657288529.987514][2404:2409] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001
          [1657288529.987612][2404:2409] CHIP:TOO:   ArmFailSafeResponse: {
          [1657288529.987677][2404:2409] CHIP:TOO:     errorCode: 0
          [1657288529.987725][2404:2409] CHIP:TOO:     debugText:
          [1657288529.987772][2404:2409] 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:

          [1657288549.446752][2412:2417] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 1420716065
          [1657288549.446852][2412:2417] CHIP:TOO:   Networks: 0 entries
      disabled: true
