# 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:
    4.1.8. [TC-CADMIN-1.8] Commissioning window handling timeout and revocation
    using BCM [DUT - Commissioner]

PICS:
    - CADMIN.C

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

tests:
    - label: "Note"
      verification: |
          For DUT as comissioner  test cases, Chip-tool command used below are an example to verify the functionality. For certification test, we expect DUT should have a capability or way to run the equivalent command.
      disabled: true

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

    - label: "DUT_CR1 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          1. Provision the device using DUT_CR1 controller on the raspi.
      disabled: true

    - label:
          "DUT_CR1 sends command to TH_CE to open a commissioning window with a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using BCM"
      PICS: CADMIN.C.C01.Tx
      verification: |
          On your 1st controller open commissioning widow using BCM.

          Below is the example while using chip tool as controller,

          ./chip-tool administratorcommissioning open-basic-commissioning-window 500 2 0 --timedInteractionTimeoutMs 1000

          CHIP:DMG: InvokeResponseMessage =
          [1650278416.248379][11064:11069] CHIP:DMG: {
          [1650278416.248436][11064:11069] CHIP:DMG:         suppressResponse = false,
          [1650278416.248495][11064:11069] CHIP:DMG:         InvokeResponseIBs =
          [1650278416.248570][11064:11069] CHIP:DMG:         [
          [1650278416.248630][11064:11069] CHIP:DMG:                 InvokeResponseIB =
          [1650278416.248718][11064:11069] CHIP:DMG:                 {
          [1650278416.248783][11064:11069] CHIP:DMG:                         CommandStatusIB =
          [1650278416.248860][11064:11069] CHIP:DMG:                         {
          [1650278416.248931][11064:11069] CHIP:DMG:                                 CommandPathIB =
          [1650278416.249011][11064:11069] CHIP:DMG:                                 {
          [1650278416.249100][11064:11069] CHIP:DMG:                                         EndpointId = 0x0,
          [1650278416.249186][11064:11069] CHIP:DMG:                                         ClusterId = 0x3c,
          [1650278416.249268][11064:11069] CHIP:DMG:                                         CommandId = 0x1,
          [1650278416.249347][11064:11069] CHIP:DMG:                                 },
          [1650278416.249430][11064:11069] CHIP:DMG:
          [1650278416.249501][11064:11069] CHIP:DMG:                                 StatusIB =
          [1650278416.249581][11064:11069] CHIP:DMG:                                 {
          [1650278416.249664][11064:11069] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1650278416.249738][11064:11069] CHIP:DMG:                                 },
          [1650278416.249823][11064:11069] CHIP:DMG:
          [1650278416.249889][11064:11069] CHIP:DMG:                         },
          [1650278416.249969][11064:11069] CHIP:DMG:
          [1650278416.250035][11064:11069] CHIP:DMG:                 },
          [1650278416.250113][11064:11069] CHIP:DMG:
          [1650278416.250169][11064:11069] CHIP:DMG:         ],
          [1650278416.250241][11064:11069] CHIP:DMG:
          [1650278416.250298][11064:11069] CHIP:DMG:         InteractionModelRevision = 1
          [1650278416.250355][11064:11069] CHIP:DMG: },
          [1650278416.250535][11064:11069] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x0
          [1650278416.250634][11064:11069] CHIP:DMG: ICR moving to [AwaitingDe]
      disabled: true

    - label:
          "A User Consent screen pops up asking for Users permission to allow
          second commissioner to control TH_CE"
      PICS: CADMIN.UserInterfaceDisplay
      verification: |
          Verify the User Consent pop up screen. Verify that the pop up closes after user gives permission
      disabled: true

    - label:
          "11 digit Manual Code is displayed on the screen in textual format for
          User to see"
      PICS: CADMIN.UserInterfaceDisplay
      verification: |
          Verify that the displayed Manual Code is 11 digits long and doesn’t contain Vendor_ID or Product_ID.
      disabled: true

    - label: "A voice prompt of the Manual Code format should be heard"
      PICS: CADMIN.AudioInterface
      verification: |
          Verify voice prompt saying the manual code. Verify the voice prompt repeats if user asks.
      disabled: true

    - label:
          "TH_CR2 starts a commissioning process with TH_CE after
          PIXIT.CADMIN.CwDuration (that was given in step 2) + 10 seconds"
      PICS: CADMIN.C
      verification: |
          On the 2nd controller using chip-tool , connect to the accessory

          ./chip-tool pairing onnetwork 2 20202021

          verify you got the following message in the TH 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

    - label:
          "DUT_CR1 sends command to TH_CE to open a new commissioning window
          with a commissioning timeout of PIXIT.CADMIN.CwDuration seconds using
          BCM"
      PICS: CADMIN.C.C01.Tx
      verification: |
          On your first controller open commissioning widow using BCM.

          Below is the example while using chip tool as controller,

          ./chip-tool administratorcommissioning  open-basic-commissioning-window 500 1 0  --timedInteractionTimeoutMs 1000


          CHIP:DMG: InvokeResponseMessage =
          [1650278416.248379][11064:11069] CHIP:DMG: {
          [1650278416.248436][11064:11069] CHIP:DMG:         suppressResponse = false,
          [1650278416.248495][11064:11069] CHIP:DMG:         InvokeResponseIBs =
          [1650278416.248570][11064:11069] CHIP:DMG:         [
          [1650278416.248630][11064:11069] CHIP:DMG:                 InvokeResponseIB =
          [1650278416.248718][11064:11069] CHIP:DMG:                 {
          [1650278416.248783][11064:11069] CHIP:DMG:                         CommandStatusIB =
          [1650278416.248860][11064:11069] CHIP:DMG:                         {
          [1650278416.248931][11064:11069] CHIP:DMG:                                 CommandPathIB =
          [1650278416.249011][11064:11069] CHIP:DMG:                                 {
          [1650278416.249100][11064:11069] CHIP:DMG:                                         EndpointId = 0x0,
          [1650278416.249186][11064:11069] CHIP:DMG:                                         ClusterId = 0x3c,
          [1650278416.249268][11064:11069] CHIP:DMG:                                         CommandId = 0x1,
          [1650278416.249347][11064:11069] CHIP:DMG:                                 },
          [1650278416.249430][11064:11069] CHIP:DMG:
          [1650278416.249501][11064:11069] CHIP:DMG:                                 StatusIB =
          [1650278416.249581][11064:11069] CHIP:DMG:                                 {
          [1650278416.249664][11064:11069] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1650278416.249738][11064:11069] CHIP:DMG:                                 },
          [1650278416.249823][11064:11069] CHIP:DMG:
          [1650278416.249889][11064:11069] CHIP:DMG:                         },
          [1650278416.249969][11064:11069] CHIP:DMG:
          [1650278416.250035][11064:11069] CHIP:DMG:                 },
          [1650278416.250113][11064:11069] CHIP:DMG:
          [1650278416.250169][11064:11069] CHIP:DMG:         ],
          [1650278416.250241][11064:11069] CHIP:DMG:
          [1650278416.250298][11064:11069] CHIP:DMG:         InteractionModelRevision = 1
          [1650278416.250355][11064:11069] CHIP:DMG: },
          [1650278416.250535][11064:11069] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x0
          [1650278416.250634][11064:11069] CHIP:DMG: ICR moving to [AwaitingDe]
      disabled: true

    - label: "DUT_CR1 sends command to TH_CE to revoke the commissioning window"
      PICS: CADMIN.C.C02.Tx
      verification: |
          On your DUT controller revoke commissioning

          Below is the example while using chip tool as controller,
          /chip-tool administratorcommissioning revoke-commissioning 1 0 --timedInteractionTimeoutMs 1000

          CHIP:DMG: InvokeResponseMessage =
          [1650278416.248379][11064:11069] CHIP:DMG: {
          [1650278416.248436][11064:11069] CHIP:DMG:         suppressResponse = false,
          [1650278416.248495][11064:11069] CHIP:DMG:         InvokeResponseIBs =
          [1650278416.248570][11064:11069] CHIP:DMG:         [
          [1650278416.248630][11064:11069] CHIP:DMG:                 InvokeResponseIB =
          [1650278416.248718][11064:11069] CHIP:DMG:                 {
          [1650278416.248783][11064:11069] CHIP:DMG:                         CommandStatusIB =
          [1650278416.248860][11064:11069] CHIP:DMG:                         {
          [1650278416.248931][11064:11069] CHIP:DMG:                                 CommandPathIB =
          [1650278416.249011][11064:11069] CHIP:DMG:                                 {
          [1650278416.249100][11064:11069] CHIP:DMG:                                         EndpointId = 0x0,
          [1650278416.249186][11064:11069] CHIP:DMG:                                         ClusterId = 0x3c,
          [1650278416.249268][11064:11069] CHIP:DMG:                                         CommandId = 0x1,
          [1650278416.249347][11064:11069] CHIP:DMG:                                 },
          [1650278416.249430][11064:11069] CHIP:DMG:
          [1650278416.249501][11064:11069] CHIP:DMG:                                 StatusIB =
          [1650278416.249581][11064:11069] CHIP:DMG:                                 {
          [1650278416.249664][11064:11069] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1650278416.249738][11064:11069] CHIP:DMG:                                 },
          [1650278416.249823][11064:11069] CHIP:DMG:
          [1650278416.249889][11064:11069] CHIP:DMG:                         },
          [1650278416.249969][11064:11069] CHIP:DMG:
          [1650278416.250035][11064:11069] CHIP:DMG:                 },
          [1650278416.250113][11064:11069] CHIP:DMG:
          [1650278416.250169][11064:11069] CHIP:DMG:         ],
          [1650278416.250241][11064:11069] CHIP:DMG:
          [1650278416.250298][11064:11069] CHIP:DMG:         InteractionModelRevision = 1
          [1650278416.250355][11064:11069] CHIP:DMG: },
          [1650278416.250535][11064:11069] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x0
          [1650278416.250634][11064:11069] CHIP:DMG: ICR moving to [AwaitingDe]
      disabled: true

    - label: "TH_CR2 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          On the 2nd controller using chip-tool , connect to the accessory

          ./chip-tool pairing onnetwork 2 20202021

          verify you got the following message in the TH 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

    - label: "DUT_CR1 sends command to TH_CE to revoke the commissioning window"
      PICS: CADMIN.C.C02.Tx
      verification: |
          On your 1st controller revoke commissioning

          Below is the example while using chip tool as controller,

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

          CHIP:DMG: InvokeResponseMessage =
          [1650524034.111241][15422:15427] CHIP:DMG: {
          [1650524034.111316][15422:15427] CHIP:DMG:         suppressResponse = false,
          [1650524034.111383][15422:15427] CHIP:DMG:         InvokeResponseIBs =
          [1650524034.111464][15422:15427] CHIP:DMG:         [
          [1650524034.111531][15422:15427] CHIP:DMG:                 InvokeResponseIB =
          [1650524034.111643][15422:15427] CHIP:DMG:                 {
          [1650524034.111714][15422:15427] CHIP:DMG:                         CommandStatusIB =
          [1650524034.111803][15422:15427] CHIP:DMG:                         {
          [1650524034.111886][15422:15427] CHIP:DMG:                                 CommandPathIB =
          [1650524034.111979][15422:15427] CHIP:DMG:                                 {
          [1650524034.112072][15422:15427] CHIP:DMG:                                         EndpointId = 0x0,
          [1650524034.112167][15422:15427] CHIP:DMG:                                         ClusterId = 0x3c,
          [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 = 0x3,
          [1650524034.112914][15422:15427] CHIP:DMG:                                 },
          [1650524034.113005][15422:15427] CHIP:DMG:
          [1650524034.113084][15422:15427] CHIP:DMG:                         },
          [1650524034.113176][15422:15427] CHIP:DMG:
          [1650524034.113245][15422:15427] CHIP:DMG:                 },
          [1650524034.113328][15422:15427] CHIP:DMG:
          [1650524034.113392][15422:15427] CHIP:DMG:         ],
          [1650524034.113477][15422:15427] CHIP:DMG:
          [1650524034.113545][15422:15427] CHIP:DMG:         InteractionModelRevision = 1
          [1650524034.113610][15422:15427] CHIP:DMG: },
          [1650524034.113780][15422:15427] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0002 Status=0x1
          [1650524034.113892][15422:15427] CHIP:TOO: Error: IM Error 0x00000603: Cluster-specific error: 0x03
      disabled: true

    - label:
          "DUT_CR1 sends commands to TH_CE to write and read the Basic
          Information Clusters NodeLabel mandatory attribute"
      PICS: BINFO.C.A0005
      verification: |
          Using 1st controller, write attribute and read attribute to and from TH_CE

          Below is the example while using chip tool on second controller,
          ./chip-tool basic write node-label te5new 2 0

          CHIP:DMG: WriteResponseMessage =
          [1649245940.788522][10110:10115] CHIP:DMG: {
          [1649245940.788577][10110:10115] CHIP:DMG:         AttributeStatusIBs =
          [1649245940.788653][10110:10115] CHIP:DMG:         [
          [1649245940.788713][10110:10115] CHIP:DMG:                 AttributeStatusIB =
          [1649245940.788787][10110:10115] CHIP:DMG:                 {
          [1649245940.788852][10110:10115] CHIP:DMG:                         AttributePathIB =
          [1649245940.788931][10110:10115] CHIP:DMG:                         {
          [1649245940.789009][10110:10115] CHIP:DMG:                                 Endpoint = 0x0,
          [1649245940.789143][10110:10115] CHIP:DMG:                                 Cluster = 0x28,
          [1649245940.789228][10110:10115] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1649245940.789313][10110:10115] CHIP:DMG:                         }
          [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]

          Verify read attribute returns the updated value written
          ./chip-tool basic read node-label 2 0
          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:
          "DUT_CR1 sends command to TH_CE to open a new commissioning window
          with a commissioning timeout of PIXIT.CADMIN.CwDuration seconds using
          BCM"
      PICS: CADMIN.C.C01.Tx
      verification: |
          On 1st controller open commissioning widow using BCM.

          Below is the example while using chip tool as controller,

          ./chip-tool administratorcommissioning open-basic-commissioning-window 500 2 0 --timedInteractionTimeoutMs 1000



          CHIP:DMG: InvokeResponseMessage =
          [1650278416.248379][11064:11069] CHIP:DMG: {
          [1650278416.248436][11064:11069] CHIP:DMG:         suppressResponse = false,
          [1650278416.248495][11064:11069] CHIP:DMG:         InvokeResponseIBs =
          [1650278416.248570][11064:11069] CHIP:DMG:         [
          [1650278416.248630][11064:11069] CHIP:DMG:                 InvokeResponseIB =
          [1650278416.248718][11064:11069] CHIP:DMG:                 {
          [1650278416.248783][11064:11069] CHIP:DMG:                         CommandStatusIB =
          [1650278416.248860][11064:11069] CHIP:DMG:                         {
          [1650278416.248931][11064:11069] CHIP:DMG:                                 CommandPathIB =
          [1650278416.249011][11064:11069] CHIP:DMG:                                 {
          [1650278416.249100][11064:11069] CHIP:DMG:                                         EndpointId = 0x0,
          [1650278416.249186][11064:11069] CHIP:DMG:                                         ClusterId = 0x3c,
          [1650278416.249268][11064:11069] CHIP:DMG:                                         CommandId = 0x1,
          [1650278416.249347][11064:11069] CHIP:DMG:                                 },
          [1650278416.249430][11064:11069] CHIP:DMG:
          [1650278416.249501][11064:11069] CHIP:DMG:                                 StatusIB =
          [1650278416.249581][11064:11069] CHIP:DMG:                                 {
          [1650278416.249664][11064:11069] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1650278416.249738][11064:11069] CHIP:DMG:                                 },
          [1650278416.249823][11064:11069] CHIP:DMG:
          [1650278416.249889][11064:11069] CHIP:DMG:                         },
          [1650278416.249969][11064:11069] CHIP:DMG:
          [1650278416.250035][11064:11069] CHIP:DMG:                 },
          [1650278416.250113][11064:11069] CHIP:DMG:
          [1650278416.250169][11064:11069] CHIP:DMG:         ],
          [1650278416.250241][11064:11069] CHIP:DMG:
          [1650278416.250298][11064:11069] CHIP:DMG:         InteractionModelRevision = 1
          [1650278416.250355][11064:11069] CHIP:DMG: },
          [1650278416.250535][11064:11069] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x0
          [1650278416.250634][11064:11069] CHIP:DMG: ICR moving to [AwaitingDe]
      disabled: true

    - label: "TH_CR2 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          On the 2nd controller using chip-tool , connect to the accessory

          ./chip-tool pairing onnetwork 2 20202021

          Verify you got below message
          Device commissioning completed with success
      disabled: true

    - label: "TH_CR3 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          On the 3rd controller using chip-tool , connect to the accessory

          ./chip-tool pairing onnetwork 3 20202021

          verify you got the following message in the TH 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
