# 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.16. [TC-DD-3.16] Commissioning Flow - 11-digit Manual Pairing Code -
    Negative Scenario [DUT - Commissioner]
PICS:
    - MCORE.ROLE.COMMISSIONER
    - MCORE.DD.11_MANUAL_PC

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.4.2 - 11-digit Manual Pairing Code is printed on the Commissionee device or in additional provided materials (ex: manual).

          An example onboarding payload could be "34970112332" (following 5.1.4. Table 37. "Manual Pairing Code Elements") which each include:

          - 1-bit VID_PID_PRESENT = 0 (11-digit only)

          - 1-bit VERSION=0

          - 4-bit SHORT DISCRIMINATOR=0xF00 (4 Most-significant bits of the 12-bits Discriminator value)

          - 27-bit PASSCODE=20202021 (see section 5.1.6. Generation of the Passcode)

          - 16-bit VENDOR_ID=0xFFF1 (as defined in section 2.5.2. "Vendor Identifier", for 21-digit Manual Pairing Code only)

          - 16-bit PRODUCT_ID=0x8001 (as defined in section 2.5.3. "Product Identifier", present if and only if VID is present)

          - A generated CHECK_DIGIT (see section 5.1.4. Manual Pairing Code, subsection "Check Digit")
      disabled: true

    - label:
          "Provide the 11-digit Manual Pairing Code from the Commissionee to the
          DUT in any format supported by DUT"
      verification: |
          Verify on the TH (All-cluster-app)
          ./chip-all-clusters-app --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --custom-flow 0 --capabilities 4 --discriminator 3840 --passcode 20202021

          [1651180718.960383][13218:13218] CHIP:DL: Device Configuration:
          [1651180718.960441][13218:13218] CHIP:DL:   Serial Number: TEST_SN
          [1651180718.960477][13218:13218] CHIP:DL:   Vendor Id: 65521 (0xFFF1)
          [1651180718.960512][13218:13218] CHIP:DL:   Product Id: 32769 (0x8001)
          [1651180718.960546][13218:13218] CHIP:DL:   Hardware Version: 0
          [1651180718.960569][13218:13218] CHIP:DL:   Setup Pin Code (0 for UNKNOWN/ERROR): 20202021
          [1651180718.960597][13218:13218] CHIP:DL:   Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3840 (0xF00)
          [1651180718.960627][13218:13218] CHIP:DL:   Manufacturing Date: (not set)
          [1651180718.960650][13218:13218] CHIP:DL:   Device Type: 65535 (0xFFFF)
          [1651180718.960671][13218:13218] CHIP:-: ==== Onboarding payload for Standard Commissioning Flow ====
          [1651180718.960729][13218:13218] CHIP:SVR: SetupQRCode: [MT:-24J0AFN00KA0648G00]
          [1651180718.960760][13218:13218] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code:
          [1651180718.960781][13218:13218] CHIP:SVR: https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J0AFN00KA0648G00
          [1651180718.960814][13218:13218] CHIP:SVR: Manual pairing code: [34970112332]
      disabled: true

    - label:
          "VERSION: Using the manual code from Step 1, generate a new manual
          code but substituting out the current VERSION with an invalid VERSION:
          2"
      verification: |
          1. Use chip-tool"s "payload verhoeff-generate" command to help generate the new, invalid Manual code
          Verify on the DUT (Chip-tool):

           ./chip-tool payload verhoeff-generate 8497011233

          [1651186243492] [13415:349553] CHIP: [SPL] Generating Character for: 84970112331
          [1651186243492] [13415:349553] CHIP: [SPL] Generated Char: 1
          Manual Code: 84970112331
      disabled: true

    - label:
          "Provide the Manual Pairing Code, generated in the previous step, to
          the DUT in any format supported by the DUT"
      verification: |
          ./chip-tool pairing code 1 84970112331

          Verify on the DUT (Chip-tool):

          Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument
      disabled: true

    - label:
          "VID_PID_PRESENT: Using the manual code from Step 1, generate a new
          manual code but substituting out the current VID_PID_PRESENT with an
          invalid VID_PID_PRESENT set to 1"
      verification: |
          1. Use chip-tool"s "payload generate-manualcode" command to help generate the new, invalid Manual code

          Verify on the DUT (Chip-tool):
           ./chip-tool payload generate-manualcode --discriminator 0xF00 --setup-pin-code 20202021 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 2 --force-short-code 1

          [1651181048462] [11611:269469] CHIP: [TOO] Manual Code: 74970112334
      disabled: true

    - label:
          "Provide the Manual Pairing Code, generated in the previous step, to
          the DUT in any format supported by the DUT"
      verification: |
          ./chip-tool pairing code 1 74970112334

          Verify on the DUT (Chip-tool):
          [1651184274318] [12512:321250] CHIP: [SPL] Failed decoding base10. Input length 10 was not expected length 20
          ...
          [1651184274321] [12512:321244] CHIP: [TOO] Run command failure: ../../examples/chip-tool/third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:63: CHIP Error 0x0000001E: Invalid string length
      disabled: true

    - label:
          "SHORT DISCRIMINATOR: Using the manual code from Step 1, generate a
          new manual code but substituting out the current SHORT DISCRIMINATOR
          string with a discriminator value that makes the generated manual code
          differ from Step 1s manual code (i.e. Choose a discriminator value
          that changes any of the 4 most-significant bits of Step 1s 12-bit
          discriminator value and adheres to rules of section 5.1.1.5.
          'Discriminator value')"
      verification: |
          1. Use chip-tool"s "payload generate-manualcode" command to help generate the new, invalid Manual code
          Verify on the DUT (Chip-tool):

           ./chip-tool payload generate-manualcode --existing-payload 34970112332 --discriminator 0xE00
          [1657236763262] [31784:16850989] CHIP: [TOO] Manual Code: 33331712336
      disabled: true

    - label:
          "Provide the Manual Pairing Code, generated in the previous step, to
          the DUT in any format supported by the DUT"
      verification: |
          Verify on the DUT (Chip-tool):
            ./chip-tool pairing code 1 33331712336

          [1654001605.517505][3200:3205] CHIP:-: ../../third_party/connectedhomeip/src/platform/Linux/BLEManagerImpl.cpp:748: CHIP Error 0x0000002D: Not Implemented at ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:450
          [1654001605.517563][3200:3205] CHIP:CTL: Stopping commissioning discovery over DNS-SD
          [1654001605.517619][3200:3205] CHIP:TOO: Secure Pairing Failed
      disabled: true

    - label:
          "Passcode: Using the manual code from Step 1, generate a new manual
          code using all the same Onboarding Payload components except for the
          Passcode. For each Passcode in the following list, set the Passcode
          component to one of the invalid Passcode and generate a new manual
          code using all the same Onboarding Payload components and one Passcode
          from the list: 00000000, 11111111, 22222222, 33333333, 44444444,
          55555555, 66666666, 77777777, 88888888, 99999999, 12345678, 87654321"
      verification: |
          1. Use these as examples of how to generate manual codes with invalid passcodes
          Verify on the DUT (Chip-tool):

          "34915200008" (00000000),
           ./chip-tool payload generate-manualcode --discriminator 3840  --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 00000000
          [1651182185732] [11790:282099] CHIP: [TOO] Manual Code: 34915200008

          "35191106788" (11111111),
           ./chip-tool payload generate-manualcode --discriminator 3840  --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 11111111
          [1651182284292] [11799:283222] CHIP: [TOO] Manual Code: 35191106788

          "35467013565" (22222222),
           ./chip-tool payload generate-manualcode --discriminator 3840  --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 22222222
          [1651182331458] [11817:283904] CHIP: [TOO] Manual Code: 35467013565

          "35742920344" (33333333),
           ./chip-tool payload generate-manualcode --discriminator 3840  --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 33333333
          [1651182345419] [11876:284294] CHIP: [TOO] Manual Code: 35742920344

          "36018827124" (44444444),
           ./chip-tool payload generate-manualcode --discriminator 3840  --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 44444444
          [1651182362963] [11944:284816] CHIP: [TOO] Manual Code: 36018827124

          "36294733900" (55555555),
           ./chip-tool payload generate-manualcode --discriminator 3840  --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 55555555
          [1651182375363] [11945:284938] CHIP: [TOO] Manual Code: 36294733900

          "34932240691" (66666666),
           ./chip-tool payload generate-manualcode --discriminator 3840  --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 66666666
          [1651182395140] [11958:285261] CHIP: [TOO] Manual Code: 34932240691

          "35208147474" (77777777),
           ./chip-tool payload generate-manualcode --discriminator 3840  --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 77777777
          [1651182411341] [11966:285478] CHIP: [TOO] Manual Code: 35208147474

          "35484054250" (88888888),
           ./chip-tool payload generate-manualcode --discriminator 3840  --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 88888888
          [1651182422264] [11967:285581] CHIP: [TOO] Manual Code: 35484054250

          "35759961037" (99999999),
           ./chip-tool payload generate-manualcode --discriminator 3840  --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 99999999
          [1651182431755] [11968:285672] CHIP: [TOO] Manual Code: 35759961037

          "35767807533" (12345678),
           ./chip-tool payload generate-manualcode --discriminator 3840  --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 12345678
          [1651182443511] [11969:285786] CHIP: [TOO] Manual Code: 35767807533

          "36545753496" (87654321),
           ./chip-tool payload generate-manualcode --discriminator 3840  --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 87654321
          [1651182459737] [11970:285960] CHIP: [TOO] Manual Code: 36545753496
      disabled: true

    - label:
          "Provide each of the Manual Pairing Codes, generated in the previous
          step, to the DUT in any format supported by the DUT"
      verification: |
          Verify on the DUT (Chip-tool):
          No applicable TH logs

          (00000000)
            ./chip-tool pairing code 1 34915200008
          Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument

          (11111111)
            ./chip-tool pairing code 1 35191106788
          Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument

          (22222222)
            ./chip-tool pairing code 1 35467013565
          Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument

          (33333333)
            ./chip-tool pairing code 1 35742920344
          Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument

          (44444444)
            ./chip-tool pairing code 1 36018827124
          Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument

          (55555555)
            ./chip-tool pairing code 1 36294733900
          Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument

          (66666666)
            ./chip-tool pairing code 1 34932240691
          Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument

          (77777777)
            ./chip-tool pairing code 1 35208147474
          Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument

          (88888888)
            ./chip-tool pairing code 1 35484054250
          Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument

          (99999999)
            ./chip-tool pairing code 1 35759961037
          Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument

          (12345678)
            ./chip-tool pairing code 1 35767807533
          Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument

          (87654321)
            ./chip-tool pairing code 1 36545753496
          Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument
      disabled: true

    - label:
          "CHECK_DIGIT: Using the manual code from Step 1, generate a new manual
          code but substituting out the current CHECK_DIGIT with an invalid
          CHECK_DIGIT (i.e. Any different CHECK_DIGIT than the commissionees
          CHECK_DIGIT while following Table 38. Encoding Method without Vendor
          and Product IDs (VID_PID_Present == 0))"
      verification: |
          1. Manually change the last digit of the manual pairing code to a different digit
          No applicable DUT or TH logs

          Manual Code: 34970112331
      disabled: true

    - label:
          "Provide the Manual Pairing Code, generated in the previous step, to
          the DUT in any format supported by the DUT"
      verification: |
          Verify on the DUT (Chip-tool):
           ./chip-tool pairing code 1 34970112331
          [1657586218401] [10710:465838] CHIP: [TOO] Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:50: CHIP Error 0x00000013: Integrity check failed
      disabled: true
