# 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.

name:
    24.1.9. [TC-CADMIN-1.9] Device exit commissioning mode after 20 failed
    commission attempts [ECM] [DUT - Commissionee]

PICS:
    - CADMIN.S

config:
    nodeId: 0x12344321
    timeout: 700
    nodeIdForDuplicateCommissioning:
        type: node_id
        defaultValue: 0x11
    nodeId2:
        type: node_id
        defaultValue: 0xCAFE
    nodeId3:
        type: node_id
        defaultValue: 0xC00FEE
    endpoint: 0
    discriminator:
        type: int16u
        defaultValue: 3840
    correctPayload:
        type: char_string
        defaultValue: "MT:-24J0AFN00I31506010"
    incorrectSetupCodePayload:
        type: char_string
        defaultValue: "MT:-24J0AFN00I.0648G00"
    PakeVerifier:
        type: octet_string
        defaultValue: "\x06\xc7\x56\xdf\xfc\xd7\x22\x65\x34\x52\xa1\x2d\xcd\x94\x5d\x8c\x54\xda\x2b\x0f\x3c\xbd\x1b\x4d\xc3\xf1\xad\xb2\x23\xae\xb2\x6b\x04\x7c\xd2\x4c\x96\x86\x6f\x97\x9b\x1d\x83\xec\x50\xe2\xb4\xae\x30\xcd\xf2\xfd\xb3\x2b\xd8\xa2\x11\xb8\x37\xdc\x94\xed\xcd\x56\xf4\xd1\x43\x77\x19\x10\x76\xbf\xc5\x9d\x99\xb7\xdd\x30\x53\xef\xd6\xf0\x2c\x44\x34\xf2\xbd\xd2\x7a\xa4\xf9\xce\xa7\x0d\x73\x8e\x4c"

tests:
    - label: "Precondition: Reset Devices to factory defaults"
      PICS: PICS_SDK_CI_ONLY
      cluster: "SystemCommands"
      command: "FactoryReset"

    - label: "Precondition: Reset Devices to factory defaults"
      verification: |
          Not implemented in YAML
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value: "Factory Reset the DUT and enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label: "TH_CR1 starts a commissioning process with DUT_CE"
      cluster: "DelayCommands"
      command: "WaitForCommissionee"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId

    - label:
          "Open commissioning window exactly like we plan to later to verify
          that `correctPayload` can in fact commision the device."
      cluster: "AdministratorCommissioning"
      command: "OpenCommissioningWindow"
      timedInteractionTimeoutMs: 10000
      PICS: CADMIN.S.C00.Rsp
      arguments:
          values:
              - name: "CommissioningTimeout"
                value: 900
              - name: "PAKEVerifier"
                value: PakeVerifier
              - name: "discriminator"
                value: discriminator
              - name: "iterations"
                value: 1000
              - name: "salt"
                value: "SPAKE2P Key Salt"

    - label:
          "Temporarily commission device with `correctPayload` just like we will
          try to later"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      # Only run this if we ran the previous step.
      PICS: CADMIN.S && CADMIN.S.C00.Rsp
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: correctPayload

    - label: "Wait for a CASE session"
      identity: "beta"
      cluster: "DelayCommands"
      command: "WaitForCommissionee"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2

    - label: "Read FabricIndex of beta so we can delete the temp fabric"
      identity: "beta"
      cluster: "Operational Credentials"
      command: "readAttribute"
      attribute: "CurrentFabricIndex"
      # Only run this if we commissioned the device.
      PICS: CADMIN.S.C00.Rsp
      response:
          saveAs: tempFabricIndex

    - label: "Remove the temp fabric"
      cluster: "Operational Credentials"
      command: "RemoveFabric"
      # Only run this if we commissioned the device.
      PICS: CADMIN.S.C00.Rsp
      arguments:
          values:
              - name: "FabricIndex"
                value: tempFabricIndex

    - label: "TH_CR1 opens a new commissioning window on DUT_CE"
      cluster: "AdministratorCommissioning"
      command: "OpenCommissioningWindow"
      timedInteractionTimeoutMs: 10000
      PICS: CADMIN.S.C00.Rsp
      arguments:
          values:
              - name: "CommissioningTimeout"
                value: 900
              - name: "PAKEVerifier"
                value: PakeVerifier
              - name: "discriminator"
                value: discriminator
              - name: "iterations"
                value: 1000
              - name: "salt"
                value: "SPAKE2P Key Salt"

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: incorrectSetupCodePayload
      response:
          error: FAILURE

    # This step must match the verification step above where we checked `payload`
    - label:
          "TH_CR2 starts a commissioning process with DUT_CE using valid setup
          code"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: correctPayload
      response:
          error: FAILURE

    - label: "TH_CR3 starts a commissioning process with DUT_CE"
      identity: "gamma"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId3
              - name: "payload"
                value: correctPayload
      response:
          error: FAILURE
