# 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.14. [TC-CADMIN-1.14] Open commissioning window twice on DUT using BCM
    then ECM [DUT - Commissioner]

PICS:
    - CADMIN.C

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

tests:
    - label: "DUT_CR1 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          verification step to be updated.
      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 and
          TH_CR3 Commissions with TH_CE"
      PICS: CADMIN.C.C01.Tx
      verification: |
          "1. Provision the device using your DUT controller (use above instructions) ,
          "
      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 and
          TH_CR2 Commissions with TH_CE"
      PICS: CADMIN.C.C01.Tx
      verification: |
          On your DUT controller, open commissioning window using ECM

          Below is the example while using chip tool as controller
          ./chip-tool pairing open-commissioning-window 1 1 300 1000 3840

          [1635874557.409509][4549:4554] CHIP:SC: Success status report received. Session was established
          [1635874557.409553][4549:4554] CHIP:IN: New secure session created for device 0x0000000000000001, key 76!!
          [1635874557.409649][4549:4554] CHIP:CTL: OpenCommissioningWindow for device ID 1
          [1635874557.416929][4549:4554] CHIP:DMG: ICR moving to [AddingComm]
          [1635874557.417092][4549:4554] CHIP:DMG: ICR moving to [AddedComma]
          [1635874557.417215][4549:4554] CHIP:IN: Prepared encrypted message 0xaaaac5947d10 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 5541i with MessageCounter:0.
          [1635874557.417271][4549:4554] CHIP:IN: Sending encrypted msg 0xaaaac5947d10 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 16129075 msec
          [1635874557.417449][4549:4554] CHIP:DMG: ICR moving to [CommandSen]
          [1635874557.417505][4549:4554] CHIP:CTL: Manual pairing code: [35484132896]
          [1635874557.417577][4549:4554] CHIP:CTL: SetupQRCode: [MT:00000CQM00AT-F5A510]
      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 2nd controller using chip tool connect using manual code
          ./chip-tool pairing code 1 35484132896

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

    - label:
          "Before the expiration of PIXIT.CADMIN.CwDuration seconds that is set
          in step 4, DUT_CR1 sends command to TH_CE to read WindowStatus
          attribute"
      PICS: CADMIN.C.A0000
      verification: |
          On your DUT controller, open commissioning window using ECM

          Below is the example while using chip tool as controller
          ./chip-tool pairing open-commissioning-window 1 1 300 1000 3840

          [1635874557.409509][4549:4554] CHIP:SC: Success status report received. Session was established
          [1635874557.409553][4549:4554] CHIP:IN: New secure session created for device 0x0000000000000001, key 76!!
          [1635874557.409649][4549:4554] CHIP:CTL: OpenCommissioningWindow for device ID 1
          [1635874557.416929][4549:4554] CHIP:DMG: ICR moving to [AddingComm]
          [1635874557.417092][4549:4554] CHIP:DMG: ICR moving to [AddedComma]
          [1635874557.417215][4549:4554] CHIP:IN: Prepared encrypted message 0xaaaac5947d10 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 5541i with MessageCounter:0.
          [1635874557.417271][4549:4554] CHIP:IN: Sending encrypted msg 0xaaaac5947d10 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 16129075 msec
          [1635874557.417449][4549:4554] CHIP:DMG: ICR moving to [CommandSen]
          [1635874557.417505][4549:4554] CHIP:CTL: Manual pairing code: [35484132896]
          [1635874557.417577][4549:4554] CHIP:CTL: SetupQRCode: [MT:00000CQM00AT-F5A510]
      disabled: true

    - label:
          "Before the expiration of PIXIT.CADMIN.CwDuration seconds that is set
          in step 4, DUT_CR1 sends command to TH_CE to open a 2nd commissioning
          window with a commissioning timeout of PIXIT.CADMIN.CwDuration seconds
          using ECM"
      PICS: CADMIN.C.C00.Tx
      verification: |
          On 3rd controller using chip tool connect using manual code
          ./chip-tool pairing code 3 35484132896

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

    - label:
          "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that is
          set in step 4"
      verification: |
          On 1st controller using chip tool, read fabrics list

          ./chip-tool operationalcredentials read fabrics 1234 0 --fabric-filtered 0

          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 268962768
          [1650527361.425870][15792:15797] CHIP:TOO:   Fabrics: 3 entries
          [1650527361.426777][15792:15797] CHIP:TOO:     [1]: {
          [1650527361.426859][15792:15797] CHIP:TOO:       RootPublicKey: 0429A71383F336D80918C9EC655112513E428C073AF7FB44820EC793535302C6E3825C56EE6DD1A683EAA7B59E3F261B46FFA24A6D911E8D88839F4C1B3C84BA01
          [1650527361.426923][15792:15797] CHIP:TOO:       VendorId: 65521
          [1650527361.426979][15792:15797] CHIP:TOO:       FabricId: 1
          [1650527361.427033][15792:15797] CHIP:TOO:       NodeId: 1
          [1650527361.427088][15792:15797] CHIP:TOO:       Label:
          [1650527361.427166][15792:15797] CHIP:TOO:       FabricIndex: 1
          [1650527361.427376][15792:15797] CHIP:TOO:      }
          [1650527361.427464][15792:15797] CHIP:TOO:     [2]: {
          [1650527361.427532][15792:15797] CHIP:TOO:       RootPublicKey: 04781BCEE70118049ED61DD5B4E401CF1A09D2F78AE7F5770BE5506AD24238E5E0777277DABAFD062659651C95CC2CA7DEAACE40DB579A946CC07CADB141BE05D7
          [1650527361.427595][15792:15797] CHIP:TOO:       VendorId: 65521
          [1650527361.427649][15792:15797] CHIP:TOO:       FabricId: 1
          [1650527361.427703][15792:15797] CHIP:TOO:       NodeId: 3
          [1650527361.427756][15792:15797] CHIP:TOO:       Label:
          [1650527361.427811][15792:15797] CHIP:TOO:       FabricIndex: 2
          [1650527361.427868][15792:15797] CHIP:TOO:      }
          [1650527361.427943][15792:15797] CHIP:TOO:     [3]: {
          [1650527361.428008][15792:15797] CHIP:TOO:       RootPublicKey: 0403EDB5B461030A34EF7EA2F9DB0D46A36185E4755C365AF9344C4959F049EF21D55EAB903A2C7FBFC305EEFA42989250D7517A73E6156062390A60C0D4C41EBD
          [1650527361.428067][15792:15797] CHIP:TOO:       VendorId: 65521
          [1650527361.428122][15792:15797] CHIP:TOO:       FabricId: 1
          [1650527361.428176][15792:15797] CHIP:TOO:       NodeId: 2
          [1650527361.428229][15792:15797] CHIP:TOO:       Label:
          [1650527361.428282][15792:15797] CHIP:TOO:       FabricIndex: 3
          [1650527361.428335][15792:15797] CHIP:TOO:      }
      disabled: true

    - label:
          "DUT_CR1 sends command to TH_CE to re-opens a commissioning window
          with a commissioning timeout of PIXIT.CADMIN.CwDuration seconds using
          ECM"
      PICS: CADMIN.C.C00.Tx
      verification: |
          on 2nd controller using chip tool, remove fabric with FabricIndex=2

          ./chip-tool operationalcredentials remove-fabric 2 1 0

          CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008
          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008
          CHIP:TOO:   NOCResponse: {
          CHIP:TOO:     statusCode: 0
          CHIP:TOO:     fabricIndex: 2
          CHIP:TOO:    }
          CHIP:DMG: ICR moving to [AwaitingDe]
      disabled: true

    - label:
          "Before the expiration of PIXIT.CADMIN.CwDuration seconds that is set
          in step 8, DUT_CR1 sends command to TH_CE to read WindowStatus
          attribute"
      PICS: CADMIN.C.A0000
      verification: |
          Using your 2nd 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

           Received error (protocol code 2) during pairing process. ../../third_party/connectedhomeip/src/protocols/secure_channel/CASESession.cpp:1551: CHIP Error 0x00000054: Invalid CASE parameter
          [1651819620.929567][4359:4364] CHIP:CTL: OperationalDeviceProxy[B8070CD13C99D367:0000000000000002]: State change 3 --> 2
          [1651819620.929700][4359:4364] CHIP:-: ../../third_party/connectedhomeip/src/protocols/secure_channel/CASESession.cpp:1551: CHIP Error 0x00000054: Invalid CASE parameter at ../../commands/clusters/ModelCommand.cpp:53

          ./chip-tool basic read node-label 2 0

           Received error (protocol code 2) during pairing process. ../../third_party/connectedhomeip/src/protocols/secure_channel/CASESession.cpp:1551: CHIP Error 0x00000054: Invalid CASE parameter
          [1651819620.929567][4359:4364] CHIP:CTL: OperationalDeviceProxy[B8070CD13C99D367:0000000000000002]: State change 3 --> 2
          [1651819620.929700][4359:4364] CHIP:-: ../../third_party/connectedhomeip/src/protocols/secure_channel/CASESession.cpp:1551: CHIP Error 0x00000054: Invalid CASE parameter at ../../commands/clusters/ModelCommand.cpp:53
      disabled: true

    - label:
          "Before the expiration of PIXIT.CADMIN.CwDuration seconds that is set
          in step 8, TH_CR3 sends command to TH_CE to open a 2nd commissioning
          window with a commissioning timeout of PIXIT.CADMIN.CwDuration seconds
          using ECM"
      PICS: CADMIN.C.C00.Tx
      verification: |
          On 1st controller using chip tool, read fabrics list

          Below is the command using chip tool controller

          ./chip-tool operationalcredentials read fabrics 1 0 --fabric-filtered 0

          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 2455995219
          [1647863260.286772][9294:9299] CHIP:TOO:   Fabrics: 2 entries
          [1647863260.286908][9294:9299] CHIP:TOO:     [1]: {
          [1647863260.286947][9294:9299] CHIP:TOO:       RootPublicKey: 04656F56DBDB677DC957028DFC0ED76709C72753C9194B117A483BDC07386BFD9529B68EB4448FBBA3964EFF37A56A8F461D348B0DAF3B56A75F3B94BF8209D36F
          [1647863260.286995][9294:9299] CHIP:TOO:       VendorId: 65521
          [1647863260.287026][9294:9299] CHIP:TOO:       FabricId: 1
          [1647863260.287055][9294:9299] CHIP:TOO:       NodeId: 1
          [1647863260.287084][9294:9299] CHIP:TOO:       Label:
          [1647863260.287113][9294:9299] CHIP:TOO:       FabricIndex: 1
          [1647863260.287144][9294:9299] CHIP:TOO:      }
          [1647863260.287185][9294:9299] CHIP:TOO:     [2]: {
          [1647863260.287221][9294:9299] CHIP:TOO:       RootPublicKey: 04F8F28D5D70A4510E0F72FBBA31369796C4206FF95D97B77C1BDFD0438A3BE43510631A1B915BE189323F4CC0E015480192654D8170F8F230C7713898962958B7
          [1647863260.287253][9294:9299] CHIP:TOO:       VendorId: 65521
          [1647863260.287282][9294:9299] CHIP:TOO:       FabricId: 1
          [1647863260.287310][9294:9299] CHIP:TOO:       NodeId: 3
          [1647863260.287339][9294:9299] CHIP:TOO:       Label:
          [1647863260.287368][9294:9299] CHIP:TOO:       FabricIndex: 3
          [1647863260.287396][9294:9299] CHIP:TOO:      }
          [1647863260.287515][9294:9299] CHIP:EM: Sending Standalone Ack for MessageCounter:11301761 on exchange 13180i"
      disabled: true

    - label:
          "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that is
          set in step 8"
      verification: |
          grl@grl-ThinkPad-L480:~/may16_cntrl03/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matter._tcp
          + wlp5s0 IPv6 8E50A59FAF52A809-0000000000000001             _matter._tcp         local
          + wlp5s0 IPv6 03E707466A904C7E-0000000000000003             _matter._tcp         local
          = wlp5s0 IPv6 8E50A59FAF52A809-0000000000000001             _matter._tcp         local
             hostname = [E45F010F27530000.local]
             address = [fe80::e65f:1ff:fe0f:2753]
             port = [5540]
             txt = ["T=1" "SAI=300" "SII=5000"]
          = wlp5s0 IPv6 03E707466A904C7E-0000000000000003             _matter._tcp         local
             hostname = [E45F010F27530000.local]
             address = [fe80::e65f:1ff:fe0f:2753]
             port = [5540]
             txt = ["T=1" "SAI=300" "SII=5000"]
          grl@grl-ThinkPad-L480:~/may16_cntrl03/connectedhomeip/examples/chip-tool/out/debug$
      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 ECM"
      PICS: CADMIN.C.C00.Tx
      verification: |
          On 1st controller chip tool, open commissioning window

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

          [1635925713.966786][9695:9700] CHIP:SC: Success status report received. Session was established
          [1635925713.966839][9695:9700] CHIP:IN: New secure session created for device 0x0000000000000001, key 33!!
          [1635925713.966938][9695:9700] CHIP:CTL: OpenCommissioningWindow for device ID 1
          [1635925713.972601][9695:9700] CHIP:DMG: ICR moving to [AddingComm]
          [1635925713.972705][9695:9700] CHIP:DMG: ICR moving to [AddedComma]
          [1635925713.972815][9695:9700] CHIP:IN: Prepared encrypted message 0xaaaad9b57d10 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 31056i with MessageCounter:0.
          [1635925713.972876][9695:9700] CHIP:IN: Sending encrypted msg 0xaaaad9b57d10 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 13449459 msec
          [1635925713.973006][9695:9700] CHIP:DMG: ICR moving to [CommandSen]
          [1635925713.973061][9695:9700] CHIP:CTL: Manual pairing code: [36217551633]
          [1635925713.973120][9695:9700] CHIP:CTL: SetupQRCode: [MT:00000CQM00A7F87ZT10]
          [1635925713.973178][9695:9700] CHIP:EM: Sending Standalone Ack for MessageCounter:1964916542 on exchange 31055i
      disabled: true

    - label:
          "Before the expiration of PIXIT.CADMIN.CwDuration seconds that is set
          in step 12, TH_CR2 sends command to TH_CE to open a second
          commissioning window with a commissioning timeout of
          PIXIT.CADMIN.CwDuration seconds using ECM"
      PICS: CADMIN.C.C00.Tx
      verification: |
          On 2nd controller using chip tool connect to the accessory


          ./chip-tool pairing code 1 36217551633

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

    - label:
          "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that is
          set in step 12"
      verification: |
          On 1st controller, read fabrics list

          Below is the command using chip tool controller

          ./chip-tool operationalcredentials read fabrics 1 0 --fabric-filtered 0

          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 2455995246
          [1647863342.980899][9309:9314] CHIP:TOO:   Fabrics: 3 entries
          [1647863342.981158][9309:9314] CHIP:TOO:     [1]: {
          [1647863342.981231][9309:9314] CHIP:TOO:       RootPublicKey: 04656F56DBDB677DC957028DFC0ED76709C72753C9194B117A483BDC07386BFD9529B68EB4448FBBA3964EFF37A56A8F461D348B0DAF3B56A75F3B94BF8209D36F
          [1647863342.981322][9309:9314] CHIP:TOO:       VendorId: 65521
          [1647863342.981380][9309:9314] CHIP:TOO:       FabricId: 1
          [1647863342.981434][9309:9314] CHIP:TOO:       NodeId: 1
          [1647863342.981486][9309:9314] CHIP:TOO:       Label:
          [1647863342.981539][9309:9314] CHIP:TOO:       FabricIndex: 1
          [1647863342.981594][9309:9314] CHIP:TOO:      }
          [1647863342.981671][9309:9314] CHIP:TOO:     [2]: {
          [1647863342.981737][9309:9314] CHIP:TOO:       RootPublicKey: 04F8F28D5D70A4510E0F72FBBA31369796C4206FF95D97B77C1BDFD0438A3BE43510631A1B915BE189323F4CC0E015480192654D8170F8F230C7713898962958B7
          [1647863342.981796][9309:9314] CHIP:TOO:       VendorId: 65521
          [1647863342.981849][9309:9314] CHIP:TOO:       FabricId: 1
          [1647863342.981901][9309:9314] CHIP:TOO:       NodeId: 3
          [1647863342.981952][9309:9314] CHIP:TOO:       Label:
          [1647863342.982005][9309:9314] CHIP:TOO:       FabricIndex: 3
          [1647863342.982057][9309:9314] CHIP:TOO:      }
          [1647863342.982131][9309:9314] CHIP:TOO:     [3]: {
          [1647863342.982195][9309:9314] CHIP:TOO:       RootPublicKey: 04F8F28D5D70A4510E0F72FBBA31369796C4206FF95D97B77C1BDFD0438A3BE43510631A1B915BE189323F4CC0E015480192654D8170F8F230C7713898962958B7
          [1647863342.982252][9309:9314] CHIP:TOO:       VendorId: 65521
          [1647863342.982305][9309:9314] CHIP:TOO:       FabricId: 1
          [1647863342.982357][9309:9314] CHIP:TOO:       NodeId: 2
          [1647863342.982409][9309:9314] CHIP:TOO:       Label:
          [1647863342.982460][9309:9314] CHIP:TOO:       FabricIndex: 4
          [1647863342.982512][9309:9314] CHIP:TOO:      }
          [1647863342.982738][9309:9314] CHIP:EM: Sending Standalone Ack for MessageCounter:5772016 on exchange 3310i
      disabled: true

    - label: "DUT_CR1 sends command to TH_CE to read WindowStatus attribute"
      PICS: CADMIN.C.A0000
      verification: |
          Verify DUT successfully reads window status


          ./chip-tool administratorcommissioning read window-status 1 0

          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_0000 DataVersion: 2849200592
          [1651137648.760469][14047:14052] CHIP:TOO:   WindowStatus: 0
          [1651137648.760534][14047:14052] CHIP:EM: Sending Standalone Ack for MessageCounter:5527412 on exchange 14590i"
      disabled: true

    - label: "DUT_CR1 sends command to TH_CE to read AdminFabricIndex attribute"
      PICS: CADMIN.C.A0001
      verification: |
          Verifu DUT successfully reads AdminFabricIndex

          ./chip-tool administratorcommissioning read admin-fabric-index  1 0

          [1659097193.389295][11728:11733] CHIP:DMG: }
          [1659097193.389588][11728:11733] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_0001 DataVersion: 1299585105
          [1659097193.389731][11728:11733] CHIP:TOO:   AdminFabricIndex: 0
          [1659097193.389913][11728:11733] CHIP:EM: Sending Standalone Ack for MessageCounter:195671426 on exchange 34244i
      disabled: true

    - label: "DUT_CR1 sends command to TH_CE to read AdminVendorId attribute"
      PICS: CADMIN.C.A0002
      verification: |
          Verify DUT successfully reads AdminVendoeId

          ./chip-tool administratorcommissioning read admin-vendor-id 1 0

          [1658838521.588942][9317:9322] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_0002 DataVersion: 2423106591
          [1658838521.589005][9317:9322] CHIP:TOO:   AdminVendorId: 0
          [1658838521.589079][9317:9322] CHIP:EM: Sending Standalone Ack for MessageCounter:217165763 on exchange 55683i
      disabled: true
