# 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:
    4.1.1. [TC-CADMIN-1.1] Administrator Behavior using ECM [DUT - Commissioner]

PICS:
    - CADMIN.C
    - CADMIN.C.C00.Tx

config:
    nodeId: 0x12344321
    cluster: "Basic"
    endpoint: 0

tests:
    - label: "Note"
      verification: |
          For DUT as comissioner  test cases, Chip-tool command used below are an example to verify the functionality. For certification test, we expect DUT should have a capability or way to run the equivalent command.
      disabled: true

    - label: "Precondition"
      verification: |
          Reset Devices to factory defaults
      disabled: true

    - label: "TH_CR1 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          "1. Provision the TH_CE (all-cluster-app) device using TH_CR1 (chip-tool ) on the raspi"
      disabled: true

    - label:
          "TH_CR1 sends command to TH_CE to open a commissioning window with a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM
          (Enhanced Commissioning Method)."
      PICS: CADMIN.C.C00.Tx
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          On TH_CR1 send the below command

          ./chip-tool  pairing open-commissioning-window 1 1 400 2000 3841


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

          [1660901022.112296][3045:3045] CHIP:DIS: mDNS service published: _matterc._udp
          [1660901022.112389][3045:3045] CHIP:ZCL: Commissioning window is now open
          [1660901022.112474][3045:3045] CHIP:DMG: Command handler moving to [ Preparing]
      disabled: true

    - label: "TH_CR1 sends command to TH_CE to read the list of Fabrics"
      PICS: OPCREDS.C.A0001
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command with their all-cluster-app and for the second and third commissioners.

          On TH_CR1 send the below command

          ./chip-tool operationalcredentials read fabrics 1 0 --fabric-filtered 0

          Verify 1 entry in the Fabrics list attributeOn TH_CR1(CHIP-TOOL) Log

           Verify TH_CE reports 1 entry in fabrics list


          [1661486369.837260][7071:7071] CHIP:DMG:                 AttributeReportIB =
          [1661486369.837292][7071:7071] CHIP:DMG:                 {
          [1661486369.837317][7071:7071] CHIP:DMG:                         AttributeDataIB =
          [1661486369.837343][7071:7071] CHIP:DMG:                         {
          [1661486369.837371][7071:7071] CHIP:DMG:                                 DataVersion = 0x8d915768,
          [1661486369.837398][7071:7071] CHIP:DMG:                                 AttributePathIB =
          [1661486369.837426][7071:7071] CHIP:DMG:                                 {
          [1661486369.837455][7071:7071] CHIP:DMG:                                         Endpoint = 0x0,
          [1661486369.837485][7071:7071] CHIP:DMG:                                         Cluster = 0x3e,
          [1661486369.837515][7071:7071] CHIP:DMG:                                         Attribute = 0x0000_0001,
          [1661486369.837544][7071:7071] CHIP:DMG:                                         ListIndex = Null,
          [1661486369.837572][7071:7071] CHIP:DMG:                                 }
          [1661486369.837601][7071:7071] CHIP:DMG:
          [1661486369.837629][7071:7071] CHIP:DMG:                                 Data =
          [1661486369.837656][7071:7071] CHIP:DMG:                                 {
          [1661486369.837685][7071:7071] CHIP:DMG:                                         0x1 = [
          [1661486369.837731][7071:7071] CHIP:DMG:                                                         0x4, 0xb5, 0xc1, 0xfd, 0xdd, 0x6a, 0xdd, 0xc3, 0xa1, 0x3d, 0xee, 0x39, 0xa2, 0xe, 0x66, 0x7, 0xa2, 0x3a, 0x6d, 0x4a, 0x86, 0x57, 0x36, 0xf7, 0x1f, 0x20, 0x7c, 0x9d, 0xe8, 0x8, 0xa, 0xd5, 0xf2, 0x9c, 0x9d, 0x1b, 0x14, 0x5f, 0xbc, 0x60, 0xb9, 0xe7, 0xee, 0xb3, 0x4c, 0x2, 0xf4, 0x7b, 0x21, 0xdb, 0x74, 0x4e, 0xb1, 0x65, 0x22, 0xd3, 0xe0, 0x32, 0xbd, 0xbe, 0xde, 0x43, 0xfe, 0x26, 0xd6,
          [1661486369.837769][7071:7071] CHIP:DMG:                                         ] (65 bytes)
          [1661486369.837799][7071:7071] CHIP:DMG:                                         0x2 = 65521,
          [1661486369.837830][7071:7071] CHIP:DMG:                                         0x3 = 1,
          [1661486369.837861][7071:7071] CHIP:DMG:                                         0x4 = 1,
          [1661486369.837893][7071:7071] CHIP:DMG:                                         0x5 = "" (0 chars),
          [1661486369.837923][7071:7071] CHIP:DMG:                                         0xfe = 1,
          [1661486369.837953][7071:7071] CHIP:DMG:                                 },
          [1661486369.837979][7071:7071] CHIP:DMG:                         },
          [1661486369.838010][7071:7071] CHIP:DMG:
          [1661486369.838034][7071:7071] CHIP:DMG:                 },
          [1661486369.838064][7071:7071] CHIP:DMG:
          [1661486369.838084][7071:7071] CHIP:DMG:         ],
          [1661486369.838116][7071:7071] CHIP:DMG:
      disabled: true

    - label: "DUT_CR2 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          On DUT_CR2 send the below command

          Below is the example when using chip tool as controller (considering 35998938564 as the manual code generated by 1st controller)
          ./chip-tool pairing code 2 35998938564 --commissioner-name beta

           Verify TH_CE logs for
          Commissioning completed successfully
      disabled: true

    - label: "Verify TH_CE is now discoverable over DNS-SD with two SRV Records"
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          On the raspi , Verify if the TH_CE(All-cluster-app) is broadcasting

          On TH_CR1 send the below command

          ubuntu@ubuntu:~/may10_cntrl2/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matter._tcp
          +   eth0 IPv6 E0AF53B23E580769-0000000000000002             _matter._tcp         local
          +   eth0 IPv6 7FF84D214A19B581-0000000000000001             _matter._tcp         local
          =   eth0 IPv6 E0AF53B23E580769-0000000000000002             _matter._tcp         local
             hostname = [E45F010F3BAF0000.local]
             address = [fe80::e65f:1ff:fe0f:3baf]
             port = [5540]
             txt = ["T=1" "CRA=300" "CRI=5000"]
          =   eth0 IPv6 7FF84D214A19B581-0000000000000001             _matter._tcp         local
             hostname = [E45F010F3BAF0000.local]
             address = [fe80::e65f:1ff:fe0f:3baf]
             port = [5540]
             txt = ["T=1" "CRA=300" "CRI=5000"]
      disabled: true

    - label:
          "DUT_CR2 sends command to TH_CE to write and read the Basic
          Information Clusters NodeLabel mandatory attribute"
      PICS: BINFO.C.A0005
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command with their all-cluster-app and for the second and third commissioners.

          On DUT_CR2 send the below command


          ./chip-tool basic write node-label te5new 2 0 --commissioner-name beta

          Verify Write request on TH_CE(all-clusters-app) Log

          [1660894021.901330][2871:2871] CHIP:EM: Handling via exchange: 9616r, Delegate: 0xaaaada21ffc0
          [1660894021.901426][2871:2871] CHIP:IM: Received Write request
          [1660894021.901484][2871:2871] CHIP:DMG: IM WH moving to [Initialized]
          [1660894021.901613][2871:2871] CHIP:DMG: WriteRequestMessage =
          [1660894021.901676][2871:2871] CHIP:DMG: {
          [1660894021.901735][2871:2871] CHIP:DMG:         suppressResponse = false,
          [1660894021.901802][2871:2871] CHIP:DMG:         timedRequest = false,
          [1660894021.901864][2871:2871] CHIP:DMG:         AttributeDataIBs =
          [1660894021.901940][2871:2871] CHIP:DMG:         [
          [1660894021.902001][2871:2871] CHIP:DMG:                 AttributeDataIB =
          [1660894021.902071][2871:2871] CHIP:DMG:                 {
          [1660894021.902136][2871:2871] CHIP:DMG:                         AttributePathIB =
          [1660894021.902219][2871:2871] CHIP:DMG:                         {
          [1660894021.902302][2871:2871] CHIP:DMG:                                 Endpoint = 0x0,
          [1660894021.902394][2871:2871] CHIP:DMG:                                 Cluster = 0x28,
          [1660894021.902488][2871:2871] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1660894021.902574][2871:2871] CHIP:DMG:                         }
          [1660894021.902827][2871:2871] CHIP:DMG:
          [1660894021.902912][2871:2871] CHIP:DMG:                         Data = "te5new" (6 chars),
          [1660894021.902985][2871:2871] CHIP:DMG:                 },

          ./chip-tool basic read node-label 2 0 --commissioner-name beta

          Verify read request on TH_CE(all-clusters-app) Log


          [1660894142.828718][2871:2871] CHIP:EM: Handling via exchange: 62454r, Delegate: 0xaaaada21ffc0
          [1660894142.828834][2871:2871] CHIP:IM: Received Read request
          [1660894142.829023][2871:2871] CHIP:DMG: ReadRequestMessage =
          [1660894142.829097][2871:2871] CHIP:DMG: {
          [1660894142.829153][2871:2871] CHIP:DMG:         AttributePathIBs =
          [1660894142.829235][2871:2871] CHIP:DMG:         [
          [1660894142.829306][2871:2871] CHIP:DMG:                 AttributePathIB =
          [1660894142.829376][2871:2871] CHIP:DMG:                 {
          [1660894142.829449][2871:2871] CHIP:DMG:                         Endpoint = 0x0,
          [1660894142.829532][2871:2871] CHIP:DMG:                         Cluster = 0x28,
          [1660894142.829627][2871:2871] CHIP:DMG:                         Attribute = 0x0000_0005,
          [1660894142.829703][2871:2871] CHIP:DMG:                 }
          [1660894142.829777][2871:2871] CHIP:DMG:
      disabled: true

    - label: "DUT_CR2 sends command to TH_CE to read the list of Fabrics"
      PICS: OPCREDS.C.A0001
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          On DUT_CR2 send the below command

          ./chip-tool operationalcredentials read fabrics 2 0  --fabric-filtered 0 --commissioner-name beta

          Verify 2 entries in TH_CE log


          [1661481567.477399][6453:6453] CHIP:DMG:                 AttributeReportIB =
          [1661481567.477428][6453:6453] CHIP:DMG:                 {
          [1661481567.477450][6453:6453] CHIP:DMG:                         AttributeDataIB =
          [1661481567.477475][6453:6453] CHIP:DMG:                         {
          [1661481567.477503][6453:6453] CHIP:DMG:                                 DataVersion = 0x482f8cf0,
          [1661481567.477530][6453:6453] CHIP:DMG:                                 AttributePathIB =
          [1661481567.477558][6453:6453] CHIP:DMG:                                 {
          [1661481567.477586][6453:6453] CHIP:DMG:                                         Endpoint = 0x0,
          [1661481567.477616][6453:6453] CHIP:DMG:                                         Cluster = 0x3e,
          [1661481567.477649][6453:6453] CHIP:DMG:                                         Attribute = 0x0000_0001,
          [1661481567.477678][6453:6453] CHIP:DMG:                                         ListIndex = Null,
          [1661481567.477706][6453:6453] CHIP:DMG:                                 }
          [1661481567.477735][6453:6453] CHIP:DMG:
          [1661481567.477762][6453:6453] CHIP:DMG:                                 Data =
          [1661481567.477791][6453:6453] CHIP:DMG:                                 {
          [1661481567.477823][6453:6453] CHIP:DMG:                                         0x1 = [
          [1661481567.477871][6453:6453] CHIP:DMG:                                                         0x4, 0xb5, 0xc1, 0xfd, 0xdd, 0x6a, 0xdd, 0xc3, 0xa1, 0x3d, 0xee, 0x39, 0xa2, 0xe, 0x66, 0x7, 0xa2, 0x3a, 0x6d, 0x4a, 0x86, 0x57, 0x36, 0xf7, 0x1f, 0x20, 0x7c, 0x9d, 0xe8, 0x8, 0xa, 0xd5, 0xf2, 0x9c, 0x9d, 0x1b, 0x14, 0x5f, 0xbc, 0x60, 0xb9, 0xe7, 0xee, 0xb3, 0x4c, 0x2, 0xf4, 0x7b, 0x21, 0xdb, 0x74, 0x4e, 0xb1, 0x65, 0x22, 0xd3, 0xe0, 0x32, 0xbd, 0xbe, 0xde, 0x43, 0xfe, 0x26, 0xd6,
          [1661481567.477909][6453:6453] CHIP:DMG:                                         ] (65 bytes)
          [1661481567.477942][6453:6453] CHIP:DMG:                                         0x2 = 65521,
          [1661481567.477974][6453:6453] CHIP:DMG:                                         0x3 = 1,
          [1661481567.478007][6453:6453] CHIP:DMG:                                         0x4 = 1,
          [1661481567.478096][6453:6453] CHIP:DMG:                                         0x5 = "" (0 chars),
          [1661481567.478129][6453:6453] CHIP:DMG:                                         0xfe = 1,
          [1661481567.478160][6453:6453] CHIP:DMG:                                 },
          [1661481567.478187][6453:6453] CHIP:DMG:                         },
          [1661481567.478217][6453:6453] CHIP:DMG:
          [1661481567.478241][6453:6453] CHIP:DMG:                 },
          [1661481567.478278][6453:6453] CHIP:DMG:
          [1661481567.478298][6453:6453] CHIP:DMG:                 AttributeReportIB =
          [1661481567.478330][6453:6453] CHIP:DMG:                 {
          [1661481567.478354][6453:6453] CHIP:DMG:                         AttributeDataIB =
          [1661481567.478380][6453:6453] CHIP:DMG:                         {
          [1661481567.478406][6453:6453] CHIP:DMG:                                 DataVersion = 0x482f8cf0,
          [1661481567.478433][6453:6453] CHIP:DMG:                                 AttributePathIB =
          [1661481567.478461][6453:6453] CHIP:DMG:                                 {
          [1661481567.478489][6453:6453] CHIP:DMG:                                         Endpoint = 0x0,
          [1661481567.478522][6453:6453] CHIP:DMG:                                         Cluster = 0x3e,
          [1661481567.478554][6453:6453] CHIP:DMG:                                         Attribute = 0x0000_0001,
          [1661481567.478584][6453:6453] CHIP:DMG:                                         ListIndex = Null,
          [1661481567.478612][6453:6453] CHIP:DMG:                                 }
          [1661481567.478643][6453:6453] CHIP:DMG:
          [1661481567.478672][6453:6453] CHIP:DMG:                                 Data =
          [1661481567.478702][6453:6453] CHIP:DMG:                                 {
          [1661481567.478732][6453:6453] CHIP:DMG:                                         0x1 = [
          [1661481567.478777][6453:6453] CHIP:DMG:                                                         0x4, 0x7b, 0x5b, 0x9a, 0x2a, 0xd1, 0x4e, 0x1e, 0x8d, 0xf4, 0xca, 0xea, 0xde, 0x1c, 0xbe, 0xa7, 0xf6, 0xd4, 0xa1, 0xe8, 0xf0, 0x20, 0x9f, 0x6c, 0x38, 0x30, 0x31, 0x88, 0xb5, 0x89, 0x69, 0xd4, 0x7, 0x17, 0x16, 0x85, 0x25, 0x55, 0x8f, 0x5b, 0xed, 0x58, 0x68, 0x27, 0xde, 0x5e, 0xf6, 0xf9, 0xf8, 0x99, 0x54, 0x92, 0x8e, 0x33, 0xa6, 0xf4, 0xb0, 0x5a, 0xc1, 0xa6, 0x1a, 0xf5, 0x2, 0xb4, 0x4f,
          [1661481567.478815][6453:6453] CHIP:DMG:                                         ] (65 bytes)
          [1661481567.478848][6453:6453] CHIP:DMG:                                         0x2 = 65521,
          [1661481567.478877][6453:6453] CHIP:DMG:                                         0x3 = 2,
          [1661481567.478907][6453:6453] CHIP:DMG:                                         0x4 = 1,
          [1661481567.478938][6453:6453] CHIP:DMG:                                         0x5 = "" (0 chars),
          [1661481567.478968][6453:6453] CHIP:DMG:                                         0xfe = 2,
          [1661481567.478999][6453:6453] CHIP:DMG:                                 },
          [1661481567.479026][6453:6453] CHIP:DMG:                         },
          [1661481567.479056][6453:6453] CHIP:DMG:
          [1661481567.479079][6453:6453] CHIP:DMG:                 },
          [1661481567.479107][6453:6453] CHIP:DMG:
      disabled: true

    - label:
          "TH_CR1 sends command to TH_CE to write and read the Basic Information
          Clusters NodeLabel mandatory attribute"
      PICS: BINFO.C.A0005
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          On TH_CR1 send the below command

          ./chip-tool basic write node-label te8 1 0

          Verify the Write request On TH_CE(all-clusters-app) Log


          [1660894538.804578][2871:2871] CHIP:EM: Handling via exchange: 64932r, Delegate: 0xaaaada21ffc0
          [1660894538.804677][2871:2871] CHIP:IM: Received Write request
          [1660894538.804737][2871:2871] CHIP:DMG: IM WH moving to [Initialized]
          [1660894538.804867][2871:2871] CHIP:DMG: WriteRequestMessage =
          [1660894538.804933][2871:2871] CHIP:DMG: {
          [1660894538.804993][2871:2871] CHIP:DMG:         suppressResponse = false,
          [1660894538.805059][2871:2871] CHIP:DMG:         timedRequest = false,
          [1660894538.805120][2871:2871] CHIP:DMG:         AttributeDataIBs =
          [1660894538.805196][2871:2871] CHIP:DMG:         [
          [1660894538.805258][2871:2871] CHIP:DMG:                 AttributeDataIB =
          [1660894538.805346][2871:2871] CHIP:DMG:                 {
          [1660894538.805412][2871:2871] CHIP:DMG:                         AttributePathIB =
          [1660894538.805493][2871:2871] CHIP:DMG:                         {
          [1660894538.805575][2871:2871] CHIP:DMG:                                 Endpoint = 0x0,
          [1660894538.805661][2871:2871] CHIP:DMG:                                 Cluster = 0x28,
          [1660894538.805752][2871:2871] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1660894538.805840][2871:2871] CHIP:DMG:                         }
          [1660894538.805922][2871:2871] CHIP:DMG:
          [1660894538.806010][2871:2871] CHIP:DMG:                         Data = "te8" (3 chars),
          [1660894538.806082][2871:2871] CHIP:DMG:                 },

          ./chip-tool basic read node-label 1 0

          Verify the Read request On TH_CE(all-clusters-app) Log

          [1660894686.511690][2871:2871] CHIP:EM: Received message of type 0x2 with protocolId (0, 1) and MessageCounter:155836021 on exchange 25703r
          [1660894686.511817][2871:2871] CHIP:EM: Handling via exchange: 25703r, Delegate: 0xaaaada21ffc0
          [1660894686.511920][2871:2871] CHIP:IM: Received Read request
          [1660894686.512190][2871:2871] CHIP:DMG: ReadRequestMessage =
          [1660894686.512259][2871:2871] CHIP:DMG: {
          [1660894686.512314][2871:2871] CHIP:DMG:         AttributePathIBs =
          [1660894686.512380][2871:2871] CHIP:DMG:         [
          [1660894686.512441][2871:2871] CHIP:DMG:                 AttributePathIB =
          [1660894686.512526][2871:2871] CHIP:DMG:                 {
          [1660894686.512599][2871:2871] CHIP:DMG:                         Endpoint = 0x0,
          [1660894686.512683][2871:2871] CHIP:DMG:                         Cluster = 0x28,
          [1660894686.512772][2871:2871] CHIP:DMG:                         Attribute = 0x0000_0005,
      disabled: true

    - label:
          "DUT_CR2 sends command to TH_CE to read, write and then read the Basic
          Information Clusters NodeLabel mandatory attribute"
      PICS: BINFO.C.A0005
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          On DUT_CR2 send the below command

          ./chip-tool basic read node-label 2 0 --commissioner-name beta

          Verify the Read request On TH_CE(all-clusters-app) Log

          [1660902253.379018][3045:3045] CHIP:EM: Handling via exchange: 3197r, Delegate: 0xaaaaadbeffc0
          [1660902253.379122][3045:3045] CHIP:IM: Received Read request
          [1660902253.379306][3045:3045] CHIP:DMG: ReadRequestMessage =
          [1660902253.379373][3045:3045] CHIP:DMG: {
          [1660902253.379430][3045:3045] CHIP:DMG:         AttributePathIBs =
          [1660902253.379496][3045:3045] CHIP:DMG:         [
          [1660902253.379557][3045:3045] CHIP:DMG:                 AttributePathIB =
          [1660902253.379634][3045:3045] CHIP:DMG:                 {
          [1660902253.379703][3045:3045] CHIP:DMG:                         Endpoint = 0x0,
          [1660902253.379782][3045:3045] CHIP:DMG:                         Cluster = 0x28,
          [1660902253.379871][3045:3045] CHIP:DMG:                         Attribute = 0x0000_0005,
          [1660902253.379935][3045:3045] CHIP:DMG:                 }
          [1660902253.380141][3045:3045] CHIP:DMG:
          [1660902253.380208][3045:3045] CHIP:DMG:         ],


          ./chip-tool basic write node-label te5new 2 0 --commissioner-name beta

          Verify the Write request On TH_CE(all-clusters-app) Log

          [1660900144.090077][3045:3045] CHIP:EM: Handling via exchange: 23950r, Delegate: 0xaaaaadbeffc0
          [1660900144.090167][3045:3045] CHIP:IM: Received Write request
          [1660900144.090226][3045:3045] CHIP:DMG: IM WH moving to [Initialized]
          [1660900144.090347][3045:3045] CHIP:DMG: WriteRequestMessage =
          [1660900144.090411][3045:3045] CHIP:DMG: {
          [1660900144.090470][3045:3045] CHIP:DMG:         suppressResponse = false,
          [1660900144.090537][3045:3045] CHIP:DMG:         timedRequest = false,
          [1660900144.090598][3045:3045] CHIP:DMG:         AttributeDataIBs =
          [1660900144.090677][3045:3045] CHIP:DMG:         [
          [1660900144.090739][3045:3045] CHIP:DMG:                 AttributeDataIB =
          [1660900144.090816][3045:3045] CHIP:DMG:                 {
          [1660900144.090887][3045:3045] CHIP:DMG:                         AttributePathIB =
          [1660900144.090976][3045:3045] CHIP:DMG:                         {
          [1660900144.091061][3045:3045] CHIP:DMG:                                 Endpoint = 0x0,
          [1660900144.091150][3045:3045] CHIP:DMG:                                 Cluster = 0x28,
          [1660900144.091247][3045:3045] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1660900144.091344][3045:3045] CHIP:DMG:                         }
          [1660900144.091432][3045:3045] CHIP:DMG:
          [1660900144.091560][3045:3045] CHIP:DMG:                         Data = "te5new" (6 chars),
          [1660900144.091655][3045:3045] CHIP:DMG:                 },


          Verify read attribute returns the updated value written

          ./chip-tool basic read node-label 2 0 --commissioner-name beta

          Verify the Read request On TH_CE(all-clusters-app) Log

          [1660900360.861128][3045:3045] CHIP:EM: Handling via exchange: 17574r, Delegate: 0xaaaaadbeffc0
          [1660900360.861223][3045:3045] CHIP:IM: Received Read request
          [1660900360.861402][3045:3045] CHIP:DMG: ReadRequestMessage =
          [1660900360.861471][3045:3045] CHIP:DMG: {
          [1660900360.861527][3045:3045] CHIP:DMG:         AttributePathIBs =
          [1660900360.861591][3045:3045] CHIP:DMG:         [
          [1660900360.861651][3045:3045] CHIP:DMG:                 AttributePathIB =
          [1660900360.861727][3045:3045] CHIP:DMG:                 {
          [1660900360.861798][3045:3045] CHIP:DMG:                         Endpoint = 0x0,
          [1660900360.861871][3045:3045] CHIP:DMG:                         Cluster = 0x28,
          [1660900360.861939][3045:3045] CHIP:DMG:                         Attribute = 0x0000_0005,
          [1660900360.862012][3045:3045] CHIP:DMG:                 }
          [1660900360.862088][3045:3045] CHIP:DMG:
          [1660900360.862158][3045:3045] CHIP:DMG:         ],
      disabled: true

    - label: "Turn off TH_CR1"
      verification: |
          No need to do anything as chip-tool process exits after each command
      disabled: true

    - label:
          "DUT_CR2 sends command to TH_CE to open a commissioning window using a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM
          (Enhanced Commissioning Method)"
      PICS: CADMIN.C.C00.Tx
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          On DUT_CR2 send the below command

          ./chip-tool pairing open-commissioning-window 2 1 300 1000 3841 --commissioner-name beta

          Verify the Commissioning window is opened in TH_CE(all-clusters-app) Log

          [1660901022.112296][3045:3045] CHIP:DIS: mDNS service published: _matterc._udp
          [1660901022.112389][3045:3045] CHIP:ZCL: Commissioning window is now open
          [1660901022.112474][3045:3045] CHIP:DMG: Command handler moving to [ Preparing]
      disabled: true

    - label:
          "DUT_CR2 sends command to TH_CE to revoke the commissioning window
          using the Revoke Commissioning command"
      PICS: CADMIN.C.C02.Tx
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          On DUT_CR2 send the below command

          ./chip-tool administratorcommissioning revoke-commissioning 2 0 --timedInteractionTimeoutMs 1000 --commissioner-name beta


          Verify the Commissioning window is closed in TH_CE(all-clusters-app) Log
          [1661485834.635244][6993:6993] CHIP:DIS: mDNS service published: _matter._tcp
          [1661485834.635293][6993:6993] CHIP:ZCL: Commissioning window is now closed
          [1661485834.635328][6993:6993] CHIP:DMG: Command handler moving to [ Preparing]
      disabled: true

    - label:
          "TH_CR3 attempts to execute a PASE to starts a commissioning process
          with TH_CE"
      PICS: CADMIN.C
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command with their all-cluster-app and for the second and third commissioners.

          On TH_CR3 send the below command

          ./chip-tool pairing code 3  34995354639  --commissioner-name gamma

          verify you got the following message in the TH_CR3(chip-tool) log

          CHIP:SC: PASESession timed out while waiting for a response from the peer. Expected message type was 33
          CHIP:TOO: Secure Pairing Failed
          CHIP:TOO: Pairing Failure: ../../third_party/connectedhomeip/src/protocols/secure_channel/PASESession.cpp:324: CHIP Error 0x00000032: Timeout
      disabled: true

    - label:
          "DUT_CR2 sends command to TH_CE to write and read the Basic
          Information Clusters NodeLabel mandatory attribute"
      PICS: BINFO.C.A0005
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          On DUT_CR2 send the below command

          ./chip-tool basic write node-label te5new 2 0 --commissioner-name beta

          Verify the Write request On TH_CE(all-clusters-app) Log

          [1660902144.913634][3045:3045] CHIP:EM: Handling via exchange: 22257r, Delegate: 0xaaaaadbeffc0
          [1660902144.913728][3045:3045] CHIP:IM: Received Write request
          [1660902144.913785][3045:3045] CHIP:DMG: IM WH moving to [Initialized]
          [1660902144.913912][3045:3045] CHIP:DMG: WriteRequestMessage =
          [1660902144.913977][3045:3045] CHIP:DMG: {
          [1660902144.914038][3045:3045] CHIP:DMG:         suppressResponse = false,
          [1660902144.914106][3045:3045] CHIP:DMG:         timedRequest = false,
          [1660902144.914168][3045:3045] CHIP:DMG:         AttributeDataIBs =
          [1660902144.914244][3045:3045] CHIP:DMG:         [
          [1660902144.914305][3045:3045] CHIP:DMG:                 AttributeDataIB =
          [1660902144.914375][3045:3045] CHIP:DMG:                 {
          [1660902144.914440][3045:3045] CHIP:DMG:                         AttributePathIB =
          [1660902144.914522][3045:3045] CHIP:DMG:                         {
          [1660902144.914602][3045:3045] CHIP:DMG:                                 Endpoint = 0x0,
          [1660902144.914691][3045:3045] CHIP:DMG:                                 Cluster = 0x28,
          [1660902144.914940][3045:3045] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1660902144.915025][3045:3045] CHIP:DMG:                         }
          [1660902144.915109][3045:3045] CHIP:DMG:
          [1660902144.915208][3045:3045] CHIP:DMG:                         Data = "te5new" (6 chars),
          [1660902144.915292][3045:3045] CHIP:DMG:                 },
          [1660902144.915374][3045:3045] CHIP:DMG:

          ./chip-tool basic read node-label 2 0 --commissioner-name beta

          Verify the Read request On TH_CE(all-clusters-app) Log

          [1660902253.379018][3045:3045] CHIP:EM: Handling via exchange: 3197r, Delegate: 0xaaaaadbeffc0
          [1660902253.379122][3045:3045] CHIP:IM: Received Read request
          [1660902253.379306][3045:3045] CHIP:DMG: ReadRequestMessage =
          [1660902253.379373][3045:3045] CHIP:DMG: {
          [1660902253.379430][3045:3045] CHIP:DMG:         AttributePathIBs =
          [1660902253.379496][3045:3045] CHIP:DMG:         [
          [1660902253.379557][3045:3045] CHIP:DMG:                 AttributePathIB =
          [1660902253.379634][3045:3045] CHIP:DMG:                 {
          [1660902253.379703][3045:3045] CHIP:DMG:                         Endpoint = 0x0,
          [1660902253.379782][3045:3045] CHIP:DMG:                         Cluster = 0x28,
          [1660902253.379871][3045:3045] CHIP:DMG:                         Attribute = 0x0000_0005,
          [1660902253.379935][3045:3045] CHIP:DMG:                 }
          [1660902253.380141][3045:3045] CHIP:DMG:
          [1660902253.380208][3045:3045] CHIP:DMG:         ],
      disabled: true

    - label:
          "DUT_CR2 sends command to TH_CE to open a commissioning window using
          ECM"
      PICS: CADMIN.C.C00.Tx
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          On DUT_CR2 send the below command

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

          Verify the Commissioning window is opened in TH_CE(all-clusters-app) Log

          [1660902413.357922][3045:3045] CHIP:DIS: mDNS service published: _matterc._udp
          [1660902413.358025][3045:3045] CHIP:ZCL: Commissioning window is now open
          [1660902413.358116][3045:3045] CHIP:DMG: Command handler moving to [ Preparing]
      disabled: true

    - label:
          "Wait for commissioning window that was opened in step 13 to timeout"
      verification: |
          Wait for the timeout of commissioning window in the above step
      disabled: true

    - label:
          "DUT_CR2 sends command to TH_CE to open a commissioning window using
          ECM"
      PICS: CADMIN.C.C00.Tx
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          On DUT_CR2 send the below command

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

          Verify the Commissioning window is opened in TH_CE(all-clusters-app) Log

          [1660902623.744448][3045:3045] CHIP:DIS: mDNS service published: _matterc._udp
          [1660902623.744550][3045:3045] CHIP:ZCL: Commissioning window is now open
          [1660902623.744634][3045:3045] CHIP:DMG: Command handler moving to [ Preparing]
      disabled: true

    - label:
          "TH_CR1 starts a commissioning process with TH_CE before the timeout
          from step 15"
      PICS: CADMIN.C
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          On TH_CR1 send the below command

           (considering 34995354639 as the manual code generated by DUT)
          ./chip-tool pairing code 2 34995354639

          Verify the OperationalCert error 9 in TH_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
      disabled: true
