# 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:
    30.1.11. [TC-CADMIN-1.11] Open commissioning window on DUT twice using ECM
    then BCM [DUT - Commissionee]

PICS:
    - CADMIN.S
    - CADMIN.S.F00

config:
    nodeId: 0x12344321
    timeout: 400
    nodeId2:
        type: node_id
        defaultValue: 0xCAFE
    nodeId3:
        type: node_id
        defaultValue: 0xC00FEE
    endpoint: 0
    discriminator:
        type: int16u
        defaultValue: 3840
    payload:
        type: char_string
        defaultValue: "MT:-24J0AFN00KA0648G00"
    PakeVerifier:
        type: octet_string
        defaultValue: "hex:b96170aae803346884724fe9a3b287c30330c2a660375d17bb205a8cf1aecb350457f8ab79ee253ab6a8e46bb09e543ae422736de501e3db37d441fe344920d09548e4c18240630c4ff4913c53513839b7c07fcc0627a1b8573a149fcd1fa466cf"

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"
      PICS: CADMIN.S
      cluster: "DelayCommands"
      command: "WaitForCommissionee"
      arguments:
          values:
              - name: "nodeId"
                value: nodeId

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

    #Check for DNS-SD advertisement CM is not possible in YAML
    - label: "Verify that the DNS-SD advertisement shows CM=2"
      verification: |
          On TH_CR1 send the below command

          grl@grl-ThinkPad-L480:~/2nd_cntrl/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matterc._udp
          + wlp5s0 IPv6 C326228BDB082BF4                              _matterc._udp        local
          + wlp5s0 IPv6 7B6545A75C5330BE                              _matterc._udp        local
          = wlp5s0 IPv6 7B6545A75C5330BE                              _matterc._udp        local
            hostname = [E45F010F27530000.local]
            address = [fe80::e65f:1ff:fe0f:2755]
            port = [5540]
            txt = ["PI=" "PH=33" "CM=1" "D=3841" "T=1" "CRA=300" "CRI=5000" "VP=65521+32769"]
          = wlp5s0 IPv6 C326228BDB082BF4                              _matterc._udp        local
            hostname = [E45F010F27530000.local]
            address = [fe80::e65f:1ff:fe0f:2755]
            port = [5540]
            txt = ["PI=" "PH=36" "CM=2" "D=3840" "T=1" "CRA=300" "CRI=5000" "VP=65521+32769"]
          grl@grl-ThinkPad-L480:~/2nd_cntrl/connectedhomeip/examples/chip-tool/out/debug$ On TH_CR1 send the below command
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value: "enter 'y' after success"
              - name: "expectedValue"
                value: "y"

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

    - label: "DUT_CE is commissioned to TH_CR3 on Fabric ID3 with Node ID3"
      identity: "gamma"
      cluster: "DelayCommands"
      command: "WaitForCommissionee"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId3

    - label: "TH_CR1 opens a commissioning window on DUT_CE using ECM"
      PICS: CADMIN.S.C00.Rsp
      cluster: "AdministratorCommissioning"
      command: "OpenCommissioningWindow"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "CommissioningTimeout"
                value: 180
              - 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"
      identity: "beta"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: payload

    - label: "DUT_CE is commissioned to TH_CR2"
      PICS: CADMIN.S
      identity: "beta"
      cluster: "DelayCommands"
      command: "WaitForCommissionee"
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2

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

    - label:
          "Before the expiration of PIXIT.CADMIN.CwDuration seconds which was
          set in step 5, TH_CR1 opens a 2nd commissioning window on DUT_CE using
          a commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM"
      PICS: CADMIN.S.C00.Rsp
      cluster: "AdministratorCommissioning"
      command: "OpenCommissioningWindow"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "CommissioningTimeout"
                value: 180
              - name: "PAKEVerifier"
                value: PakeVerifier
              - name: "discriminator"
                value: discriminator
              - name: "iterations"
                value: 1000
              - name: "salt"
                value: "SPAKE2P Key Salt"
      response:
          error: FAILURE
          clusterError: 2

    - label: "TH_CR1 reads the list of Fabrics on DUT_CE"
      cluster: "Operational Credentials"
      PICS: OPCREDS.S.A0001
      command: "readAttribute"
      attribute: "Fabrics"
      fabricFiltered: false
      response:
          value:
              [
                  { Label: "", nodeId: nodeId },
                  { Label: "", nodeId: nodeId3 },
                  { Label: "", nodeID: nodeId2 },
              ]
          constraints:
              type: list

    - label:
          "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that was
          set in step 6"
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 180000

    - label:
          "TH_CR1 re-opens a commissioning window on DUT_CE using a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using BCM"
      PICS: CADMIN.S.C01.Rsp
      cluster: "AdministratorCommissioning"
      command: "OpenBasicCommissioningWindow"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "CommissioningTimeout"
                value: 180
              - name: "discriminator"
                value: discriminator

    #Check for DNS-SD advertisement CM is not possible in YAML
    - label: "Verify that the DNS-SD advertisement shows CM=1"
      verification: |
          On TH_CR1 send the below command
          ubuntu@ubuntu:~/may16_cntrl/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matterc._udp
          +   eth0 IPv6 2664ED6939FC373C                              _matterc._udp        local
          =   eth0 IPv6 2664ED6939FC373C                              _matterc._udp        local
            hostname = [E45F010F27530000.local]
            address = [fe80::e65f:1ff:fe0f:2753]
            port = [5540]
            txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]
          ubuntu@ubuntu:~/may16_cntrl/connectedhomeip/examples/chip-tool/out/debug$
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value: "enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Before the expiration of PIXIT.CADMIN.CwDuration seconds that was set
          in step 10, TH_CR3 opens a 2nd commissioning window on DUT_CE using a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using BCM"
      PICS: CADMIN.S.C01.Rsp
      identity: "gamma"
      cluster: "AdministratorCommissioning"
      command: "OpenBasicCommissioningWindow"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "CommissioningTimeout"
                value: 180
              - name: "discriminator"
                value: discriminator
      response:
          error: FAILURE
          clusterError: 2

    - label:
          "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that was
          set in step 11"
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 180000

    - label: "TH_CR1 reads the list of Fabrics on DUT_CE"
      cluster: "Operational Credentials"
      PICS: OPCREDS.S.A0001
      command: "readAttribute"
      attribute: "Fabrics"
      fabricFiltered: false
      response:
          value:
              [
                  { Label: "", nodeId: nodeId },
                  { Label: "", nodeId: nodeId3 },
                  { Label: "", nodeID: nodeId2 },
              ]
          constraints:
              type: list

    - label: "TH_CR1 opens a commissioning window on DUT_CE using BCM"
      PICS: CADMIN.S.C01.Rsp
      cluster: "AdministratorCommissioning"
      command: "OpenBasicCommissioningWindow"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "CommissioningTimeout"
                value: 180
              - name: "discriminator"
                value: discriminator

    - label:
          "Before the expiration of PIXIT.CADMIN.CwDuration seconds that was set
          in step 14, TH_CR2 opens a second commissioning window on DUT_CE using
          a commissioning timeout of PIXIT.CADMIN.CwDuration seconds using BCM"
      PICS: CADMIN.S.C01.Rsp
      identity: "beta"
      cluster: "AdministratorCommissioning"
      command: "OpenBasicCommissioningWindow"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "CommissioningTimeout"
                value: 180
              - name: "discriminator"
                value: discriminator
      response:
          error: FAILURE
          clusterError: 2
