# 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: 3.3.1. [TC-DD-3.1] Commissioning Flow - Concurrent [DUT - Commissionee]

PICS:
    - MCORE.ROLE.COMMISSIONEE

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

tests:
    - label:
          "Commissioner and Commissionee discover each other and connect via the
          discovery mode applicable for the DUT."
      verification: |
          Verify in TH as server side: sudo ./chip-all-clusters-app --wifi --discriminator 3841

          [1653471956.966855][10713:10713] CHIP:SPT: PASE PBKDF iterations set to 1000
          [1653471956.966887][10713:10713] CHIP:SPT: LinuxCommissionableDataProvider didn"t get a PASE salt, generating one.
          [1653471956.972152][10713:10713] CHIP:DL: Device Configuration:
          [1653471956.972270][10713:10713] CHIP:DL:   Serial Number: TEST_SN
          [1653471956.972315][10713:10713] CHIP:DL:   Vendor Id: 65521 (0xFFF1)
          [1653471956.972354][10713:10713] CHIP:DL:   Product Id: 32769 (0x8001)
          [1653471956.972388][10713:10713] CHIP:DL:   Hardware Version: 0
          [1653471956.972413][10713:10713] CHIP:DL:   Setup Pin Code (0 for UNKNOWN/ERROR): 20202021
          [1653471956.972435][10713:10713] CHIP:DL:   Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3841 (0xF01)
          [1653471956.972464][10713:10713] CHIP:DL:   Manufacturing Date: (not set)
          [1653471956.972488][10713:10713] CHIP:DL:   Device Type: 65535 (0xFFFF)
          [1653471956.972509][10713:10713] CHIP:-: ==== Onboarding payload for Standard Commissioning Flow ====
          [1653471956.972546][10713:10713] CHIP:SVR: SetupQRCode: [MT:-24J0CEK01KA0648G00]
          [1653471956.972579][10713:10713] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code:
          [1653471956.972600][10713:10713] CHIP:SVR: https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J0CEK01KA0648G00
          [1653471956.972632][10713:10713] CHIP:SVR: Manual pairing code: [34970112332]
          [1653471956.972654][10713:10713] CHIP:-: ==== Onboarding payload for Custom Commissioning Flows ====
          [1653471956.972715][10713:10713] CHIP:SVR: SetupQRCode: [MT:-24J048N01KA0648G00]
          [1653471956.972748][10713:10713] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code:
          [1653471956.972769][10713:10713] CHIP:SVR: https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J048N01KA0648G00
          [1653471956.972803][10713:10713] CHIP:SVR: Manual pairing code: [749701123365521327694]


          connectedhomeip/examples/chip-tool/out/debug$  ./chip-tool discover commissionables
          Waiting for device responses...
          CHIP:CTL: Generating ICAC
          CHIP:DL: AUDIT: ===== RANDOM NUMBER GENERATOR AUDIT START ====
          CHIP:DL: AUDIT: * Validate buf1 and buf2 are <<<different every run/boot!>>>
          CHIP:DL: AUDIT: * Validate r1 and r2 are <<<different every run/boot!>>>
          CHIP:DL: AUDIT: * buf1: 3BE3E264C0A0A053248E93609D22044A
          CHIP:DL: AUDIT: * buf2: E69C8767AD6B60907AD3633E774F38EB
          CHIP:DL: AUDIT: * r1: 0x2A0E6454 r2: 0x16315893
          CHIP:DL: AUDIT: ===== RANDOM NUMBER GENERATOR AUDIT END ====
          CHIP:DL: writing settings to file (/tmp/chip_counters.ini-9yXPat)
          CHIP:DL: renamed tmp file to file (/tmp/chip_counters.ini)
          CHIP:DL: NVS set: chip-counters/reboot-count = 23 (0x17)
          CHIP:DL: Got Ethernet interface: eth0
          CHIP:DL: Found the primary Ethernet interface:eth0
          CHIP:DL: Got WiFi interface: wlan0
          CHIP:DL: Failed to reset WiFi statistic counts
          CHIP:IN: UDP::Init bind&listen port=5541
          CHIP:IN: UDP::Init bound to port=5541
          CHIP:IN: UDP::Init bind&listen port=5541
          CHIP:IN: UDP::Init bound to port=5541
          CHIP:IN: TransportMgr initialized
          CHIP:DIS: Init fabric pairing table with server storage
          CHIP:DL: writing settings to file (/tmp/chip_counters.ini-zgCtZd)
          CHIP:DL: renamed tmp file to file (/tmp/chip_counters.ini)
          CHIP:DL: NVS set: chip-counters/GlobalMCTR = 25000 (0x61A8)
          CHIP:CTL: System State Initialized...
          CHIP:DL: MDNS failed to join multicast group on veth5731933 for address type IPv4: ../th
          CHIP:DL: MDNS failed to join multicast group on vethbf7bfa6 for address type IPv4: ../th
          CHIP:DL: MDNS failed to join multicast group on vethcf434e5 for address type IPv4: ../th
          CHIP:ZCL: Using ZAP configuration...
          CHIP:DIS: Verifying the received credentials
          CHIP:IN: Generating compressed fabric ID using uncompressed fabric ID 0x0000000000000000
          CHIP:IN: 0x04, 0x66, 0xd6, 0xcf, 0x4c, 0x1e, 0x11, 0xc3,
          CHIP:IN: 0x52, 0x4f, 0xa6, 0x8c, 0x6e, 0x65, 0x46, 0xdc,
          CHIP:IN: 0x90, 0x1b, 0x5f, 0x42, 0x9f, 0x69, 0xd1, 0xb7,
          CHIP:IN: 0x7d, 0xf3, 0x6b, 0x54, 0x12, 0x6c, 0x12, 0x59,
          CHIP:IN: 0x5b, 0xc3, 0x07, 0x1c, 0x5c, 0xf4, 0x4e, 0x5f,
          CHIP:IN: 0x71, 0x06, 0x9a, 0xbb, 0x2f, 0xef, 0x20, 0x0d,
          CHIP:IN: 0x0e, 0x9b, 0x26, 0x3e, 0x8d, 0x46, 0x09, 0xd8,
          CHIP:IN: 0xfd, 0xa1, 0xc0, 0x10, 0x4f, 0x05, 0x14, 0x99,
          CHIP:IN: 0x22,
          CHIP:IN: Generated compressed fabric ID
          CHIP:IN: 0x4a, 0x53, 0x1e, 0x52, 0x06, 0xed, 0x06, 0xda,
          CHIP:DIS: Added new fabric at index: 1, Initialized: 1
          CHIP:DIS: Assigned compressed fabric ID: 0x4A531E5206ED06DA, node ID: 0x000000000001B669
          CHIP:CTL: Joined the fabric at index 1. Compressed fabric ID is: 0x4A531E5206ED06DA
          CHIP:DL: CHIP task running
          CHIP:DIS: Attempt to mDNS broadcast failed:  ../third_party/connectedhomeip/src/inet/UDP
          CHIP:DIS: Attempt to mDNS broadcast failed:  ../third_party/connectedhomeip/src/inet/UDP
          CHIP:DIS: Attempt to mDNS broadcast failed:  ../third_party/connectedhomeip/src/inet/UDP
          CHIP:DIS: Attempt to mDNS broadcast failed:  ../third_party/connectedhomeip/src/inet/UDP
          CHIP:DIS: Discovered Node:
          CHIP:DIS:      Host name:              EEAABADABAD0DDCA        CHIP:DIS:      Port:                   5540
          CHIP:DIS:      Long discriminator:     3840
          CHIP:DIS:      Vendor ID:              9050
          CHIP:DIS:      Product ID:             65279
          CHIP:DIS:      Commissioning Mode      1
          CHIP:DIS:      Device Type             0
          CHIP:DIS:      Device Name
          CHIP:DIS:      Rotating Id             00007C5F6E176CD40F68685D100A1CF8A98B
          CHIP:DIS:      Pairing Instruction
          CHIP:DIS:      Pairing Hint            0x21
          CHIP:DIS:      Address 0:              2402:e280:2108:181:dea6:32ff:fef9:f0a1
          CHIP:DIS:      Address 1:              fe80::dea6:32ff:fef9:f0a1
          CHIP:DIS:      Address 2:              192.168.1.12
          CHIP:DIS: Discovered Node:
          CHIP:DIS:      Host name:              EEAABADABAD0DDCA        CHIP:DIS:      Port:                   5540
          CHIP:DIS:      Long discriminator:     3840
          CHIP:DIS:      Vendor ID:              9050
          CHIP:DIS:      Product ID:             65279
          CHIP:DIS:      Commissioning Mode      1
          CHIP:DIS:      Device Type             0
          CHIP:DIS:      Device Name
          CHIP:DIS:      Rotating Id             00007C5F6E176CD40F68685D100A1CF8A98B
          CHIP:DIS:      Pairing Instruction
          CHIP:DIS:      Pairing Hint            0x21
          CHIP:DIS:      Address 0:              2402:e280:2108:181:dea6:32ff:fef9:f0a1
          CHIP:DIS:      Address 1:              fe80::dea6:32ff:fef9:f0a1
          CHIP:DIS:      Address 2:              192.168.1.12
          CHIP:DIS: Discovered Node:
          CHIP:DIS:      Host name:              EEAABADABAD0DDCA        CHIP:DIS:      Port:                   5540
          CHIP:DIS:      Long discriminator:     3840
          CHIP:DIS:      Vendor ID:              9050
          CHIP:DIS:      Product ID:             65279
          CHIP:DIS:      Commissioning Mode      1
          CHIP:DIS:      Device Type             0
          CHIP:DIS:      Device Name
          CHIP:DIS:      Rotating Id             00007C5F6E176CD40F68685D100A1CF8A98B
          CHIP:DIS:      Pairing Instruction
          CHIP:DIS:      Pairing Hint            0x21
          CHIP:DIS:      Address 0:              2402:e280:2108:181:dea6:32ff:fef9:f0a1
          CHIP:DIS:      Address 1:              fe80::dea6:32ff:fef9:f0a1
          CHIP:DIS:      Address 2:              192.168.1.12
          CHIP:DIS: Discovered Node:
          CHIP:DIS:      Host name:              EEAABADABAD0DDCA        CHIP:DIS:      Port:                   5540
          CHIP:DIS:      Long discriminator:     3840
          CHIP:DIS:      Vendor ID:              9050
          CHIP:DIS:      Product ID:             65279
          CHIP:DIS:      Commissioning Mode      1
          CHIP:DIS:      Device Type             0
          CHIP:DIS:      Device Name
          CHIP:DIS:      Rotating Id             00007C5F6E176CD40F68685D100A1CF8A98B
          CHIP:DIS:      Pairing Instruction
          CHIP:DIS:      Pairing Hint            0x21
          CHIP:DIS:      Address 0:              2402:e280:2108:181:dea6:32ff:fef9:f0a1
          CHIP:DIS:      Address 1:              fe80::dea6:32ff:fef9:f0a1
          CHIP:DIS:      Address 2:              192.168.1.12
          CHIP:DIS: Discovered Node:
          CHIP:DIS:      Host name:              EEAABADABAD0DDCA        CHIP:DIS:      Port:                   5540
          CHIP:DIS:      Long discriminator:     3840
          CHIP:DIS:      Vendor ID:              9050
          CHIP:DIS:      Product ID:             65279
          CHIP:DIS:      Commissioning Mode      1
          CHIP:DIS:      Device Type             0
          CHIP:DIS:      Device Name
          CHIP:DIS:      Rotating Id             00007C5F6E176CD40F68685D100A1CF8A98B
          CHIP:DIS:      Pairing Instruction
          CHIP:DIS:      Pairing Hint            0x21
          CHIP:DIS:      Address 0:              2402:e280:2108:181:dea6:32ff:fef9:f0a1
          CHIP:DIS:      Address 1:              fe80::dea6:32ff:fef9:f0a1
          CHIP:DIS:      Address 2:              192.168.1.12
          CHIP:DIS: Discovered Node:
          CHIP:DIS:      Host name:              EEAABADABAD0DDCA        CHIP:DIS:      Port:                   5540
          CHIP:DIS:      Long discriminator:     3840
          CHIP:DIS:      Vendor ID:              9050
          CHIP:DIS:      Product ID:             65279
          CHIP:DIS:      Commissioning Mode      1
          CHIP:DIS:      Device Type             0
          CHIP:DIS:      Device Name
          CHIP:DIS:      Rotating Id             00007C5F6E176CD40F68685D100A1CF8A98B
          CHIP:DIS:      Pairing Instruction
          CHIP:DIS:      Pairing Hint            0x21
          CHIP:DIS:      Address 0:              2402:e280:2108:181:dea6:32ff:fef9:f0a1
          CHIP:DIS:      Address 1:              fe80::dea6:32ff:fef9:f0a1
          CHIP:DIS:      Address 2:              192.168.1.12


          connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool pairing ble-wifi 1 zigbee-thread matter123 20202021 3841

          connectedhomeip/examples/chip-tool/out/debug$ sudo ./chip-tool basic read product-name 1 0
      disabled: true

    - label:
          "Establish encryption keys with Password Authenticated Session
          Establishment on the commissioning channel"
      verification: |
          Verify that the responder receives the PBKDFParamRequest message

          Verify in TH as server side
          CHIP:SC: Received PBKDF param request
          CHIP:SC: Peer assigned session ID 18450
          CHIP:SC: Found MRP parameters in the message
          CHIP:SC: Including MRP parameters in PBKDF param response
          CHIP:EM: Piggybacking Ack for MessageCounter:850320430 on exchange: 63762r
          CHIP:IN: Prepared unauthenticated message 0xaaaaad340560 to 0x0000000000000000 (0)  of type 0x21 and protocolId (0, 0) on exchange 63762r with MessageCounter:1341084110.
          CHIP:IN: Sending unauthenticated msg 0xaaaaad340560 with MessageCounter:1341084110 to 0x0000000000000000 at monotonic time: 0000000000FBA380 msec
          CHIP:SC: Sent PBKDF param response

          Verify in DUT as client side
          Sent PBKDF param request
          [1653471961.364996][30157:30162] CHIP:CTL: Setting wifi credentials from parameters
          [1653471961.365051][30157:30162] CHIP:CTL: Setting attestation nonce to random value
          [1653471961.365166][30157:30162] CHIP:CTL: Setting CSR nonce to random value
          [1653471961.365285][30157:30162] CHIP:CTL: Commission called for node ID 0x0000000000000001
          [1653471961.365797][30157:30163] CHIP:DL: TRACE: Bluez mainloop starting Thread
          [1653471961.366157][30157:30160] CHIP:DL: TRACE: Bus acquired for name C-75cd
          [1653471961.382240][30157:30162] CHIP:DL: PlatformBlueZInit init success
          [1653471961.393893][30157:30160] CHIP:BLE: BLE removing known devices.
          [1653471961.397319][30157:30160] CHIP:BLE: BLE initiating scan.
          [1653471961.415415][30157:30160] CHIP:BLE: Device 21:2D:EF:B9:9D:46 does not look like a CHIP device.
      disabled: true

    - label:
          "Commissioner SHALL re-arm Fail-safe timer on Commissionee within 60s
          (the autonomously Fail-safe timer length set by Commissionee)"
      verification: |
          Verify in TH as server side

          CHIP:DL: NVS set: chip-config/fail-safe-armed = true

          Verify in DUT as client side

          : Performing next commissioning step "ArmFailSafe"
          [1653471968.064493][30157:30162] CHIP:CTL: Arming failsafe (60 seconds)
      disabled: true

    - label:
          "Commissioner SHALL configure regulatory information in the
          Commissionee."
      PICS: MCORE.COM.WIRELESS
      verification: |
          Verify in DUT as client side

          Performing next commissioning step "ConfigRegulatory"
          [1653471968.202645][30157:30162] CHIP:CTL: Setting Regulatory Config
          [1653471968.202666][30157:30162] CHIP:CTL: No regulatory config supplied by controller, leaving as device default (0)

          Verify in TH as server side
           NVS set: chip-config/regulatory-location = 0 (0x0)
      disabled: true

    - label:
          "Commissioner requests operational CSR from Commissionee with
          OperationalCSRRequest command"
      verification: |
          Verify in DUT as client side after commissioning

          [1646909537.102263][3145:3150] CHIP:CTL: Received Attestation Information from the device
          [1646909537.102418][3145:3150] CHIP:CTL: Verifying attestation
          [1646909537.115081][3145:3150] CHIP:CTL: Successfully validated "Attestation Information" command received from the device.

          Verify in TH as server side
          OpCreds: Received a CSRRequest command
          CHIP:ZCL: OpCreds: NewCertificateSigningRequest succeeded
      disabled: true

    - label:
          "Commissioner configures operational credentials on DUT if not
          previously installed"
      verification: |
          Verify in TH as server side

          OpCreds: Received an AddTrustedRootCertificate command

          Verify in DUT as client side

          Sending root certificate to the device
          CHIP:DMG: ICR moving to [AddingComm]
          CHIP:DMG: ICR moving to [AddedComma]
          CHIP:IN: Prepared secure message 0xffffa4cdf8c8 to 0xFFFFFFFB00000000 (0)  of type 0x8 and protocolId (0, 1) on exchange 23999i with MessageCounter:211812.
          CHIP:IN: Sending encrypted msg 0xffffa4cdf8c8 with MessageCounter:211812 to 0xFFFFFFFB00000000 (0) at monotonic time: 00000000010D06BD msec
          CHIP:DMG: ICR moving to [CommandSen]
          CHIP:CTL: Sent root certificate to the device
      disabled: true

    - label:
          "Commissioner configures itself as administrator in ACL on DUT if
          needed"
      verification: |
          Verify in DUT as client side after commissioning

          CHIP:CTL: Commissioning stage next step: "SendTrustedRootCert" -> "SendNOC"
          [1653471969.812357][30157:30162] CHIP:CTL: Performing next commissioning step "SendNOC"
          [1653471969.812478][30157:30162] CHIP:DMG: ICR moving to [AddingComm]
          [1653471969.812559][30157:30162] CHIP:DMG: ICR moving to [AddedComma]
          [1653471969.812778][30157:30162] CHIP:IN: Prepared secure message 0xffffa4ce0998 to 0xFFFFFFFB00000000 (0)  of type 0x8 and protocolId (0, 1) on exchange 24000i with MessageCounter:211813.
          [1653471969.812871][30157:30162] CHIP:IN: Sending encrypted msg 0xffffa4ce0998 with MessageCounter:211813 to 0xFFFFFFFB00000000 (0) at monotonic time: 00000000010D077D msec
          [1653471969.813068][30157:30162] CHIP:DMG: ICR moving to [CommandSen]
          [1653471969.813137][30157:30162] CHIP:CTL: Sent operational certificate to the device
          [1653471969.813237][30157:30162] CHIP:DMG: ICR moving to [AwaitingDe]
          [1653471969.952613][30157:30162] CHIP:DL: HandlePlatformSpecificBLEEvent 16387
          [1653471970.050705][30157:30162] CHIP:DL: HandlePlatformSpecificBLEEvent 16387
          [1653471970.148491][30157:30162] CHIP:DL: HandlePlatformSpecificBLEEvent 16387
          [1653471970.344099][30157:30160] CHIP:DL: Indication received, conn = 0xffff9c04df70
          [1653471970.344351][30157:30162] CHIP:DL: HandlePlatformSpecificBLEEvent 16389
          [1653471970.344611][30157:30162] CHIP:EM: Received message of type 0x9 with protocolId (0, 1) and MessageCounter:1000769 on exchange 24000i
          [1653471970.344688][30157:30162] CHIP:EM: Found matching exchange: 24000i, Delegate: 0xffff9c06f0a0
          [1653471970.344771][30157:30162] CHIP:DMG: ICR moving to [ResponseRe]
          [1653471970.344870][30157:30162] CHIP:DMG: InvokeResponseMessage =
          [1653471970.345060][30157:30162] CHIP:DMG: {
          [1653471970.345124][30157:30162] CHIP:DMG:         suppressResponse = false,
          [1653471970.345198][30157:30162] CHIP:DMG:         InvokeResponseIBs =
          [1653471970.345276][30157:30162] CHIP:DMG:         [
          [1653471970.345338][30157:30162] CHIP:DMG:                 InvokeResponseIB =
          [1653471970.345422][30157:30162] CHIP:DMG:                 {
          [1653471970.345501][30157:30162] CHIP:DMG:                         CommandDataIB =
          [1653471970.345586][30157:30162] CHIP:DMG:                         {
          [1653471970.345666][30157:30162] CHIP:DMG:                                 CommandPathIB =
          [1653471970.345748][30157:30162] CHIP:DMG:                                 {
          [1653471970.345835][30157:30162] CHIP:DMG:                                         EndpointId = 0x0,
          [1653471970.345924][30157:30162] CHIP:DMG:                                         ClusterId = 0x3e,
          [1653471970.346017][30157:30162] CHIP:DMG:                                         CommandId = 0x8,
          [1653471970.346105][30157:30162] CHIP:DMG:                                 },
          [1653471970.346198][30157:30162] CHIP:DMG:
          [1653471970.346280][30157:30162] CHIP:DMG:                                 CommandData =
          [1653471970.346361][30157:30162] CHIP:DMG:                                 {
          [1653471970.346452][30157:30162] CHIP:DMG:                                         0x0 = 0,
          [1653471970.346539][30157:30162] CHIP:DMG:                                         0x1 = 1,
          [1653471970.346628][30157:30162] CHIP:DMG:                                 },
          [1653471970.346702][30157:30162] CHIP:DMG:                         },
          [1653471970.346767][30157:30162] CHIP:DMG:
          [1653471970.346889][30157:30162] CHIP:DMG:                 },
          [1653471970.346954][30157:30162] CHIP:DMG:
          [1653471970.346999][30157:30162] CHIP:DMG:         ],
          [1653471970.347056][30157:30162] CHIP:DMG:
          [1653471970.347101][30157:30162] CHIP:DMG:         InteractionModelRevision = 1
          [1653471970.347144][30157:30162] CHIP:DMG: },
          [1653471970.347251][30157:30162] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008
          [1653471970.347339][30157:30162] CHIP:CTL: Device returned status 0 on receiving the NOC
          [1653471970.347381][30157:30162] CHIP:CTL: Operational credentials provisioned on device 0xffff90000b60
          [1653471970.347439][30157:30162] CHIP:TOO: Secure Pairing Success
          [1653471970.347485][30157:30162] CHIP:CTL: Successfully finished commissioning step "SendNOC"

          Verify in TH as server side

           OpCreds: Received an AddNOC command
      disabled: true

    - label:
          "Commissioner configures operational network on DUT if DUT both
          supports and requires"
      verification: |
          Verify in DUT as client side after commissioning

          [1646909537.345068][3145:3150] CHIP:CTL: Received certificate signing request from the device
      disabled: true

    - label:
          "Commissioner instructs Commissionee to connect to operational network
          if not already connected"
      verification: |
          Verify in DUT as client side after commissioning

          [1646909537.976592][3145:3150] CHIP:CTL: Operational credentials provisioned on device 0xffffac001730
          [1646909537.976664][3145:3150] CHIP:TOO: Secure Pairing Success
      disabled: true

    - label: "Commissioner starts discovery of DUT using Operational Discovery"
      verification: |
          Verify in DUT as client side

          CHIP:CTL: Commissioning stage next step: "SendNOC" -> "FindOperational"
          [1653471976.344532][30157:30162] CHIP:CTL: Performing next commissioning step "FindOperational"
          [1653471976.344586][30157:30162] CHIP:CSM: FindOrEstablishSession: PeerId = CCCB8A2597E4538B:0000000000000001
          [1653471976.344642][30157:30162] CHIP:CSM: FindOrEstablishSession: No existing OperationalDeviceProxy instance found
          [1653471976.344715][30157:30162] CHIP:CTL: OperationalDeviceProxy[CCCB8A2597E4538B:0000000000000001]: State change 1 --> 2
          [1653471976.344783][30157:30162] CHIP:DIS: Resolving CCCB8A2597E4538B:0000000000000001 ...
          [1653471976.346864][30157:30162] CHIP:DIS: Operational node lookup already in progress. Will NOT start a new one.
          [1653471976.347000][30157:30162] CHIP:DMG: ICR moving to [AwaitingDe]
          [1653471976.348514][30157:30162] CHIP:DL: Avahi resolve found
          [1653471976.348597][30157:30162] CHIP:DIS: Node ID resolved for CCCB8A2597E4538B:0000000000000001
          [1653471976.348633][30157:30162] CHIP:DIS:         Hostname: E45F010F27530000        [1653471976.348670][30157:30162] CHIP:DIS:         IP Address #1: fe80::e65f:1ff:fe0f:2753
          [1653471976.348702][30157:30162] CHIP:DIS:         Port: 5540
          [1653471976.348732][30157:30162] CHIP:DIS:         Mrp Interval idle: 5000 ms
          [1653471976.348762][30157:30162] CHIP:DIS:         Mrp Interval active: 300 ms
          [1653471976.349059][30157:30162] CHIP:DIS: UDP:[fe80::e65f:1ff:fe0f:2753%eth0]:5540: new best score: 3
      disabled: true

    - label:
          "Commissioner opens a CASE session with DUT over operational network"
      verification: |
          Verify in TH as server side

           CASE Server enabling CASE session setups
          [1653471957.713139][10713:10713] CHIP:SVR: Joining Multicast groups
          [1653471957.713654][10713:10713] CHIP:ZCL: Emitting StartUp event
          [1653471957.714762][10713:10713] CHIP:EVL: LogEvent event number: 0x0000000000000000 priority: 2, endpoint id:  0x0 cluster id: 0x0000_0028 event id: 0x0 Sys timestamp: 0x000000000059AC88
          [1653471957.715456][10713:10713] CHIP:ZCL: GeneralDiagnosticsDelegate: OnDeviceRebooted
      disabled: true

    - label: "Commissioner sends CommissioningComplete command"
      verification: |
          Verify in DUT as client side

          CHIP:CTL: Received CommissioningComplete response
      disabled: true

    - label:
          "Commissioning channel between the Commissioner and Commissionee is
          terminated."
      verification: |
          Verify in DUT as client side

          CHIP:CTL: Successfully finished commissioning step "SendComplete"
          CHIP:CTL: Commissioning stage next step: "SendComplete" -> "Cleanup"
          CHIP:CTL: Performing next commissioning step "Cleanup"
          CHIP:CTL: Successfully finished commissioning step "Cleanup"
          CHIP:TOO: Device commissioning completed with success
          CHIP:CTL: Performing next commissioning step "Cleanup"
          CHIP:DIS: Closing all BLE connections
          CHIP:IN: Clearing BLE pending packets.
          CHIP:BLE: Auto-closing end point"s BLE connection.
          CHIP:DL: Closing BLE GATT connection (con 0xffff9c04df70)
          CHIP:CTL: Successfully finished commissioning step "Cleanup"
          CHIP:TOO: Device commissioning completed with success
      disabled: true
