# 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 Information"
    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

           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  basicinformation 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  basicinformation 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  basicinformation 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  basicinformation 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  basicinformation 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  basicinformation 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  basicinformation 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

          [1670391303.300531][1397:1397] CHIP:TS: Reverted Last Known Good Time to previous value
          [1670391303.301023][1397:1397] CHIP:DL: writing settings to file (/tmp/chip_counters.ini-E9JWJd)
          [1670391303.302361][1397:1397] CHIP:DL: renamed tmp file to file (/tmp/chip_counters.ini)
          [1670391303.302492][1397:1397] CHIP:DL: NVS set: chip-counters/total-operational-hours = 0 (0x0)
          [1670391303.302553][1397:1397] CHIP:DL: Inet Layer shutdown
          [1670391303.302602][1397:1397] CHIP:DL: BLE shutdown
          [1670391303.302653][1397:1397] CHIP:DL: System Layer shutdown
          [1670391303.303218][1397:1397] CHIP:TOO: Run command failure: ../../commands/pairing/PairingCommand.cpp:179: CHIP Error 0x00000003: Incorrect state
      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  basicinformation 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  basicinformation 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
