# 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:
    24.1.5. [TC-CADMIN-1.5] Commissioning window handling timeout and revocation
    using ECM [DUT - Commissionee]

PICS:
    - CADMIN.S

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

tests:
    - label: "Precondition"
      verification: |
          Reset Devices to factory defaults
      disabled: true

    - label: "TH_CR1 starts a commissioning process with DUT_CE"
      PICS: CADMIN.S
      verification: |
          "1. Provision the DUT_CE (all-cluster-app) device using TH_CR1 (chip-tool ) on the raspi"
      disabled: true

    - label:
          "TH_CR1 opens a commissioning window on DUT_CE using a commissioning
          timeout of PIXIT.CADMIN.CwDuration seconds using ECM"
      PICS: CADMIN.S.C00.Rsp
      verification: |
          On TH_CR1 send the below command

          ./chip-tool pairing open-commissioning-window 1 1 200 1000 3841

          Verify the Open commisioning window on the DUT_CE(all-cluster-app) Log:

          [1660904553.796857][3537:3537] CHIP:DMG: Received command for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0000
          [1660904553.796951][3537:3537] CHIP:ZCL: Received command to open commissioning window
          [1660904553.797255][3537:3537] CHIP:IN: SecureSession[0xaaab142ef7f0]: Allocated Type:1 LSID:34523

          Verify the Manual pairing code on the TH_CR1(chip-tool) Log:

          [1635864513.699433][3850:3855] CHIP:DMG: ICR moving to [CommandSen]
          [1635864513.699489][3850:3855] CHIP:CTL: Manual pairing code: [36177160937]
          [1635864513.699566][3850:3855] CHIP:CTL: SetupQRCode: [MT:00000CQM00YZN476420]
          [1635864513.699636][3850:3855] CHIP:EM: Sending Standalone Ack for MessageCounter:2599714227 on exchange 60688i
          [1635864513.699685][3850:3855] CHIP:IN: Prepared plaintext message 0xffff8a7cd960 to 0x0000000000000000 of type
      disabled: true

    - label: "DNS-SD records shows DUT_CE advertising"
      verification: |
          On TH_CR1 send the below command

          avahi-browse -rt _matterc._udp
          +   eth0 IPv6 B755245DE9E5E186                              _matterc._udp        local
          =   eth0 IPv6 B755245DE9E5E186                              _matterc._udp        local
             hostname = [E45F010F27530000.local]
             address = [fe80::e65f:1ff:fe0f:2753]
             port = [5540]
             txt = ["PI=" "PH=36" "CM=2" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]
      disabled: true

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE after
          PIXIT.CADMIN.CwDuration (that was given in step 2) + 10 seconds"
      PICS: CADMIN.S.C00.Rsp
      verification: |
          On TH_CR2 send the below command

          Below is the example when using chip tool as controller (considering 36177160937 as the manual code generated by 1st controller)

          ./chip-tool pairing code 2 36177160937 --commissioner-name beta

          Verify the below message in the TH_CR2(chip-tool) Log:

          [1663841939.843550][13897:13897] CHIP:DL: NVS set: chip-counters/total-operational-hours = 0 (0x0)
          [1663841939.843617][13897:13897] CHIP:DL: Inet Layer shutdown
          [1663841939.843673][13897:13897] CHIP:DL: BLE shutdown
          [1663841939.843727][13897:13897] CHIP:DL: System Layer shutdown
          [1663841939.844009][13897:13897] CHIP:TOO: Run command failure: ../../examples/chip-tool/commands/pairing/PairingCommand.cpp:151: CHIP Error 0x00000003: Incorrect state
      disabled: true

    - label:
          "TH_CR1 opens a new commissioning window on DUT_CE using a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM"
      PICS: CADMIN.S.C00.Rsp
      verification: |
          On TH_CR1 send the below command

          ./chip-tool pairing open-commissioning-window 1 1 200 1000 3841

          Verify the Open commisioning window on the DUT_CE(all-cluster-app) Log:

          [1660904553.796857][3537:3537] CHIP:DMG: Received command for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0000
          [1660904553.796951][3537:3537] CHIP:ZCL: Received command to open commissioning window
          [1660904553.797255][3537:3537] CHIP:IN: SecureSession[0xaaab142ef7f0]: Allocated Type:1 LSID:34523

          Verify the Manual pairing code on the TH_CR1(chip-tool) Log:

          [1635864513.699433][3850:3855] CHIP:DMG: ICR moving to [CommandSen]
          [1635864513.699489][3850:3855] CHIP:CTL: Manual pairing code: [36177160937]
          [1635864513.699566][3850:3855] CHIP:CTL: SetupQRCode: [MT:00000CQM00YZN476420]
          [1635864513.699636][3850:3855] CHIP:EM: Sending Standalone Ack for MessageCounter:2599714227 on exchange 60688i
          [1635864513.699685][3850:3855] CHIP:IN: Prepared plaintext message 0xffff8a7cd960 to 0x0000000000000000 of type
      disabled: true

    - label:
          "TH_CR1 revokes the commissioning window on DUT_CE using
          RevokeCommissioning command"
      PICS: CADMIN.S.C02.Rsp
      verification: |
          On TH_CR1 send the below command

          ./chip-tool administratorcommissioning revoke-commissioning 1 0 --timedInteractionTimeoutMs 1000

          Verify the Commissioning window is closed in DUT_CE(all-clusters-app) Log

          [1660901039.590891][3045:3045] CHIP:DMG: AccessControl: allowed
          [1660901039.590962][3045:3045] CHIP:DMG: Received command for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0002
          [1660901039.591036][3045:3045] CHIP:ZCL: Received command to close commissioning window
          [1660901039.591094][3045:3045] CHIP:SVR: Closing pairing window
          [1660901039.591169][3045:3045] CHIP:IN: SecureSession[0xaaaab010d400]: Released - Type:1 LSID:14411

          Verify the success response On TH_CR1(chip-tool) Log

          [1648115245106] [6681:3894448] CHIP: [DMG]                                 StatusIB =
          [1648115245106] [6681:3894448] CHIP: [DMG]                                 {
          [1648115245106] [6681:3894448] CHIP: [DMG]                                         status = 0x0,
          [1648115245106] [6681:3894448] CHIP: [DMG]                                 },
      disabled: true

    - label: "TH_CR2 starts a commissioning process with DUT_CE"
      PICS: CADMIN.S
      verification: |
          On TH_CR2 send the below command

          Below is the example when using chip tool as controller (considering 36177160937 as the manual code generated by 1st controller)
          ./chip-tool pairing code 2 36177160937 --commissioner-name beta

          verify you got the following message On TH_CR2(chip-tool) Log


          [1663841939.843550][13897:13897] CHIP:DL: NVS set: chip-counters/total-operational-hours = 0 (0x0)
          [1663841939.843617][13897:13897] CHIP:DL: Inet Layer shutdown
          [1663841939.843673][13897:13897] CHIP:DL: BLE shutdown
          [1663841939.843727][13897:13897] CHIP:DL: System Layer shutdown
          [1663841939.844009][13897:13897] CHIP:TOO: Run command failure: ../../examples/chip-tool/commands/pairing/PairingCommand.cpp:151: CHIP Error 0x00000003: Incorrect state
      disabled: true

    - label:
          "TH_CR1 revokes the commissioning window on DUT_CE using
          RevokeCommissioning command"
      PICS: CADMIN.S.C02.Rsp
      verification: |
          On TH_CR1 send the below command

          ./chip-tool administratorcommissioning revoke-commissioning 1 0 --timedInteractionTimeoutMs 1000

          verify you got the following message On TH_CR1(chip-tool) Log


          [1650524034.112257][15422:15427] CHIP:DMG:                                         CommandId = 0x2,
          [1650524034.112345][15422:15427] CHIP:DMG:                                 },
          [1650524034.112456][15422:15427] CHIP:DMG:
          [1650524034.112543][15422:15427] CHIP:DMG:                                 StatusIB =
          [1650524034.112632][15422:15427] CHIP:DMG:                                 {
          [1650524034.112727][15422:15427] CHIP:DMG:                                         status = 0x01 (FAILURE),
          [1650524034.112825][15422:15427] CHIP:DMG:                                         cluster-status = 0x4,
          [1650524034.112914][15422:15427] CHIP:DMG:                                 },
          [1650524034.113005][15422:15427] CHIP:DMG:
          [1650524034.113084][15422:15427] CHIP:DMG:                         },
      disabled: true

    - label:
          "TH_CR1 writes and reads the Basic Information Clusters NodeLabel
          mandatory attribute of DUT_CE"
      PICS: BINFO.S.A0005
      verification: |
          On TH_CR1 send the below command

          ./chip-tool basicinformation write node-label te5new 1 0

          Verify the Success response on the TH_CR1(chip-tool) Log:


          [1649245940.789388][10110:10115] CHIP:DMG:
          [1649245940.789454][10110:10115] CHIP:DMG:                         StatusIB =
          [1649245940.789519][10110:10115] CHIP:DMG:                         {
          [1649245940.789588][10110:10115] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1649245940.789654][10110:10115] CHIP:DMG:                         },
          [1649245940.789719][10110:10115] CHIP:DMG:
          [1649245940.789778][10110:10115] CHIP:DMG:                 },
          [1649245940.789841][10110:10115] CHIP:DMG:
          [1649245940.789885][10110:10115] CHIP:DMG:         ],
          [1649245940.789941][10110:10115] CHIP:DMG:
          [1649245940.789984][10110:10115] CHIP:DMG:         InteractionModelRevision = 1
          [1649245940.790033][10110:10115] CHIP:DMG: }
          [1649245940.790167][10110:10115] CHIP:DMG: WriteClient moving to [AwaitingDe]

          ./chip-tool basicinformation read node-label 1 0

          Verify the Nodelabel response on the TH_CR1(chip-tool) Log:

          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 3061847068
          [1649245950.006849][10116:10121] CHIP:TOO:   NodeLabel: te5new
          [1649245950.007024][10116:10121] CHIP:EM: Sending Standalone Ack for MessageCounter:12495101 on exchange 24816i
      disabled: true

    - label:
          "TH_CR1 opens a new commissioning window on DUT_CE using a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM but
          with wrong PakeVerifier value"
      PICS: CADMIN.S.C00.Rsp
      verification: |
          On TH_CR1 send the below command

          ./chip-tool administratorcommissioning open-commissioning-window 200 \x06\xc7\x56\xdf\xfc\xd7\x22\x65\x34\x52\xa1\x2d\xcd\x94\x5d\x8c\x54\xda\x2b\x0f\x3c\xbd\x1b\x4d\xc3\xf1\xad\xb2\x23\xae\xb2\x6b\x04\x7c\xd2\x4c\x96\x86\x6f\x97\x9b\x1d\x83\xec\x50\xe2\xb4\xae\x30\xcd\xf2\xfd\xb3\x2b\xd8\xa2\x11\xb8\x37\xdc\x94\xed\xcd\x56\xf4\xd1\x43\x77\x19\x10\x76\xbf\xc5\x9d\x99\xb7\xdd\x30\x53\xef\xd6\xf0\x2c\x44\x34\xf2\xbd 3841 1000 16  1 0 --timedInteractionTimeoutMs 1000

          Verify the status on the TH_CR1(chip-tool) Log:

          [1656434435.691038][3836:3842] CHIP:DMG:                                 {
          [1656434435.691119][3836:3842] CHIP:DMG:                                         EndpointId = 0x0,
          [1656434435.691287][3836:3842] CHIP:DMG:                                         ClusterId = 0x3c,
          [1656434435.691377][3836:3842] CHIP:DMG:                                         CommandId = 0x0,
          [1656434435.691456][3836:3842] CHIP:DMG:                                 },
          [1656434435.691548][3836:3842] CHIP:DMG:
          [1656434435.691620][3836:3842] CHIP:DMG:                                 StatusIB =
          [1656434435.691707][3836:3842] CHIP:DMG:                                 {
          [1656434435.691788][3836:3842] CHIP:DMG:                                         status = 0x01 (FAILURE),
          [1656434435.691874][3836:3842] CHIP:DMG:                                         cluster-status = 0x3,
          [1656434435.691954][3836:3842] CHIP:DMG:                                 },
          [1656434435.692041][3836:3842] CHIP:DMG:
          [1656434435.692112][3836:3842] CHIP:DMG:                         },
          [1656434435.692191][3836:3842] CHIP:DMG:
          [1656434435.692257][3836:3842] CHIP:DMG:                 },
      disabled: true

    - label:
          "TH_CR1 opens a new commissioning window on DUT_CE using a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM"
      PICS: CADMIN.S.C00.Rsp
      verification: |
          On TH_CR1 send the below command

          ./chip-tool pairing open-commissioning-window 1 1 200 1000 3841

          Verify the Open commisioning window on the DUT_CE(all-cluster-app) Log:

          [1660904553.796857][3537:3537] CHIP:DMG: Received command for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0000
          [1660904553.796951][3537:3537] CHIP:ZCL: Received command to open commissioning window
          [1660904553.797255][3537:3537] CHIP:IN: SecureSession[0xaaab142ef7f0]: Allocated Type:1 LSID:34523

          Verify the Manual pairing code on the TH_CR1(chip-tool) Log:

          [1635864513.699433][3850:3855] CHIP:DMG: ICR moving to [CommandSen]
          [1635864513.699489][3850:3855] CHIP:CTL: Manual pairing code: [36177160937]
          [1635864513.699566][3850:3855] CHIP:CTL: SetupQRCode: [MT:00000CQM00YZN476420]
          [1635864513.699636][3850:3855] CHIP:EM: Sending Standalone Ack for MessageCounter:2599714227 on exchange 60688i
          [1635864513.699685][3850:3855] CHIP:IN: Prepared plaintext message 0xffff8a7cd960 to 0x0000000000000000 of type
      disabled: true

    - label:
          "TH_CR1 opens another commissioning window on DUT_CE using a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM"
      PICS: CADMIN.S.C00.Rsp
      verification: |
          On TH_CR1 send the below command

          ./chip-tool pairing open-commissioning-window 1 1 200 1000 3840

          Verify that the DUT_CE is rejecting the opening of second commissioning session  with  the response status 0x01 failure

          [1656405166.756822][5933:5938] CHIP:DMG:                                 {
          [1656405166.756927][5933:5938] CHIP:DMG:                                         EndpointId = 0x0,
          [1656405166.757033][5933:5938] CHIP:DMG:                                         ClusterId = 0x3c,
          [1656405166.757120][5933:5938] CHIP:DMG:                                         CommandId = 0x0,
          [1656405166.757222][5933:5938] CHIP:DMG:                                 },
          [1656405166.757333][5933:5938] CHIP:DMG:
          [1656405166.757452][5933:5938] CHIP:DMG:                                 StatusIB =
          [1656405166.757557][5933:5938] CHIP:DMG:                                 {
          [1656405166.757641][5933:5938] CHIP:DMG:                                         status = 0x01 (FAILURE),
          [1656405166.757745][5933:5938] CHIP:DMG:                                         cluster-status = 0x2,
          [1656405166.757846][5933:5938] CHIP:DMG:                                 },
          [1656405166.757929][5933:5938] CHIP:DMG:
          [1656405166.758014][5933:5938] CHIP:DMG:                         },
      disabled: true

    - label: "TH_CR2 starts a commissioning process with DUT_CE"
      PICS: CADMIN.S
      verification: |
          On TH_CR2 send the below command

          Below is the example when using chip tool as controller (considering 36177160937 as the manual code generated by 1st controller)
          ./chip-tool pairing code 2 36177160937 --commissioner-name beta

          Verify the below message in the TH_CR2(chip-tool) Log:
          Device commissioning completed with success
      disabled: true

    - label:
          "TH_CR1 tries to revoke the commissioning window on DUT_CE using
          RevokeCommissioning command"
      PICS: CADMIN.S.C02.Rsp
      verification: |
          On TH_CR1 send the below command

          ./chip-tool administratorcommissioning revoke-commissioning 1 0 --timedInteractionTimeoutMs 1000

          Verify that the DUT_CE is rejecting the opening of second commissioning session  with  the response status 0x01 failure

          [1656405166.756822][5933:5938] CHIP:DMG:                                 {
          [1656405166.756927][5933:5938] CHIP:DMG:                                         EndpointId = 0x0,
          [1656405166.757033][5933:5938] CHIP:DMG:                                         ClusterId = 0x3c,
          [1656405166.757120][5933:5938] CHIP:DMG:                                         CommandId = 0x0,
          [1656405166.757222][5933:5938] CHIP:DMG:                                 },
          [1656405166.757333][5933:5938] CHIP:DMG:
          [1656405166.757452][5933:5938] CHIP:DMG:                                 StatusIB =
          [1656405166.757557][5933:5938] CHIP:DMG:                                 {
          [1656405166.757641][5933:5938] CHIP:DMG:                                         status = 0x01 (FAILURE),
          [1656405166.757745][5933:5938] CHIP:DMG:                                         cluster-status = 0x4,
          [1656405166.757846][5933:5938] CHIP:DMG:                                 },
          [1656405166.757929][5933:5938] CHIP:DMG:
          [1656405166.758014][5933:5938] CHIP:DMG:                         },
      disabled: true

    - label: "TH_CR3 starts a commissioning process with DUT_CE"
      PICS: CADMIN.S
      verification: |
          On TH_CR3 send the below command

          Below is the example when using chip tool as controller (considering 36177160937 as the manual code generated by 1st controller)
          ./chip-tool pairing code 1 36177160937 --commissioner-name gamma

          verify you got the following message in the TH_CR3(chip-tool) log
          CHIP:SC: PASESession timed out while waiting for a response from the peer. Expected message type was 33
          CHIP:TOO: Secure Pairing Failed
          CHIP:TOO: Pairing Failure: ../../third_party/connectedhomeip/src/protocols/secure_channel/PASESession.cpp:324: CHIP Error 0x00000032: Timeout
      disabled: true
