# 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 device using 1st controller chip-tool  on the raspi (use above instructions)
          "
      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: |
          On 1st controller using chip tool, open commissioning window using ECM

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

          On TH1(chip-tool) Log

          CHIP:IN: Sending encrypted msg 0xaaaad3464d10 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 5805157 msec
          [1635691999.946536][3822:3827] CHIP:DMG: ICR moving to [CommandSen]
          [1635691999.946586][3822:3827] CHIP:CTL: Manual pairing code: [35407541839]
          [1635691999.946650][3822:3827] CHIP:CTL: SetupQRCode: [MT:00000CQM00G6V851H10]
          [1635691999.946802][3822:3827] CHIP:EM: Sending Standalone Ack for MessageCounter:3234931243 on exchange 35324i
          [1635691999.946850][3822:3827] CHIP:IN: Prepared plaintext message 0xffffaa58a960 to 0x0000000000000000 of type 0x10 and protocolId (0, 0) on exchange 35324i with MessageCounter:1726016118.
          [1635691999.946895][3822:3827] CHIP:IN: Sending plaintext msg 0xffffaa58a960 with MessageCounter:1726016118 to 0x0000000000000000 at monotonic time: 5805158 msec
          [1635691999.946983][3822:3827] CHIP:EM: Flushed pending ack for MessageCounter:3234931243 on exchange 35324i

          On DUT as server side

          CHIP minimal mDNS started advertising.
          [1635687658.683388][3792:3792] CHIP:DIS: Failed to find a valid admin pairing. Node ID unknown
          [1635687658.683427][3792:3792] CHIP:DIS: Start dns-sd server - no current nodeId
          [1635687658.683456][3792:3792] CHIP:DL: MAC is not known, using a default.
          [1635687658.683522][3792:3792] CHIP:DIS: Advertise commission parameter vendorID=9050 productID=65279 discriminator=3840/00
          [1635687658.683597][3792:3792] CHIP:DIS: CHIP minimal mDNS configured as "Commissionable node device".
          [1635687658.684345][3792:3792] CHIP:DIS: Broadcasting mDns reply for query from 192.168.0.225
          [1635687658.687201][3792:3792] CHIP:DIS: Broadcasting mDns reply for query from 192.168.0.225
      disabled: true

    - label: "TH_CR1 sends command to TH_CE to read the list of Fabrics"
      PICS: OPCREDS.C.A0001
      verification: |
          On 1st controller using chip tool read fabricList

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


           CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 3621507058
          [1649245801.244173][10091:10096] CHIP:TOO:   Fabrics: 1 entries
          [1649245801.244305][10091:10096] CHIP:TOO:     [1]: {
          [1649245801.244348][10091:10096] CHIP:TOO:       RootPublicKey: 045541017FCEFD0D83963C9ED7F21380C6B789EB989B5D20DC318FAE92D60D0F685666505E9C4F86C49ADC71AB3A8B9B44FD43214CF9BE2B6D47DE01F28FE1544F
          [1649245801.244400][10091:10096] CHIP:TOO:       VendorId: 65521
          [1649245801.244431][10091:10096] CHIP:TOO:       FabricId: 1
          [1649245801.244461][10091:10096] CHIP:TOO:       NodeId: 1
          [1649245801.244491][10091:10096] CHIP:TOO:       Label:
          [1649245801.244521][10091:10096] CHIP:TOO:       FabricIndex: 1
          [1649245801.244552][10091:10096] CHIP:TOO:      }
          [1649245801.244671][10091:10096] CHIP:EM: Sending Standalone Ack for MessageCounter:8407998 on exchange 12989i
      disabled: true

    - label: "DUT_CR2 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          On 2nd controller, using chip-tool connect using manual code.
          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

           Verify whether you got below message in the log of TH

          Device commissioning completed with success
      disabled: true

    - label: "Verify TH_CE is now discoverable over DNS-SD with two SRV Records"
      verification: |
          On the raspi , Verify if the DUT is broadcasting using

          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: |
          On 2nd controller using chip tool write and read node-label

          Below is the example when using chip tool as controller
          ./chip-tool basic write node-label te5new 2 0

          CHIP:DMG: WriteClient moving to [ResponseRe]
          [1649671460.431199][20958:20963] CHIP:DMG: WriteResponseMessage =
          [1649671460.431217][20958:20963] CHIP:DMG: {
          [1649671460.431230][20958:20963] CHIP:DMG:         AttributeStatusIBs =
          [1649671460.431252][20958:20963] CHIP:DMG:         [
          [1649671460.431266][20958:20963] CHIP:DMG:                 AttributeStatusIB =
          [1649671460.431282][20958:20963] CHIP:DMG:                 {
          [1649671460.431297][20958:20963] CHIP:DMG:                         AttributePathIB =
          [1649671460.431314][20958:20963] CHIP:DMG:                         {
          [1649671460.431331][20958:20963] CHIP:DMG:                                 Endpoint = 0x0,
          [1649671460.431347][20958:20963] CHIP:DMG:                                 Cluster = 0x28,
          [1649671460.431364][20958:20963] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1649671460.431380][20958:20963] CHIP:DMG:                         }
          [1649671460.431403][20958:20963] CHIP:DMG:
          [1649671460.431422][20958:20963] CHIP:DMG:                         StatusIB =
          [1649671460.431445][20958:20963] CHIP:DMG:                         {
          [1649671460.431467][20958:20963] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1649671460.431488][20958:20963] CHIP:DMG:                         },
          [1649671460.431511][20958:20963] CHIP:DMG:
          [1649671460.431530][20958:20963] CHIP:DMG:                 },
          [1649671460.431556][20958:20963] CHIP:DMG:
          [1649671460.431570][20958:20963] CHIP:DMG:         ],
          [1649671460.431593][20958:20963] CHIP:DMG:
          [1649671460.431607][20958:20963] CHIP:DMG:         InteractionModelRevision = 1
          [1649671460.431620][20958:20963] CHIP:DMG: }
          [1649671460.431685][20958:20963] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1649671460.431729][20958:20963] CHIP:EM: Sending Standalone Ack for MessageCounter:11088724 on exchange 41848i



          Verify read attribute returns the updated value written

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

          CHIP:DMG: ReportDataMessage =
          [1649671466.310233][20969:20974] CHIP:DMG: {
          [1649671466.310241][20969:20974] CHIP:DMG:         AttributeReportIBs =
          [1649671466.310256][20969:20974] CHIP:DMG:         [
          [1649671466.310265][20969:20974] CHIP:DMG:                 AttributeReportIB =
          [1649671466.310281][20969:20974] CHIP:DMG:                 {
          [1649671466.310292][20969:20974] CHIP:DMG:                         AttributeDataIB =
          [1649671466.310304][20969:20974] CHIP:DMG:                         {
          [1649671466.310317][20969:20974] CHIP:DMG:                                 DataVersion = 0xd581a5e8,
          [1649671466.310328][20969:20974] CHIP:DMG:                                 AttributePathIB =
          [1649671466.310342][20969:20974] CHIP:DMG:                                 {
          [1649671466.310355][20969:20974] CHIP:DMG:                                         Endpoint = 0x0,
          [1649671466.310367][20969:20974] CHIP:DMG:                                         Cluster = 0x28,
          [1649671466.310380][20969:20974] CHIP:DMG:                                         Attribute = 0x0000_0005,
          [1649671466.310391][20969:20974] CHIP:DMG:                                 }
          [1649671466.310405][20969:20974] CHIP:DMG:
          [1649671466.310420][20969:20974] CHIP:DMG:                                         Data = "te8",
          [1649671466.310432][20969:20974] CHIP:DMG:                         },
          [1649671466.310446][20969:20974] CHIP:DMG:
          [1649671466.310457][20969:20974] CHIP:DMG:                 },
          [1649671466.310471][20969:20974] CHIP:DMG:
          [1649671466.310481][20969:20974] CHIP:DMG:         ],
          [1649671466.310497][20969:20974] CHIP:DMG:
          [1649671466.310508][20969:20974] CHIP:DMG:         SuppressResponse = true,
          [1649671466.310518][20969:20974] CHIP:DMG:         InteractionModelRevision = 1
          [1649671466.310528][20969:20974] CHIP:DMG: }
          [1649671466.310629][20969:20974] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 3582043624
          [1649671466.310646][20969:20974] CHIP:TOO:   NodeLabel: te8
          [1649671466.310704][20969:20974] CHIP:EM: Sending Standalone Ack for MessageCounter:15357338 on exchange 20724i
      disabled: true

    - label: "DUT_CR2 sends command to TH_CE to read the list of Fabrics"
      PICS: OPCREDS.C.A0001
      verification: |
          On 2nd controller using chip tool read fabricList


          Below is the example using chip tool as controller

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


          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 3621507063
          [1649245825.315152][10098:10103] CHIP:TOO:   Fabrics: 2 entries
          [1649245825.315316][10098:10103] CHIP:TOO:     [1]: {
          [1649245825.315370][10098:10103] CHIP:TOO:       RootPublicKey: 045541017FCEFD0D83963C9ED7F21380C6B789EB989B5D20DC318FAE92D60D0F685666505E9C4F86C49ADC71AB3A8B9B44FD43214CF9BE2B6D47DE01F28FE1544F
          [1649245825.315436][10098:10103] CHIP:TOO:       VendorId: 65521
          [1649245825.315479][10098:10103] CHIP:TOO:       FabricId: 1
          [1649245825.315518][10098:10103] CHIP:TOO:       NodeId: 1
          [1649245825.315557][10098:10103] CHIP:TOO:       Label:
          [1649245825.315596][10098:10103] CHIP:TOO:       FabricIndex: 1
          [1649245825.315637][10098:10103] CHIP:TOO:      }
          [1649245825.315697][10098:10103] CHIP:TOO:     [2]: {
          [1649245825.315747][10098:10103] CHIP:TOO:       RootPublicKey: 047D75BF7D91FCFFB29DAD375D09790FEBE9205227C44D4FF8EB70ADAD02E416E08269B9F77E86FE14270525B64C41417CEA3E9FDE0552AE8DF05F8D98B6B6E2E2
          [1649245825.315789][10098:10103] CHIP:TOO:       VendorId: 65521
          [1649245825.315830][10098:10103] CHIP:TOO:       FabricId: 1
          [1649245825.315870][10098:10103] CHIP:TOO:       NodeId: 2
          [1649245825.315908][10098:10103] CHIP:TOO:       Label:
          [1649245825.315947][10098:10103] CHIP:TOO:       FabricIndex: 2
          [1649245825.315986][10098:10103] CHIP:TOO:      }
      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: |
          On first controller using chip tool, write attribute and read attribute

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

          CHIP:DMG: WriteResponse =
          CHIP:DMG: WriteResponseMessage =
          [1649245940.788522][10110:10115] CHIP:DMG: {
          [1649245940.788577][10110:10115] CHIP:DMG:         AttributeStatusIBs =
          [1649245940.788653][10110:10115] CHIP:DMG:         [
          [1649245940.788713][10110:10115] CHIP:DMG:                 AttributeStatusIB =
          [1649245940.788787][10110:10115] CHIP:DMG:                 {
          [1649245940.788852][10110:10115] CHIP:DMG:                         AttributePathIB =
          [1649245940.788931][10110:10115] CHIP:DMG:                         {
          [1649245940.789009][10110:10115] CHIP:DMG:                                 Endpoint = 0x0,
          [1649245940.789143][10110:10115] CHIP:DMG:                                 Cluster = 0x28,
          [1649245940.789228][10110:10115] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1649245940.789313][10110:10115] CHIP:DMG:                         }
          [1649245940.789388][10110:10115] CHIP:DMG:
          [1649245940.789454][10110:10115] CHIP:DMG:                         StatusIB =
          [1649245940.789519][10110:10115] CHIP:DMG:                         {
          [1649245940.789588][10110:10115] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1649245940.789654][10110:10115] CHIP:DMG:                         },
          [1649245940.789719][10110:10115] CHIP:DMG:
          [1649245940.789778][10110:10115] CHIP:DMG:                 },
          [1649245940.789841][10110:10115] CHIP:DMG:
          [1649245940.789885][10110:10115] CHIP:DMG:         ],
          [1649245940.789941][10110:10115] CHIP:DMG:
          [1649245940.789984][10110:10115] CHIP:DMG:         InteractionModelRevision = 1
          [1649245940.790033][10110:10115] CHIP:DMG: }
          [1649245940.790167][10110:10115] CHIP:DMG: WriteClient moving to [AwaitingDe]


          Verify read attribute returns the updated value written
          ./chip-tool basic read node-label 1 0

          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 3061847068
          [1649245950.006849][10116:10121] CHIP:TOO:   NodeLabel: te8
          [1649245950.007024][10116:10121] CHIP:EM: Sending Standalone Ack for MessageCounter:12495101 on exchange 24816i
      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: |
          On 2nd controller using chip-tool read, write attribute and then read attribute to and from TH_CE

          Below is an example of using chip tool as controller

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

          CHIP:DMG: WriteResponseMessage =
          [1649245940.788522][10110:10115] CHIP:DMG: {
          [1649245940.788577][10110:10115] CHIP:DMG:         AttributeStatusIBs =
          [1649245940.788653][10110:10115] CHIP:DMG:         [
          [1649245940.788713][10110:10115] CHIP:DMG:                 AttributeStatusIB =
          [1649245940.788787][10110:10115] CHIP:DMG:                 {
          [1649245940.788852][10110:10115] CHIP:DMG:                         AttributePathIB =
          [1649245940.788931][10110:10115] CHIP:DMG:                         {
          [1649245940.789009][10110:10115] CHIP:DMG:                                 Endpoint = 0x0,
          [1649245940.789143][10110:10115] CHIP:DMG:                                 Cluster = 0x28,
          [1649245940.789228][10110:10115] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1649245940.789313][10110:10115] CHIP:DMG:                         }
          [1649245940.789388][10110:10115] CHIP:DMG:
          [1649245940.789454][10110:10115] CHIP:DMG:                         StatusIB =
          [1649245940.789519][10110:10115] CHIP:DMG:                         {
          [1649245940.789588][10110:10115] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1649245940.789654][10110:10115] CHIP:DMG:                         },
          [1649245940.789719][10110:10115] CHIP:DMG:
          [1649245940.789778][10110:10115] CHIP:DMG:                 },
          [1649245940.789841][10110:10115] CHIP:DMG:
          [1649245940.789885][10110:10115] CHIP:DMG:         ],
          [1649245940.789941][10110:10115] CHIP:DMG:
          [1649245940.789984][10110:10115] CHIP:DMG:         InteractionModelRevision = 1
          [1649245940.790033][10110:10115] CHIP:DMG: }
          [1649245940.790167][10110:10115] CHIP:DMG: WriteClient moving to [AwaitingDe]

          Verify read attribute returns the updated value written

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

          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 3061847068
          [1649245950.006849][10116:10121] CHIP:TOO:   NodeLabel: te5new
          [1649245950.007024][10116:10121] CHIP:EM: Sending Standalone Ack for MessageCounter:12495101 on exchange 24816i
      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: |
          On 2nd controller open commissioning window using ECM

          Below is an example when using chip tool as controller
          ./chip-tool pairing open-commissionig-window 2 1 300 1000 3841

          CHIP: [IN] Prepared encrypted message 0x124012e80 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 50829i with MessageCounter:0.
          [1635693418549] [30519:4583024] CHIP: [IN] Sending encrypted msg 0x124012e80 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 5995099243 msec
          [1635693418549] [30519:4583024] CHIP: [DMG] ICR moving to [CommandSen]
          [1635693418549] [30519:4583024] CHIP: [CTL] Manual pairing code: [34995354639]
          [1635693418550] [30519:4583024] CHIP: [CTL] SetupQRCode: [MT:00000CQM00YND84XX10]
          [1635693418550] [30519:4583024] CHIP: [EM] Sending Standalone Ack for MessageCounter:3441918415 on exchange 50828i
          [1635693418550] [30519:4583024] CHIP: [IN] Prepared plaintext message 0x16b92d198 to 0x0000000000000000 of type 0x10 and protocolId (0, 0) on exchange 50828i with MessageCounter:3727034150.
          [1635693418550] [30519:4583024] CHIP: [IN] Sending plaintext msg 0x16b92d198 with Mes
      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: |
          On 2nd controller, run revoke command

          Below is an example when using chip tool as controller

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


          CHIP: [DMG] InvokeResponseMessage =
          [1648115245106] [6681:3894448] CHIP: [DMG] {
          [1648115245106] [6681:3894448] CHIP: [DMG]         suppressResponse = false,
          [1648115245106] [6681:3894448] CHIP: [DMG]         InvokeResponseIBs =
          [1648115245106] [6681:3894448] CHIP: [DMG]         [
          [1648115245106] [6681:3894448] CHIP: [DMG]                 InvokeResponseIB =
          [1648115245106] [6681:3894448] CHIP: [DMG]                 {
          [1648115245106] [6681:3894448] CHIP: [DMG]                         CommandStatusIB =
          [1648115245106] [6681:3894448] CHIP: [DMG]                         {
          [1648115245106] [6681:3894448] CHIP: [DMG]                                 CommandPathIB =
          [1648115245106] [6681:3894448] CHIP: [DMG]                                 {
          [1648115245106] [6681:3894448] CHIP: [DMG]                                         EndpointId = 0x0,
          [1648115245106] [6681:3894448] CHIP: [DMG]                                         ClusterId = 0x3c,
          [1648115245106] [6681:3894448] CHIP: [DMG]                                         CommandId = 0x2,
          [1648115245106] [6681:3894448] CHIP: [DMG]                                 },
          [1648115245106] [6681:3894448] CHIP: [DMG]
          [1648115245106] [6681:3894448] CHIP: [DMG]                                 StatusIB =
          [1648115245106] [6681:3894448] CHIP: [DMG]                                 {
          [1648115245106] [6681:3894448] CHIP: [DMG]                                         status = 0x0,
          [1648115245106] [6681:3894448] CHIP: [DMG]                                 },
          [1648115245106] [6681:3894448] CHIP: [DMG]
          [1648115245106] [6681:3894448] CHIP: [DMG]                         },
          [1648115245106] [6681:3894448] CHIP: [DMG]
          [1648115245106] [6681:3894448] CHIP: [DMG]                 },
          [1648115245106] [6681:3894448] CHIP: [DMG]
          [1648115245106] [6681:3894448] CHIP: [DMG]         ],
          [1648115245107] [6681:3894448] CHIP: [DMG]
          [1648115245107] [6681:3894448] CHIP: [DMG]         InteractionModelRevision = 1
          [1648115245107] [6681:3894448] CHIP: [DMG] },
          [1648115245107] [6681:3894448] CHIP: [DMG] Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0002 Status=0x0
      disabled: true

    - label:
          "TH_CR3 attempts to execute a PASE to starts a commissioning process
          with TH_CE"
      PICS: CADMIN.C
      verification: |
          On 3rd controller using chip-tool connect using manual code generated from 1st controller. This attempt should fail, i.e

          ./chip-tool pairing code 1  34995354639

          verify you got the following message in the TH 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: |
          On 2nd controller , write attribute and read attribute to and from TH_CE

          Below is the example using chip tool as controller

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

          CHIP:DMG: WriteResponseMessage =
          [1649245940.788522][10110:10115] CHIP:DMG: {
          [1649245940.788577][10110:10115] CHIP:DMG:         AttributeStatusIBs =
          [1649245940.788653][10110:10115] CHIP:DMG:         [
          [1649245940.788713][10110:10115] CHIP:DMG:                 AttributeStatusIB =
          [1649245940.788787][10110:10115] CHIP:DMG:                 {
          [1649245940.788852][10110:10115] CHIP:DMG:                         AttributePathIB =
          [1649245940.788931][10110:10115] CHIP:DMG:                         {
          [1649245940.789009][10110:10115] CHIP:DMG:                                 Endpoint = 0x0,
          [1649245940.789143][10110:10115] CHIP:DMG:                                 Cluster = 0x28,
          [1649245940.789228][10110:10115] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1649245940.789313][10110:10115] CHIP:DMG:                         }
          [1649245940.789388][10110:10115] CHIP:DMG:
          [1649245940.789454][10110:10115] CHIP:DMG:                         StatusIB =
          [1649245940.789519][10110:10115] CHIP:DMG:                         {
          [1649245940.789588][10110:10115] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1649245940.789654][10110:10115] CHIP:DMG:                         },
          [1649245940.789719][10110:10115] CHIP:DMG:
          [1649245940.789778][10110:10115] CHIP:DMG:                 },
          [1649245940.789841][10110:10115] CHIP:DMG:
          [1649245940.789885][10110:10115] CHIP:DMG:         ],
          [1649245940.789941][10110:10115] CHIP:DMG:
          [1649245940.789984][10110:10115] CHIP:DMG:         InteractionModelRevision = 1
          [1649245940.790033][10110:10115] CHIP:DMG: }
          [1649245940.790167][10110:10115] CHIP:DMG: WriteClient moving to [AwaitingDe]

          Verify read attribute returns the updated value written

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

          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 3061847068
          [1649245950.006849][10116:10121] CHIP:TOO:   NodeLabel: te5new
          [1649245950.007024][10116:10121] CHIP:EM: Sending Standalone Ack for MessageCounter:12495101 on exchange 24816i
      disabled: true

    - label:
          "DUT_CR2 sends command to TH_CE to open a commissioning window using
          ECM"
      PICS: CADMIN.C.C00.Tx
      verification: |
          On 2nd controller open commissioning window using ECM

          Below is an example when using chip tool as controller
          ./chip-tool pairing open-commissioning-window 2 1 180 1000 3840

          CHIP: [IN] Prepared encrypted message 0x124012e80 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 50829i with MessageCounter:0.
          [1635693418549] [30519:4583024] CHIP: [IN] Sending encrypted msg 0x124012e80 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 5995099243 msec
          [1635693418549] [30519:4583024] CHIP: [DMG] ICR moving to [CommandSen]
          [1635693418549] [30519:4583024] CHIP: [CTL] Manual pairing code: [34995354639]
          [1635693418550] [30519:4583024] CHIP: [CTL] SetupQRCode: [MT:00000CQM00YND84XX10]
          [1635693418550] [30519:4583024] CHIP: [EM] Sending Standalone Ack for MessageCounter:3441918415 on exchange 50828i
          [1635693418550] [30519:4583024] CHIP: [IN] Prepared plaintext message 0x16b92d198 to 0x0000000000000000 of type 0x10 and protocolId (0, 0) on exchange 50828i with MessageCounter:3727034150.
          [1635693418550] [30519:4583024] CHIP: [IN] Sending plaintext msg 0x16b92d198 with Mes
      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: |
          On 2nd controller open commissioning window using ECM

          Below is an example when using chip tool as controller
          ./chip-tool pairing open-commissionig-window 2 1 300 1000 3840

          CHIP: [IN] Prepared encrypted message 0x124012e80 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 50829i with MessageCounter:0.
          [1635693418549] [30519:4583024] CHIP: [IN] Sending encrypted msg 0x124012e80 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 5995099243 msec
          [1635693418549] [30519:4583024] CHIP: [DMG] ICR moving to [CommandSen]
          [1635693418549] [30519:4583024] CHIP: [CTL] Manual pairing code: [34995354639]
          [1635693418550] [30519:4583024] CHIP: [CTL] SetupQRCode: [MT:00000CQM00YND84XX10]
          [1635693418550] [30519:4583024] CHIP: [EM] Sending Standalone Ack for MessageCounter:3441918415 on exchange 50828i
          [1635693418550] [30519:4583024] CHIP: [IN] Prepared plaintext message 0x16b92d198 to 0x0000000000000000 of type 0x10 and protocolId (0, 0) on exchange 50828i with MessageCounter:3727034150.
          [1635693418550] [30519:4583024] CHIP: [IN] Sending plaintext msg 0x16b92d198 with Mes
      disabled: true

    - label:
          "TH_CR1 starts a commissioning process with TH_CE before the timeout
          from step 15"
      PICS: CADMIN.C
      verification: |
          On 1st controller, using chip-tool connect using manual code.

          Below is the example when using chip tool as controller (considering 34995354639 as the manual code generated by DUT)
          ./chip-tool pairing code 2 34995354639

          [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"

          Verify that the commissioning process fails as TH_CE was already commissioned by TH_CR1 in step 1
      disabled: true
