# 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.11. [TC-DD-3.11] Commissioning Flow = 0 (Standard Flow) - QR Code [DUT -
    Commissioner]

PICS:
    - MCORE.ROLE.COMMISSIONER
    - MCORE.DD.QR_COMMISSIONING
    - MCORE.DD.STANDARD_COMM_FLOW

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

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

    - label: "Preconditions"
      verification: |
          1 - DUT is on an operational network and has accurate date, time, timezone, regulatory, and fabric information available.

          2 - 5.1.3 - QR code is printed on the device or in additional provided materials (ex: manual).

          An example onboarding QR code could be "MT:-24J029Q00KA0648G00" (following 5.1.3 "QR Code", Table 34 "Packed Binary Data Structure for Onboarding Payload") which includes:

          - 3-bit Version String=000

          - 16-bit Vendor ID=0xFFF1 (as defined in section 2.5.2. "Vendor Identifier")

          - 16-bit Product ID=0x8001 (as defined in section 2.5.3. "Product Identifier")

          - 2-bit Custom Flow=10 (Custom Commissioning Flow = 2)

          - 8-bit Discovery Capabilities Bitmask=00000100 (OnNetwork)

          - 12-bit Discriminator=0xF00

          - 27-bit Passcode=20202021

          - 4-bit Padding=0000

          - no variable-length TLV Data included (as defined in section 5.1.3.1. "Payload", subsection "TLV Data")
      disabled: true

    - label:
          "Standard Commissioning Flow: Use a Commissionee with a QR code that
          has the Custom Flow field set to 0 and supports BLE for its Discovery
          Capability. Ensure the Version bit string follows the current Matter
          spec. documentation."
      PICS: MCORE.DD.DISCOVERY_BLE
      verification: |
          Verify on the TH as commissionee side:

          $ ./out/ble/all-clusters-app/chip-all-clusters-app --capabilities 2 --ble-device 1
          ...
          [1657232267.387816][370320:370320] CHIP:DL: Device Configuration:
          [1657232267.387853][370320:370320] CHIP:DL:   Serial Number: (not set)
          [1657232267.387907][370320:370320] CHIP:DL:   Vendor Id: 65521 (0xFFF1)
          [1657232267.387942][370320:370320] CHIP:DL:   Product Id: 32769 (0x8001)
          [1657232267.387974][370320:370320] CHIP:DL:   Hardware Version: 0
          [1657232267.387996][370320:370320] CHIP:DL:   Setup Pin Code (0 for UNKNOWN/ERROR): 20202021
          [1657232267.388017][370320:370320] CHIP:DL:   Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3840 (0xF00)
          [1657232267.388045][370320:370320] CHIP:DL:   Manufacturing Date: (not set)
          [1657232267.388067][370320:370320] CHIP:DL:   Device Type: 65535 (0xFFFF)
          [1657232267.388101][370320:370320] CHIP:SVR: SetupQRCode: [MT:-24J0YXE00KA0648G00]
          [1657232267.388128][370320:370320] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code:
          [1657232267.388148][370320:370320] CHIP:SVR: https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J0YXE00KA0648G00
          [1657232267.388182][370320:370320] CHIP:SVR: Manual pairing code: [749701123365521327694]
      disabled: true

    - label: "Scan the QR code from the previous step using the DUT."
      PICS: MCORE.DD.SCAN_QR_CODE
      verification: |
          1. Verify the QR code is scanned by DUT.
          Note: chip-tool does not support physically scanning QR codes
      disabled: true

    - label:
          "Using the DUT, parse the THs QR code and follow any steps needed for
          the Commissioner/Commissionee to complete the commissioning process
          using BLE"
      PICS: MCORE.DD.DISCOVERY_BLE
      verification: |
          Verify on the TH as commissionee side:

          [1657232374.956508][370357:370357] CHIP:DL: HandlePlatformSpecificBLEEvent 32784
          [1657232374.956534][370357:370357] CHIP:SVR: Commissioning completed successfully
          [1657232374.956577][370357:370357] CHIP:DIS: Updating services using commissioning mode 0

          Verify on the DUT Commissioner side:
          $ ./chip-tool pairing code 1  MT:-24J0YXE00KA0648G00

          [1657232374820] [31379:16804218] CHIP: [CTL] Received CommissioningComplete response, errorCode=0
          [1657232374820] [31379:16804218] CHIP: [CTL] Successfully finished commissioning step "SendComplete"
          [1657232374820] [31379:16804218] CHIP: [CTL] Commissioning stage next step: "SendComplete" -> "Cleanup"
          [1657232374820] [31379:16804218] CHIP: [CTL] Performing next commissioning step "Cleanup"
          [1657232374820] [31379:16804218] CHIP: [CTL] Successfully finished commissioning step "Cleanup"
          [1657232374820] [31379:16804218] CHIP: [TOO] Device commissioning completed with success
      disabled: true

    - label:
          "Standard Commissioning Flow: Use a Commissionee with a QR code that
          has the Custom Flow field set to 0, supports IP Network for its
          Discovery Capability and is already on the same IP network as the DUT
          commissioner. Ensure the Version bit string follows the current Matter
          spec. documentation."
      PICS: MCORE.DD.DISCOVERY_IP
      verification: |
          $ ./out/all-clusters-app/chip-all-clusters-app --custom-flow 0 --capabilities 4

          Verify on the TH as commissionee side:
          [1651105420.610637][27312:27312] CHIP:DL: Device Configuration:
          [1651105420.610695][27312:27312] CHIP:DL:   Serial Number: TEST_SN
          [1651105420.610727][27312:27312] CHIP:DL:   Vendor Id: 65521 (0xFFF1)
          [1651105420.610761][27312:27312] CHIP:DL:   Product Id: 32769 (0x8001)
          [1651105420.610792][27312:27312] CHIP:DL:   Hardware Version: 0
          [1651105420.610815][27312:27312] CHIP:DL:   Setup Pin Code (0 for UNKNOWN/ERROR): 20202021
          [1651105420.610836][27312:27312] CHIP:DL:   Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3840 (0xF00)
          [1651105420.610864][27312:27312] CHIP:DL:   Manufacturing Date: (not set)
          [1651105420.610886][27312:27312] CHIP:DL:   Device Type: 65535 (0xFFFF)
          [1651105420.610907][27312:27312] CHIP:-: ==== Onboarding payload for Standard Commissioning Flow ====
          [1651105420.610962][27312:27312] CHIP:SVR: SetupQRCode: [MT:-24J0AFN00KA0648G00]
      disabled: true

    - label: "Scan the QR code from the previous step using the DUT."
      PICS: MCORE.DD.SCAN_QR_CODE
      verification: |
          1. Verify the QR code is scanned by DUT

           Note: chip-tool does not support physically scanning QR codes
      disabled: true

    - label:
          "Using the DUT, parse the THs QR code and follow any steps needed for
          the Commissioner/Commissionee to complete the commissioning process
          using IP Network"
      PICS: MCORE.DD.DISCOVERY_IP
      verification: |
          Verify on the TH Commissionee side:

          [1651105530.973166][27371:27371] CHIP:SVR: Commissioning completed successfully
          [1651105530.973215][27371:27371] CHIP:DIS: Updating services using commissioning mode 0

          Verify on the DUT Commissioner:
          $ ./chip-tool pairing code 1 MT:-24J0AFN00KA0648G00

          [1651105530854] [95067:65607294] CHIP: [CTL] Received CommissioningComplete response
          [1651105530854] [95067:65607294] CHIP: [CTL] Successfully finished commissioning step "SendComplete"
          [1651105530854] [95067:65607294] CHIP: [CTL] Commissioning stage next step: "SendComplete" -> "Cleanup"
          [1651105530854] [95067:65607294] CHIP: [CTL] Performing next commissioning step "Cleanup"
          [1651105530854] [95067:65607294] CHIP: [CTL] Successfully finished commissioning step "Cleanup"
          [1651105530854] [95067:65607294] CHIP: [TOO] Device commissioning completed with success
      disabled: true

    - label:
          "Standard Commissioning Flow: Use a Commissionee with a QR code that
          has the Custom Flow field set to 0 and supports SoftAP for its
          Discovery Capability. Ensure the Version bit string follows the
          current Matter spec. documentation."
      PICS: MCORE.DD.DISCOVERY_SOFTAP
      verification: |
          Out of Scope for V1.0
          SoftAP commissioning not currently supported
      disabled: true

    - label: "Scan the QR code from the previous step using the DUT."
      PICS: MCORE.DD.SCAN_QR_CODE
      verification: |
          Out of Scope for V1.0
          SoftAP commissioning not currently supported
          1. Verify the QR code is scanned by DUT, chip-tool does not support physically scanning QR codes
      disabled: true

    - label:
          "Using the DUT, parse the THs QR code and follow any steps needed for
          the Commissioner/Commissionee to complete the commissioning process
          using SoftAP"
      PICS: MCORE.DD.DISCOVERY_SOFTAP
      verification: |
          Out of Scope for V1.0
          SoftAP commissioning not currently supported
      disabled: true
