# 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.4. [TC-CADMIN-1.4] Node Behavior using BCM [DUT - Commissionee]

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

config:
    nodeId: 0x12344321
    timeout: 300
    nodeId2:
        type: node_id
        defaultValue: 0xCAFE
    endpoint: 0
    discriminator:
        type: int16u
        defaultValue: 3840
    payload:
        type: char_string
        defaultValue: "MT:-24J0AFN00KA0648G00"
    waitAfterCommissioning:
        type: int16u
        defaultValue: 5000

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: |
          Reset Devices to factory defaults
      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:
          "TH1 reads CurrentFabricIndex attribute and save it for future use."
      command: "readAttribute"
      cluster: "Operational Credentials"
      attribute: "CurrentFabricIndex"
      response:
          saveAs: TH1FabricIndex

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

    - label: "Waiting after opening commissioning window"
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: waitAfterCommissioning

    #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

          avahi-browse -rt _matterc._udp
          +   eth0 IPv6 B2822245F1F43570                              _matterc._udp        local
          =   eth0 IPv6 B2822245F1F43570                              _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"]
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value: "enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory
          attribute of DUT_CE"
      command: "writeAttribute"
      cluster: "Basic Information"
      attribute: "NodeLabel"
      PICS: BINFO.S.A0005
      arguments:
          value: "chiptest"

    - label:
          "TH_CR1 reads the Basic Information Clusters NodeLabel mandatory
          attribute of DUT_CE"
      command: "readAttribute"
      cluster: "Basic Information"
      attribute: "NodeLabel"
      PICS: BINFO.S.A0005
      response:
          constraints:
              type: char_string
              maxLength: 32

    - 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 by TH_CR2 on Fabric ID2 "
      identity: "beta"
      cluster: "DelayCommands"
      command: "WaitForCommissionee"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2

    - label:
          "TH2 reads CurrentFabricIndex attribute and save it for future use."
      identity: "beta"
      command: "readAttribute"
      cluster: "Operational Credentials"
      attribute: "CurrentFabricIndex"
      response:
          saveAs: TH2FabricIndex

    #Check for DNS-SD advertisement is not possible in YAML
    - label:
          "Verify DUT_CE is now discoverable over DNS-SD with two SRV Records"
      verification: |
          On TH_CR2 send the below command

          Verify if the DUT_CE is broadcasting using

          avahi-browse -rt _matter._tcp
          +   eth0 IPv6 C8A60CCA27F33379-0000000000000002             _matter._tcp         local
          +   eth0 IPv6 3C26C93CF201458F-0000000000000001             _matter._tcp         local
          =   eth0 IPv6 C8A60CCA27F33379-0000000000000002             _matter._tcp         local
            hostname = [E45F010F27530000.local]
            address = [fe80::e65f:1ff:fe0f:2753]
            port = [5540]
            txt = ["T=1" "SAI=300" "SII=5000"]
          =   eth0 IPv6 3C26C93CF201458F-0000000000000001             _matter._tcp         local
            hostname = [E45F010F27530000.local]
            address = [fe80::e65f:1ff:fe0f:2753]
            port = [5540]
            txt = ["T=1" "SAI=300" "SII=5000"]
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value: "enter 'y' after success"
              - name: "expectedValue"
                value: "y"

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

    - label: "TH_CR2 reads the list of Fabrics on DUT_CE"
      identity: "beta"
      command: "readAttribute"
      cluster: "Operational Credentials"
      attribute: "Fabrics"
      PICS: OPCREDS.S.A0001
      fabricFiltered: false
      response:
          value:
              [
                  { Label: "", FabricIndex: TH1FabricIndex, NodeID: nodeId },
                  { Label: "", FabricIndex: TH2FabricIndex, NodeID: nodeId2 },
              ]
          constraints:
              type: list

    - label:
          "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory
          attribute of DUT_CE"
      command: "writeAttribute"
      cluster: "Basic Information"
      attribute: "NodeLabel"
      PICS: BINFO.S.A0005
      arguments:
          value: "chiptest"

    - label:
          "TH_CR1 reads the Basic Information Clusters NodeLabel mandatory
          attribute of DUT_CE"
      command: "readAttribute"
      cluster: "Basic Information"
      attribute: "NodeLabel"
      PICS: BINFO.S.A0005
      response:
          value: "chiptest"
          constraints:
              type: char_string
              maxLength: 32

    - label:
          "TH_CR2 writes the Basic Information Clusters NodeLabel mandatory
          attribute of DUT_CE"
      identity: "beta"
      command: "writeAttribute"
      cluster: "Basic Information"
      attribute: "NodeLabel"
      PICS: BINFO.S.A0005
      arguments:
          value: "chiptest"

    - label:
          "TH_CR2 reads the Basic Information Clusters NodeLabel mandatory
          attribute of DUT_CE"
      identity: "beta"
      command: "readAttribute"
      cluster: "Basic Information"
      attribute: "NodeLabel"
      PICS: BINFO.S.A0005
      response:
          value: "chiptest"
          constraints:
              type: char_string
              maxLength: 32

    - label: "TH_CR2 opens a commissioning window on DUT_CE using BCM"
      cluster: "Administrator Commissioning"
      command: "OpenBasicCommissioningWindow"
      identity: "beta"
      PICS: CADMIN.S.C01.Rsp
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "CommissioningTimeout"
                value: 180

    - label: "Wait for the commissioning window in step 13 to timeout"
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 180000

    - label:
          "TH_CR2 reads the window status to verify the DUT_CE window is closed"
      cluster: "Administrator Commissioning"
      PICS: CADMIN.S.A0000
      command: "readAttribute"
      attribute: "WindowStatus"
      response:
          value: 0

    - label: "TH_CR2 opens a commissioning window on DUT_CE using BCM"
      cluster: "Administrator Commissioning"
      command: "OpenBasicCommissioningWindow"
      identity: "beta"
      PICS: CADMIN.S.C01.Rsp
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "CommissioningTimeout"
                value: 180

    - label: "Waiting after opening commissioning window"
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: waitAfterCommissioning

    - label:
          "TH_CR1 starts a commissioning process with DUT_CE before the timeout
          from step 12"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId
              - name: "payload"
                value: payload
      response:
          error: FAILURE
          clusterError: 9

    - label: "TH_CR2 revokes the commissioning window"
      identity: "beta"
      cluster: "Administrator Commissioning"
      command: "RevokeCommissioning"
      PICS: CADMIN.S.C02.Rsp && CADMIN.S.C01.Rsp
      timedInteractionTimeoutMs: 10000

    - label: "Remove TH2 FabricIndex"
      PICS: OPCREDS.S.C0a.Rsp && CADMIN.S
      identity: "beta"
      cluster: "Operational Credentials"
      command: "RemoveFabric"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "FabricIndex"
                value: TH2FabricIndex
