# 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.1.14. [TC-DD-1.14] Onboarding Payload Verification - Custom Flow = 2 [DUT
    - Commissionee]

PICS:
    - MCORE.ROLE.COMMISSIONEE
    - MCORE.DD.QR
    - MCORE.DD.CUSTOM_COMM_FLOW

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

tests:
    - label: "Preconditions"
      verification: |
          1 - 5.1.3 - QR Code/ Manual Pairing Code is printed on the Commissionee device or in additional provided materials (ex: manual, companion app, web service).
      disabled: true

    - label: "Step 1: Power on the DUT device."
      verification: |
          1. Verify DUT is NOT advertising in commissioning mode. On DUT, the DUT should not show up

          For devices already on the network:
            ./chip-tool discover commissionables

          TH Commissioner should not discover the DUT here

          For devices not on the network (i.e. BLE discovery):
          1. Discover commissionables over BLE using a BLE discovery tool of choice.
          Try NRF Connect app (https://www.nordicsemi.com/Products/Development-tools/nrf-connect-for-desktop)
          OR
          HCIDump (https://ubuntu.com/core/docs/bluez/reference/commands)
          TH Commissioner should not discover the DUT here
      disabled: true

    - label:
          "Step 2: Scan the DUTs QR code from the previous step using the TH."
      verification: |
          1. Run DUT. Example for DUT=all-clusters app
          ./chip-all-clusters-app --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --custom-flow 2 --capabilities 4 --discriminator 3840 --passcode 20202021

          2. Parse onboarding payload using TH=chip-tool
          ./chip-tool payload parse-setup-payload MT:-24J029Q00KA0648G00
          Verify in TH (CHIP-TOOL)

          [1666001146.756306][8234:8234] CHIP:SPL: Parsing base38Representation: MT:-24J029Q00KA0648G00
          [1666001146.756705][8234:8234] CHIP:SPL: Version:             0
          [1666001146.756770][8234:8234] CHIP:SPL: VendorID:            65521
          [1666001146.756818][8234:8234] CHIP:SPL: ProductID:           32769
          [1666001146.756875][8234:8234] CHIP:SPL: Custom flow:         2    (CUSTOM)
          [1666001146.756929][8234:8234] CHIP:SPL: Discovery Bitmask:   0x04 (On IP network)
          [1666001146.756981][8234:8234] CHIP:SPL: Long discriminator:  3840   (0xf00)
          [1666001146.757035][8234:8234] CHIP:SPL: Passcode:            20202021
      disabled: true

    - label:
          "Step 3: Follow any DUT-specific steps, guided by a service provided
          by the DUT's manufacturer for initial device setup, then place the DUT
          Commissionee into commissioning mode."
      verification: |
          1. Follow DUT vendor-specific steps to put DUT into commissioning mode
          2. Verify DUT is advertising in commissioning mode. On DUT,

          For devices already on the network:
          ./chip-tool discover commissionables
          Verify in TH (CHIP-TOOL)

          [1651192893436] [15304:442604] CHIP: [DL] Mdns: OnNewAddress interface: 24 ip:fe80::dea6:32ff:fe8d:6e32
          [1651192893436] [15304:442604] CHIP: [DIS]         Vendor ID: 65521
          [1651192893436] [15304:442604] CHIP: [DIS]         Product ID: 32769
          [1651192893436] [15304:442604] CHIP: [DIS]         Long Discriminator: 3840
          [1651192893436] [15304:442604] CHIP: [DIS]         Pairing Hint: 33
          [1651192893436] [15304:442604] CHIP: [DIS]         Hostname: DCA6328D6E320000
          [1651192893436] [15304:442604] CHIP: [DIS]         Instance Name: 914762134DA8E7D1
          [1651192893436] [15304:442604] CHIP: [DIS]         IP Address #1: fe80::dea6:32ff:fe8d:6e32
          [1651192893436] [15304:442604] CHIP: [DIS]         Port: 5540
          [1651192893436] [15304:442604] CHIP: [DIS]         Commissioning Mode: 1
          [1651192893436] [15304:442604] CHIP: [DIS]         Mrp Interval idle: 5000 ms
          [1651192893436] [15304:442604] CHIP: [DIS]         Mrp Interval active: 300 ms

          For devices not on the network (i.e. BLE discovery):
          1. Discover commissionables over BLE using a BLE discovery tool of choice.
          Try NRF Connect app (https://www.nordicsemi.com/Products/Development-tools/nrf-connect-for-desktop)
          OR
          HCIDump (https://ubuntu.com/core/docs/bluez/reference/commands)
          Observe the DUT advertising in a commissionable state
      disabled: true
