# 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.12. [TC-DD-3.12] Commissioning Flow = 1 (User-Intent Flow) - QR Code
    [DUT - Commissioner]

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

config:
    nodeId: 0x12344321
    cluster: "Basic Information"
    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 Commissionee device or in additional provided materials (ex: manual, companion app, web service).

          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:
          "User-Intent Commissioning Flow: Use a Commissionee with a QR code
          that has the Custom Flow field set to 1 and supports BLE for its
          Discovery Capability. Commissionee is NOT in commissioning mode.
          Ensure the Version bit string follows the current Matter spec.
          documentation."
      PICS: MCORE.DD.DISCOVERY_BLE
      verification: |
          Verifiy on TH(ALL-CLUSTER-APP):

           ./chip-all-clusters-app --capabilities 2 --custom-flow 1 --ble-device 1
          ...
          [1657234110.765249][370717:370717] CHIP:SVR: SetupQRCode: [MT:-24J0YXE00KA0648G00]
          [1657234110.765314][370717:370717] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code:
          [1657234110.765364][370717:370717] CHIP:SVR: https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J0YXE00KA0648G00
      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: "DUT parses QR code."
      PICS: MCORE.DD.DISCOVERY_BLE
      verification: |
          1. Parse the payload of the TH commissionee

          Verify on the DUT (CHIP-TOOL):
           ./chip-tool payload parse-setup-payload MT:-24J0YXE00KA0648G00

          2. Verify that TH logs do not show the commissionee being commissioned by the DUT.
      disabled: true

    - label:
          "User should follow any TH-specific steps for putting the TH
          Commissionee device into commissioning mode and to complete the
          commissioning process using BLE."
      PICS: MCORE.DD.DISCOVERY_BLE
      verification: |
          Verifiy on TH(ALL-CLUSTER-APP):
          [1651101988.943015][23212:23212] CHIP:SVR: Commissioning completed successfully
          [1651101988.943058][23212:23212] CHIP:DIS: Updating services using commissioning mode 0

          Verify on the DUT (CHIP-TOOL):
          ./chip-tool pairing code 1 MT:-24J0YXE00KA0648G00
          [1657234147237] [31454:16822562] CHIP: [CTL] Successfully finished commissioning step 'SendComplete'
          [1657234147237] [31454:16822562] CHIP: [CTL] Commissioning stage next step: 'SendComplete' -> 'Cleanup'
          [1657234147237] [31454:16822562] CHIP: [CTL] Performing next commissioning step 'Cleanup'
          [1657234147237] [31454:16822562] CHIP: [CTL] Successfully finished commissioning step 'Cleanup'
          [1657234147237] [31454:16822562] CHIP: [TOO] Device commissioning completed with success
      disabled: true

    - label:
          "User-Intent Commissioning Flow: Use a Commissionee with a QR code
          that has the Custom Flow field set to 1 and supports IP Network for
          its Discovery Capability. Commissionee is NOT in commissioning mode.
          Ensure the Version bit string follows the current Matter spec.
          documentation."
      PICS: MCORE.DD.DISCOVERY_IP
      verification: |
          Verifiy on TH(ALL-CLUSTER-APP):
          ./chip-all-clusters-app --custom-flow 1 --capabilities 4

          [1660353382.200125][249074:249074] CHIP:SVR: SetupQRCode: [MT:-24J029Q00KA0648G00]
          [1660353382.200152][249074:249074] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code:
          [1660353382.200173][249074:249074] CHIP:SVR: https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J029Q00KA0648G00
      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: "DUT parses QR code."
      PICS: MCORE.DD.DISCOVERY_IP
      verification: |
          1. Parse the payload of the TH commissionee

          Verify on the DUT (CHIP-TOOL):
           ./chip-tool payload parse-setup-payload MT:-24J029Q00KA0648G00

          2. Verify that TH logs do not show the commissionee being commissioned by the DUT.
      disabled: true

    - label:
          "User should follow any TH-specific steps for putting the TH
          Commissionee device into commissioning mode and to complete the
          commissioning process using IP Network."
      PICS: MCORE.DD.DISCOVERY_IP
      verification: |
          Verifiy on TH(ALL-CLUSTER-APP):
          [1657234324.992098][370755:370755] CHIP:SVR: Commissioning completed successfully
          [1657234324.992146][370755:370755] CHIP:DIS: Updating services using commissioning mode 0

          Verify on the DUT (CHIP-TOOL):
          ./chip-tool pairing code 1 MT:-24J029Q00KA0648G00
          [1657234324847] [31475:16824564] CHIP: [CTL] Successfully finished commissioning step 'SendComplete'
          [1657234324847] [31475:16824564] CHIP: [CTL] Commissioning stage next step: 'SendComplete' -> 'Cleanup'
          [1657234324847] [31475:16824564] CHIP: [CTL] Performing next commissioning step 'Cleanup'
          [1657234324847] [31475:16824564] CHIP: [CTL] Successfully finished commissioning step 'Cleanup'
          [1657234324847] [31475:16824564] CHIP: [TOO] Device commissioning completed with success
      disabled: true

    - label:
          "User-Intent Commissioning Flow: Use a Commissionee with a QR code
          that has the Custom Flow field set to 1 and supports SoftAP for its
          Discovery Capability. Commissionee is NOT in commissioning mode.
          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
      disabled: true

    - label: "DUT parses QR code."
      PICS: MCORE.DD.DISCOVERY_SOFTAP
      verification: |
          Out of Scope for V1.0
          SoftAP commissioning not currently supported
      disabled: true

    - label:
          "User should follow any TH-specific steps for putting the TH
          Commissionee device into commissioning mode and 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
