# 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 Information"
    endpoint: 0

tests:
    - label: "Preconditions"
      verification: |
          1 - 5.5 - Commissioner is on a network. - The network can either be IP-based(Ethernet or WiFi) or Thread. Commissioner can either be a Matter device which is already on a network or the test harness connected to the network.
      disabled: true

    - label:
          "Commissioner and Commissionee discover each other and connect via the
          discovery mode applicable for the DUT."
      verification: |
          1. Place the DUT commissionee into a commissioning mode
          For example DUT=chip-all-clusters-app:
          ./chip-all-clusters-app --wifi --discriminator 3841

          Verify on TH (CHIP-TOOL):

          For devices not on the network (i.e. BLE discovery):
          1. Pair the device over the applicable Discovery transport using TH=chip-tool

          For devices already on the network:
           ./chip-tool pairing code 1 MT:-24J0CEK01KA0648G00
          [1657226543861] [30621:16744161] CHIP: [IN] SecureSession[0x6000007cc000]: Activated - Type:1 LSID:47293
          [1657226543861] [30621:16744161] CHIP: [IN] New secure session activated for device <FFFFFFFB00000000, 0>, LSID:47293 PSID:201!
          [1657226543861] [30621:16744161] CHIP: [CTL] Remote device completed SPAKE2+ handshake
          [1657226543861] [30621:16744161] CHIP: [CTL] Stopping commissioning discovery over DNS-SD
          [1657226543861] [30621:16744161] CHIP: [TOO] Pairing Success
      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 DUT (ALL-CLUSTER-APP)
          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 TH(CHIP-TOOL)
          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 DUT (ALL-CLUSTER-APP)

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

          Verify in TH(CHIP-TOOL)

          : 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 TH(CHIP-TOOL)

          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 DUT (ALL-CLUSTER-APP)
           NVS set: chip-config/regulatory-location = 0 (0x0)
      disabled: true

    - label:
          "Commissioner requests operational CSR from Commissionee with
          OperationalCSRRequest command"
      verification: |
          Verify in TH(CHIP-TOOL) 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 DUT (ALL-CLUSTER-APP)
          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 DUT (ALL-CLUSTER-APP)

          OpCreds: Received an AddTrustedRootCertificate command

          Verify in TH(CHIP-TOOL)

          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 TH(CHIP-TOOL) 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.
          [165347196
          ./chip-tool pairing ble-thread 1 hex:0e080000000000010000000300000f35060004001fffe0020811111111222222220708fd27e57b1b1e22d9051000112233445566778899aabbccddeeff030e4f70656e54687265616444656d6f01021234041061e1206d2c2b46e079eb775f41fc72190c0402a0fff8 20202021 38409.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 DUT (ALL-CLUSTER-APP)

           OpCreds: Received an AddNOC command
      disabled: true

    - label:
          "Commissioner configures operational network on DUT if DUT both
          supports and requires"
      verification: |
          Verify in TH(CHIP-TOOL) 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 TH(CHIP-TOOL) 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 TH(CHIP-TOOL)

          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 DUT (ALL-CLUSTER-APP)

          [1660154789.690124][7968:7968] CHIP:IN: CASE Server enabling CASE session setups
          [1660154789.690208][7968:7968] CHIP:IN: SecureSession[0xaaaab75fae10]: Allocated Type:2 LSID:55651
          [1660154789.690248][7968:7968] CHIP:SC: Allocated SecureSession (0xaaaab75fae10) - waiting for Sigma1 msg
          [1660154789.690276][7968:7968] CHIP:SVR: Joining Multicast groups
          [1660154789.690304][7968:7968] CHIP:ZCL: Emitting StartUp event
          [1660154789.690395][7968:7968] CHIP:EVL: LogEvent event number: 0x0000000000000002 priority: 2, endpoint id:  0x0 cluster id: 0x0000_0028 event id: 0x0 Sys timestamp: 0x00000000001D1D86

          Verify in TH(CHIP-TOOL)
          [1660154794132] [99576:10438621] CHIP: [TOO] CASE establishment successful
      disabled: true

    - label: "Commissioner sends CommissioningComplete command"
      verification: |
          Verify in TH(CHIP-TOOL)

          CHIP:CTL: Received CommissioningComplete response
      disabled: true

    - label:
          "Commissioning channel between the Commissioner and Commissionee is
          terminated."
      verification: |
          Verify in TH(CHIP-TOOL)

          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
