# Copyright (c) 2023 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.3. [TC-CADMIN-1.3] Node Behavior using ECM [DUT - Commissionee]

PICS:
    - CADMIN.S

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" # This value needs to be generated automatically
    PakeVerifier:
        type: octet_string
        defaultValue: "hex:b96170aae803346884724fe9a3b287c30330c2a660375d17bb205a8cf1aecb350457f8ab79ee253ab6a8e46bb09e543ae422736de501e3db37d441fe344920d09548e4c18240630c4ff4913c53513839b7c07fcc0627a1b8573a149fcd1fa466cf"
    waitAfterCommissioning:
        type: int16u
        defaultValue: 5000
    PIXIT.CADMIN.CwDuration:
        type: int16u
        defaultValue: 180

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: "Step 1a: TH_CR1 starts a commissioning process with DUT_CE"
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId
              - name: "payload"
                value: payload

    - label: "Step 1b: TH_CR1 commissioned with DUT_CE"
      cluster: "DelayCommands"
      command: "WaitForCommissionee"
      PICS: CADMIN.S
      arguments:
          values:
              - name: "nodeId"
                value: nodeId

    - label:
          "Step 1c: TH1 reads CurrentFabricIndex attribute and save it for
          future use."
      command: "readAttribute"
      cluster: "Operational Credentials"
      attribute: "CurrentFabricIndex"
      response:
          saveAs: TH1FabricIndex

    - label:
          "Step 2a: TH_CR1 opens a commissioning window on DUT_CE using a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM"
      cluster: "Administrator Commissioning"
      command: "OpenCommissioningWindow"
      PICS: CADMIN.S.C00.Rsp && PICS_SDK_CI_ONLY
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "CommissioningTimeout"
                value: PIXIT.CADMIN.CwDuration
              - name: "PAKEPasscodeVerifier"
                value: PakeVerifier
              - name: "Discriminator"
                value: discriminator
              - name: "Iterations"
                value: 1000
              - name: "Salt"
                value: "SPAKE2P Key Salt"

    - label: "Waiting after opening commissioning window"
      PICS: CADMIN.S.C00.Rsp && PICS_SDK_CI_ONLY
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: waitAfterCommissioning

    #Issue https://github.com/project-chip/connectedhomeip/issues/26127
    - label:
          "Step 2a: TH_CR1 opens a commissioning window on DUT_CE using a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM"
      verification: |
          On TH_CR1 send the below command

          ./chip-tool  pairing open-commissioning-window 1 1 PIXIT.CADMIN.CwDuration 2000 3840

          Verify the Open commisioning window on the DUT_CE(all-cluster-app) Log:

          [1660904553.796857][3537:3537] CHIP:DMG: Received command for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0000
          [1660904553.796951][3537:3537] CHIP:ZCL: Received command to open commissioning window
          [1660904553.797255][3537:3537] CHIP:IN: SecureSession[0xaaab142ef7f0]: Allocated Type:1 LSID:34523

          Verify the Manual pairing code on the TH_CR1(chip-tool) Log:

          [1635864513.699433][3850:3855] CHIP:DMG: ICR moving to [CommandSen]
          [1635864513.699489][3850:3855] CHIP:CTL: Manual pairing code: [36177160937]
          [1635864513.699566][3850:3855] CHIP:CTL: SetupQRCode: [MT:00000CQM00YZN476420]
          [1635864513.699636][3850:3855] CHIP:EM: Sending Standalone Ack for MessageCounter:2599714227 on exchange 60688i
          [1635864513.699685][3850:3855] CHIP:IN: Prepared plaintext message 0xffff8a7cd960 to 0x0000000000000000 of type 0x10
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP && CADMIN.S.C00.Rsp
      arguments:
          values:
              - name: "message"
                value: "Enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Step 2b: DNS-SD records shows DUT_CE advertising.Verify that the
          DNS-SD advertisement shows CM=2"
      PICS: CADMIN.S.C00.Rsp
      cluster: "DiscoveryCommands"
      command: "FindCommissionable"
      response:
          values:
              - name: "commissioningMode"
                value: 2

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

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

    - label: "Step 3a: TH_CR2 starts a commissioning process with DUT_CE"
      identity: "beta"
      PICS: CADMIN.S && PICS_SDK_CI_ONLY
      cluster: "CommissionerCommands"
      command: "PairWithCode"
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2
              - name: "payload"
                value: payload

    - label: "Step 3b: DUT_CE is commissioned by TH_CR2 on Fabric ID2"
      PICS: CADMIN.S && PICS_SDK_CI_ONLY
      identity: "beta"
      cluster: "DelayCommands"
      command: "WaitForCommissionee"
      arguments:
          values:
              - name: "nodeId"
                value: nodeId2

    #Issue https://github.com/project-chip/connectedhomeip/issues/26127
    - label: "Step 3: TH_CR2 starts a commissioning process with DUT_CE"
      verification: |
          On TH_CR2 send the below command
          Below is the example when using chip tool as controller (considering 36177160937 as the manual code generated by 1st controller)

          ./chip-tool pairing code 0xCAFE 36177160937 --commissioner-name beta

          Verify the below message in the TH_CR2(chip-tool) Log:

          Device commissioning completed with successoning step 'Cleanup'
          [1657186359.584743][3509:3514] CHIP:TOO: Device commissioning completed with success
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP && CADMIN.S.C00.Rsp
      arguments:
          values:
              - name: "message"
                value: "Enter 'y' after success"
              - name: "expectedValue"
                value: "y"

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

    - label:
          "Step 4: 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

          On TH_CR2(chip-tool) Verify DUT_CE is now discoverable over DNS-SD with two SRV Records

          +   eth0 IPv6 9B9C01C971F4119F-0000000000000001             _matter._tcp         local
          +   eth0 IPv6 C8A60CCA27F33379-0000000000000002             _matter._tcp         local
          =   eth0 IPv6 9B9C01C971F4119F-0000000000000001             _matter._tcp         local
            hostname = [E45F010F27530000.local]
            address = [fe80::e65f:1ff:fe0f:2753]
            port = [5540]
            txt = ["T=1" "SAI=300" "SII=5000"]
          =   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"]
          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: "Step 5: TH_CR1 reads the list of Fabrics on DUT_CE"
      command: "readAttribute"
      cluster: "Operational Credentials"
      attribute: "Fabrics"
      PICS: OPCREDS.S.A0001
      fabricFiltered: false
      response:
          constraints:
              type: list
              contains:
                  [
                      {
                          Label: "",
                          FabricIndex: TH1FabricIndex,
                          NodeID: nodeId,
                      },
                      {
                          Label: "",
                          FabricIndex: TH2FabricIndex,
                          NodeID: nodeId2,
                      },
                  ]

    - label: "Step 6: 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:
          constraints:
              type: list
              contains:
                  [
                      {
                          Label: "",
                          FabricIndex: TH1FabricIndex,
                          NodeID: nodeId,
                      },
                      {
                          Label: "",
                          FabricIndex: TH2FabricIndex,
                          NodeID: nodeId2,
                      },
                  ]

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

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

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

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

    - label: "Step 9: TH_CR2 opens a commissioning window on DUT_CE using ECM"
      cluster: "Administrator Commissioning"
      command: "OpenCommissioningWindow"
      PICS: CADMIN.S.C00.Rsp && PICS_SDK_CI_ONLY
      identity: "beta"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "CommissioningTimeout"
                value: PIXIT.CADMIN.CwDuration
              - name: "PAKEPasscodeVerifier"
                value: PakeVerifier
              - name: "Discriminator"
                value: discriminator
              - name: "Iterations"
                value: 1000
              - name: "Salt"
                value: "SPAKE2P Key Salt"

    #Issue https://github.com/project-chip/connectedhomeip/issues/26127
    - label: "Step 9: TH_CR2 opens a commissioning window on DUT_CE using ECM"
      verification: |
          On TH_CR2 send the below command

          ./chip-tool pairing open-commissioning-window nodeId2 endpoint PIXIT.CADMIN.CwDuration 1000 3840 --commissioner-name beta

          Verify the Open commisioning window on the DUT_CE(all-cluster-app) Log:

          [1660904553.796857][3537:3537] CHIP:DMG: Received command for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0000
          [1660904553.796951][3537:3537] CHIP:ZCL: Received command to open commissioning window
          [1660904553.797255][3537:3537] CHIP:IN: SecureSession[0xaaab142ef7f0]: Allocated Type:1 LSID:34523

          Verify the Manual pairing code on the TH_CR1(chip-tool) Log:

          [1635864513.699433][3850:3855] CHIP:DMG: ICR moving to [CommandSen]
          [1635864513.699489][3850:3855] CHIP:CTL: Manual pairing code: [36177160937]
          [1635864513.699566][3850:3855] CHIP:CTL: SetupQRCode: [MT:00000CQM00YZN476420]
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP && CADMIN.S.C00.Rsp
      arguments:
          values:
              - name: "message"
                value: "Enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label: "Step 10: Wait for the commissioning window in step 9 to timeout"
      PICS: CADMIN.S.C00.Rsp
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: PIXIT.CADMIN.CwDuration * 1000

    - label:
          "Step 11: 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: "Step 12: TH_CR2 opens a commissioning window on DUT_CE using ECM"
      cluster: "Administrator Commissioning"
      command: "OpenCommissioningWindow"
      PICS: CADMIN.S.C00.Rsp && PICS_SDK_CI_ONLY
      identity: "beta"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "CommissioningTimeout"
                value: PIXIT.CADMIN.CwDuration
              - name: "PAKEPasscodeVerifier"
                value: PakeVerifier
              - name: "Discriminator"
                value: discriminator
              - name: "Iterations"
                value: 1000
              - name: "Salt"
                value: "SPAKE2P Key Salt"

    - label: "Waiting after opening commissioning window"
      PICS: CADMIN.S.C00.Rsp && PICS_SDK_CI_ONLY
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: waitAfterCommissioning

    #Issue https://github.com/project-chip/connectedhomeip/issues/26127
    - label: "Step 12: TH_CR2 opens a commissioning window on DUT_CE using ECM"
      verification: |
          On TH_CR2 send the below command

          ./chip-tool pairing open-commissioning-window 2 1 PIXIT.CADMIN.CwDuration 1000 3840 --commissioner-name beta

          Verify the Open commisioning window on the DUT_CE(all-cluster-app) Log:

          [1660904553.796857][3537:3537] CHIP:DMG: Received command for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0000
          [1660904553.796951][3537:3537] CHIP:ZCL: Received command to open commissioning window
          [1660904553.797255][3537:3537] CHIP:IN: SecureSession[0xaaab142ef7f0]: Allocated Type:1 LSID:34523

          Verify the Manual pairing code on the TH_CR1(chip-tool) Log:

          [1635864513.699433][3850:3855] CHIP:DMG: ICR moving to [CommandSen]
          [1635864513.699489][3850:3855] CHIP:CTL: Manual pairing code: [36177160937]
          [1635864513.699566][3850:3855] CHIP:CTL: SetupQRCode: [MT:00000CQM00YZN476420]
          [1635864513.699636][3850:3855] CHIP:EM: Sending Standalone Ack for MessageCounter:2599714227 on exchange 60688i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP && CADMIN.S.C00.Rsp
      arguments:
          values:
              - name: "message"
                value: "Enter 'y' after success"
              - name: "expectedValue"
                value: "y"

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

    #Issue https://github.com/project-chip/connectedhomeip/issues/26127
    - label:
          "Step 13: TH_CR1 starts a commissioning process with DUT_CE before the
          timeout from step 12"
      verification: |
          Below is the example when using chip tool as controller (considering 36177160937 as the manual code generated by 1st controller)

          ./chip-tool pairing code 0xCAFE 36177160937

          Verify the OperationalCert error 9 in DUT_CE(all-clusters-app) Log

          [1660902716.613196][3045:3045] CHIP:DMG: Command handler moving to [AddedComma]
          [1660902716.613274][3045:3045] CHIP:ZCL: OpCreds: Failed AddNOC request (err=../../examples/all-clusters-app/linux/third_party/connectedhomeip/src/credentials/FabricTable.cpp:1692: CHIP Error 0x0000007E: Trying to add a NOC for a fabric that already exists) with OperationalCert error 9
          [1660902716.613394][3045:3045] CHIP:DMG: Decreasing reference count for CommandHandler, remaining 0
          [1660902716.613497][3045:3045] CHIP:EM: Piggybacking Ack for MessageCounter:176866087 on exchange: 56605r

          Trying to add a NOC for a fabric that already exists On TH_CR1(chip-tool) Log

          [1651786200275] [36301:315544] CHIP: [DMG] Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008
          [1651786200275] [36301:315544] CHIP: [CTL] Device returned status 9 on receiving the NOC
          [1651786200275] [36301:315544] CHIP: [CTL] Add NOC failed with error ../../src/controller/CHIPDeviceController.cpp:1187: CHIP Error 0x0000007E: Trying to add a NOC for a fabric that already exists
          [1651786200275] [36301:315544] CHIP: [CTL] Error on commissioning step 'SendNOC': '../../src/controller/CHIPDeviceController.cpp:1187: CHIP Error 0x0000007E: Trying to add a NOC for a fabric that already exists'
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP && CADMIN.S.C00.Rsp
      arguments:
          values:
              - name: "message"
                value: "Enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - 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
