# 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.17. [TC-DD-3.17] Commissioning Flow - 21-digit Manual Pairing Code -
    Negative Scenario [DUT    - Commissioner]

PICS:
    - MCORE.ROLE.COMMISSIONER
    - MCORE.DD.21_MANUAL_PC

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: |
          Preconditions
          1 - DUT is on an operational network and has accurate date, time, timezone, regulatory, and fabric information available.

          2 - 5.1.4.2 - 21-digit Manual Pairing Code is printed on the Commissionee device or in additional provided materials (ex: manual).

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

          - 1-bit VID_PID_PRESENT = 1 (21-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 21-digit Manual Pairing Code from the Commissionee to the
          DUT in any format supported by DUT"
      verification: |
          Verify in TH Commissionee side:
          $ ./out/all-clusters-app/chip-all-clusters-app

          [1657203632.334400][13827:13827] CHIP:DL: Device Configuration:
          [1657203632.334663][13827:13827] CHIP:DL:   Serial Number: (not set)
          [1657203632.334724][13827:13827] CHIP:DL:   Vendor Id: 65521 (0xFFF1)
          [1657203632.334801][13827:13827] CHIP:DL:   Product Id: 32769 (0x8001)
          [1657203632.334879][13827:13827] CHIP:DL:   Hardware Version: 0
          [1657203632.334934][13827:13827] CHIP:DL:   Setup Pin Code (0 for UNKNOWN/ERROR): 20202021
          [1657203632.334983][13827:13827] CHIP:DL:   Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3840 (0xF00)
          [1657203632.335054][13827:13827] CHIP:DL:   Manufacturing Date: (not set)
          [1657203632.335109][13827:13827] CHIP:DL:   Device Type: 65535 (0xFFFF)
          [1657203632.335158][13827:13827] CHIP:-: ==== Onboarding payload for Standard Commissioning Flow ====
          [1657203632.335234][13827:13827] CHIP:SVR: SetupQRCode: [MT:-24J042C00KA0648G00]
          [1657203632.335298][13827:13827] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code:
          [1657203632.335348][13827:13827] CHIP:SVR: https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J042C00KA0648G00
          [1657203632.335420][13827:13827] CHIP:SVR: Manual pairing code: [34970112332]
          [1657203632.335470][13827:13827] CHIP:-: ==== Onboarding payload for Custom Commissioning Flows ====
          [1657203632.335532][13827:13827] CHIP:SVR: SetupQRCode: [MT:-24J0YXE00KA0648G00]
          [1657203632.335589][13827:13827] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code:
          [1657203632.335637][13827:13827] CHIP:SVR: https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J0YXE00KA0648G00
          [1657203632.335712][13827:13827] CHIP:SVR: Manual pairing code: [749701123365521327694]
      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
          No applicable TH or DUT logs.

          $ ./chip-tool payload verhoeff-generate  84970112336552132769

          [1657238290868] [31968:16868160] CHIP: [SPL] Generating Character for: 84970112336552132769
          [1657238290868] [31968:16868160] CHIP: [SPL] Generated Char: 3

          Manual code: 849701123365521327693
      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 849701123365521327693

          Verify in DUT Commissioner side:
          [1657238348848] [31971:16868925] CHIP: [TOO] Run command failure: ../../examples/chip-tool/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 0"
      verification: |
          1. Use chip-tool"s "payload verhoeff-generate" command to help generate the new, invalid Manual code
          No applicable TH or DUT logs.

          $ ./chip-tool payload verhoeff-generate 34970112336552132769

          [1651186492744] [13434:353094] CHIP: [SPL] Generating Character for: 34970112336552132769
          [1651186492744] [13434:353094] CHIP: [SPL] Generated Char: 6

          Manual code: 349701123365521327696
      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 349701123365521327696

          Verify in DUT Commissioner side:
          [1657238541643] [31975:16871084] CHIP: [SPL] Failed decoding base10. Input length 20 was not expected length 10
          ...
          [1657238541644] [31975:16871079] 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
          No applicable TH or DUT logs.

          $ ./chip-tool payload generate-manualcode --existing-payload 749701123365521327694 --allow-invalid-payload 1 --discriminator 3584
          [1657238783501] [31989:16873588] CHIP: [TOO] Manual Code: 733317123365521327692
      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 733317123365521327692

          Verify in DUT Commissioner side:
          [1655814152.716988][3723:3726] CHIP:CTL: Commissioning discovery over BLE failed: ../../third_party/connectedhomeip/src/platform/Linux/BLEManagerImpl.cpp:829: CHIP Error 0x00000032: Timeout
          [1655814152.717099][3723:3726] CHIP:-: ../../third_party/connectedhomeip/src/platform/Linux/BLEManagerImpl.cpp:829: CHIP Error 0x00000032: Timeout at ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:270
          [1655814172.703455][3723:3728] CHIP:CTL: Discovery timed out
          [1655814172.703550][3723:3728] CHIP:CTL: Stopping commissioning discovery over DNS-SD
          [1655814172.703607][3723:3728] 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 this as an example of how to generate a manual code with an invalid passcode. In this example the invalid passcode=00000000
          No applicable TH or DUT logs.

          Use chip-tool"s "payload generate-manualcode" command to help generate the new, invalid Manual code

          $ ./chip-tool payload generate-manualcode --existing-payload 749701123365521327694 --allow-invalid-payload 1 --setup-pin-code 00000000
          [1657239062245] [32164:16876812] CHIP: [TOO] Manual Code: 749152000065521327698
      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 in DUT Commissioner side:
          No applicable TH logs.

           (00000000)
           $  ./chip-tool pairing code 1 749152000065521327698
          [1651187937232] [13896:372977] CHIP: [TOO] Run command failure: ../../examples/chip-tool/third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:161: CHIP Error 0x0000002F: Invalid argument

           (11111111)
           $  ./chip-tool pairing code 1 751911067865521327698
          [1655814240.531424][3747:3747] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument


           (22222222)
           $  ./chip-tool pairing code 1 754670135665521327694
          [1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument


           (33333333)
           $  ./chip-tool pairing code 1 757429203465521327699
          [1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument


           (44444444)
           $  ./chip-tool pairing code 1 760188271265521327697
          [1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument


           (55555555)
           $  ./chip-tool pairing code 1 762947339065521327695
          [1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument


           (66666666)
           $  ./chip-tool pairing code 1 749322406965521327695
          [1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument


           (77777777)
           $  ./chip-tool pairing code 1 752081474765521327697
          [1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument


           (88888888)
           $  ./chip-tool pairing code 1 754840542565521327693
          [1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument


           (99999999)
           $  ./chip-tool pairing code 1 757599610365521327695
          [1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument


           (12345678)
           $  ./chip-tool pairing code 1 757678075365521327695
          [1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument


           (87654321)
           $  ./chip-tool pairing code 1 765457534965521327696
          [1655814323.718122][3761:3761] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument
      disabled: true

    - label:
          "VENDOR_ID: Using the manual code from Step 1, generate a new manual
          code using all the same Onboarding Payload components except for the
          VENDOR_ID. For each VENDOR_ID in the following list, set the VENDOR_ID
          component to one of the invalid Test VENDOR_IDs and generate a new
          manual code using all the same Onboarding Payload components and one
          Test VENDOR_ID from the list: 0xFFF1, 0xFFF2, 0xFFF3, 0xFFF4"
      verification: |
          1. Use this as an example of how to generate a manual code with an invalid vendor IDs
          No applicable TH or DUT logs.

          $ ./chip-tool payload generate-manualcode --discriminator 3840 --setup-pin-code 20202021 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 1
          [1651189120686] [14218:398626] CHIP: [TOO] Manual Code: 749701123365521327694
      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: |
          1. Run each of the following DUT commands below containing invalid Vendor IDs.
          2. Verify that the TH commissionee=all-cluserters-app does not get commissioned -OR- the DUT Commissioner make the user fully aware of the security risks of providing an uncertified device with operational and networking credentials

           (0xFFF1)
           $  ./chip-tool pairing code 1 749701123365521327694

           (0xFFF2)
           $  ./chip-tool pairing code 1 749701123365522327692

           (0xFFF3)
           $  ./chip-tool pairing code 1 749701123365523327697

           (0xFFF4)
           $  ./chip-tool pairing code 1 749701123365524327693
      disabled: true

    - label:
          "PRODUCT_ID: Using the manual code from Step 1, generate a new manual
          code but substituting out the current PRODUCT_ID with an invalid
          PRODUCT_ID of 0x0000(i.e. While following section 2.5.3. Product
          Identifier)"
      verification: |
          1. Use chip-tool"s "payload generate-manualcode" command to help generate the new, invalid Manual code
          No applicable TH or DUT logs.

          $ ./chip-tool payload generate-manualcode --existing-payload 749701123365521327694 --allow-invalid-payload 1 --product-id 0x0000
          [1657239418656] [32180:16880488] CHIP: [TOO] Manual Code: 749701123365521000006
      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 in DUT Commissioner side:
          $  ./chip-tool pairing code 1 749701123365521000006

          [1657239565895] [32193:16881922] CHIP: [TOO] Run command failure: ../../examples/chip-tool/third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: 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 39. Encoding Method with Vendor and
          Product IDs included (VID_PID_Present == 1))"
      verification: |
          1. Use chip-tool"s "payload verhoeff-verify" command to help verify that the check-digit is invalid
          No applicable TH or DUT logs.

          $ ./chip-tool payload verhoeff-verify 749701123365521327693 20

          [1651187504088] [13629:367627] CHIP: [SPL] Verifying Manual Code: 74970112336552132769
          [1651187504088] [13629:367627] CHIP: [SPL] 749701123365521327693 is INVALID at position 20
      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 749701123365521327693

          Verify in DUT Commissioner side:
          [1651187528666] [13631:367920] CHIP: [TOO] Run command failure: ../../examples/chip-tool/third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:50: CHIP Error 0x00000013: Integrity check failed
      disabled: true
