# 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: 3.2.7. [TC-ACL-2.7] Extension multi-fabric

PICS:
    - ACL.S

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

tests:
    - label: "TH1 commissions DUT using admin node ID N1"
      verification: |
          DUT
          sudo ./chip-all-clusters-app

          TH
          ./chip-tool pairing ble-wifi 1 zigbee-thread matter123 20202021 3841
      disabled: true

    - label:
          "TH1 reads DUT Endpoint 0 OperationalCredentials cluster
          CurrentFabricIndex attribute"
      verification: |
          ./chip-tool operationalcredentials read current-fabric-index 1 0

          On TH, Verify DUT Responds  to CurrentFabricIndex attribute of operationalCredential cluster  as 1

          [1657186774.908634][10846:10851] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0005 DataVersion: 3161849734
          [1657186774.911149][10846:10851] CHIP:TOO:   CurrentFabricIndex: 1
      disabled: true

    - label:
          "TH1 puts DUT into commissioning mode, TH2 commissions DUT using admin
          node ID N2"
      verification: |
          Open a commissioning window on TH1 using below command

          ./chip-tool  pairing open-commissioning-window 1 1 400 2000 3841
          [1657186324.710951][10820:10825] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0000 Status=0x0
          [1657186324.710980][10820:10825] CHIP:CTL: Successfully opened pairing window on the device
          [1657186324.711048][10820:10825] CHIP:CTL: Manual pairing code: [36253605617]
          [1657186324.711108][10820:10825] CHIP:CTL: SetupQRCode: [MT:-24J0IRV01A7TB7E700]


          Commission TH2 to DUT using manualcode generated in TH1 using open commission window

          ./chip-tool pairing code 2 36253605617
          [1657186359.584672][3509:3514] CHIP:CTL: Successfully finished commissioning step "Cleanup"
          [1657186359.584743][3509:3514] CHIP:TOO: Device commissioning completed with success
      disabled: true

    - label:
          "TH2 reads DUT Endpoint 0 OperationalCredentials cluster
          CurrentFabricIndex attribute"
      verification: |
          ./chip-tool operationalcredentials read current-fabric-index 2 0

          On TH, Verify DUT Responds  to CurrentFabricIndex attribute of operationalCredential cluster  as 2
          [1657186956.724761][3910:3915] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0005 DataVersion: 3161849734
          [1657186956.731658][3910:3915] CHIP:TOO:   CurrentFabricIndex: 2
      disabled: true

    - label:
          "TH1 writes DUT Endpoint 0 AccessControl cluster Extension attribute,
          value is list of AccessControlExtensionStruct containing 1 element
          1.struct .Data field: D_OK_EMPTY 1718"
      PICS: ACL.S.A0001
      verification: |
          ./chip-tool accesscontrol write extension "[{"data":"1718"}]" 1 0

          ON TH1,Verify DUT  Responds  Successfully to extension attribute list containg one element .


          657893593.975649][4116:4121] CHIP:DMG:                {
          [1657893593.975678][4116:4121] CHIP:DMG:                        AttributePathIB =
          [1657893593.975718][4116:4121] CHIP:DMG:                        {
          [1657893593.975755][4116:4121] CHIP:DMG:                                Endpoint = 0x0,
          [1657893593.975797][4116:4121] CHIP:DMG:                                Cluster = 0x1f,
          [1657893593.975835][4116:4121] CHIP:DMG:                                Attribute = 0x0000_0001,
          [1657893593.975871][4116:4121] CHIP:DMG:                        }
          [1657893593.975910][4116:4121] CHIP:DMG:
          [1657893593.975944][4116:4121] CHIP:DMG:                        StatusIB =
          [1657893593.975980][4116:4121] CHIP:DMG:                        {
          [1657893593.976015][4116:4121] CHIP:DMG:                                status = 0x00 (SUCCESS),
          [1657893593.976054][4116:4121] CHIP:DMG:                        },
          [1657893593.976088][4116:4121] CHIP:DMG:
          [1657893593.976119][4116:4121] CHIP:DMG:                },
          [1657893593.976161][4116:4121] CHIP:DMG:
          [1657893593.976188][4116:4121] CHIP:DMG:                AttributeStatusIB =
          [1657893593.976220][4116:4121] CHIP:DMG:                {
          [1657893593.976248][4116:4121] CHIP:DMG:                        AttributePathIB =
          [1657893593.976281][4116:4121] CHIP:DMG:                        {
          [1657893593.976316][4116:4121] CHIP:DMG:                                Endpoint = 0x0,
          [1657893593.976354][4116:4121] CHIP:DMG:                                Cluster = 0x1f,
          [1657893593.976395][4116:4121] CHIP:DMG:                                Attribute = 0x0000_0001,
          [1657893593.976434][4116:4121] CHIP:DMG:                                ListIndex = Null,
          [1657893593.976469][4116:4121] CHIP:DMG:                        }
          [1657893593.976507][4116:4121] CHIP:DMG:
          [1657893593.976541][4116:4121] CHIP:DMG:                        StatusIB =
          [1657893593.976574][4116:4121] CHIP:DMG:                        {
          [1657893593.976610][4116:4121] CHIP:DMG:                                status = 0x00 (SUCCESS),
          [1657893593.976645][4116:4121] CHIP:DMG:                        },
          [1657893593.976678][4116:4121] CHIP:DMG:
          [1657893593.976709][4116:4121] CHIP:DMG:                },
          [1657893593.976744][4116:4121] CHIP:DMG:
          [1657893593.976771][4116:4121] CHIP:DMG:        ],
          [1657893593.976808][4116:4121] CHIP:DMG:
          [1657893593.976835][4116:4121] CHIP:D
      disabled: true

    - label:
          "TH2 writes DUT Endpoint 0 AccessControl cluster Extension attribute
          value is list of AccessControlExtensionStruct containing 1 element
          1.struct Data field: D_OK_SINGLE
          17D00000F1FF01003D48656C6C6F20576F726C642E205468697320697320612073696E676C6520656C656D656E74206C6976696E6720617320612063686172737472696E670018"
      PICS: ACL.S.A0001
      verification: |
          ./chip-tool   accesscontrol  write extension "[{"data":"17D00000F1FF01003D48656C6C6F20576F726C642E205468697320697320612073696E676C6520656C656D656E74206C6976696E6720617320612063686172737472696E670018"}]" 2 0

          ON TH2,Verify DUT  Responds  Successfully to extension attribute list containg one element .
          1657894672.479983][2433:2438] CHIP:DMG: WriteClient moving to [ResponseRe]
          [1657894672.480057][2433:2438] CHIP:DMG: WriteResponseMessage =
          [1657894672.480092][2433:2438] CHIP:DMG: {
          [1657894672.480124][2433:2438] CHIP:DMG:         AttributeStatusIBs =
          [1657894672.480175][2433:2438] CHIP:DMG:         [
          [1657894672.480211][2433:2438] CHIP:DMG:                 AttributeStatusIB =
          [1657894672.480251][2433:2438] CHIP:DMG:                 {
          [1657894672.480288][2433:2438] CHIP:DMG:                         AttributePathIB =
          [1657894672.480333][2433:2438] CHIP:DMG:                         {
          [1657894672.480379][2433:2438] CHIP:DMG:                                 Endpoint = 0x0,
          [1657894672.480427][2433:2438] CHIP:DMG:                                 Cluster = 0x1f,
          [1657894672.480476][2433:2438] CHIP:DMG:                                 Attribute = 0x0000_0001,
          [1657894672.480521][2433:2438] CHIP:DMG:                         }
          [1657894672.480570][2433:2438] CHIP:DMG:
          [1657894672.480612][2433:2438] CHIP:DMG:                         StatusIB =
          [1657894672.480657][2433:2438] CHIP:DMG:                         {
          [1657894672.480700][2433:2438] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1657894672.480745][2433:2438] CHIP:DMG:                         },
          [1657894672.480789][2433:2438] CHIP:DMG:
          [1657894672.480826][2433:2438] CHIP:DMG:                 },
          [1657894672.480877][2433:2438] CHIP:DMG:
          [1657894672.480911][2433:2438] CHIP:DMG:                 AttributeStatusIB =
          [1657894672.480949][2433:2438] CHIP:DMG:                 {
          [1657894672.480986][2433:2438] CHIP:DMG:                         AttributePathIB =
          [1657894672.481028][2433:2438] CHIP:DMG:                         {
          [1657894672.481072][2433:2438] CHIP:DMG:                                 Endpoint = 0x0,
          [1657894672.481120][2433:2438] CHIP:DMG:                                 Cluster = 0x1f,
          [1657894672.481168][2433:2438] CHIP:DMG:                                 Attribute = 0x0000_0001,
          [1657894672.481214][2433:2438] CHIP:DMG:                                 ListIndex = Null,
          [1657894672.481258][2433:2438] CHIP:DMG:                         }
          [1657894672.481306][2433:2438] CHIP:DMG:
          [1657894672.481347][2433:2438] CHIP:DMG:                         StatusIB =
          [1657894672.481390][2433:2438] CHIP:DMG:                         {
          [1657894672.481433][2433:2438] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1657894672.481482][2433:2438] CHIP:DMG:                         },
          [1657894672.481526][2433:2438] CHIP:DMG:
          [1657894672.481562][2433:2438] CHIP:DMG:                 },
          [1657894672.481605][2433:2438] CHIP:DMG:
          [1657894672.481639][2433:2438] CHIP:DMG:         ],
          [1657894672.481686][2433:2438] CHIP:DMG:
          [1657894672.481720][2433:2438] CHIP:DMG:         InteractionModelRevision = 1
          [1657894672.481754][2433:2438] CHIP:DMG: }
      disabled: true

    - label:
          "TH1 reads DUT Endpoint 0 AccessControl cluster Extension attribute"
      PICS: ACL.S.A0001
      verification: |
          ./chip-tool accesscontrol read extension 1 0
          On TH1 ,VERIFY DUT RESPONDS SUCCESSFULLY.

          [1657187433.621369][10890:10895] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0001 DataVersion: 3415499944
          [1657187433.621422][10890:10895] CHIP:TOO:   Extension: 1 entries
          [1657187433.621470][10890:10895] CHIP:TOO:     [1]: {
          [1657187433.621498][10890:10895] CHIP:TOO:       Data: 1000110010001100
          [1657187433.621534][10890:10895] CHIP:TOO:       FabricIndex: 1
          [1657187433.621557][10890:10895] CHIP:TOO:      }
      disabled: true

    - label:
          "TH2 reads DUT Endpoint 0 AccessControl cluster Extension attribute"
      PICS: ACL.S.A0001
      verification: |
          ./chip-tool accesscontrol read extension 2 0

          On TH2, Verify DUT Responds successfully
          [1658327214.683199][2749:2754] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0001 DataVersion: 2953114587
          [1658327214.683283][2749:2754] CHIP:TOO:   Extension: 1 entries
          [1658327214.683348][2749:2754] CHIP:TOO:     [1]: {
          [1658327214.683388][2749:2754] CHIP:TOO:       Data: 17D00000F1FF01003D48656C6C6F20576F726C642E205468697320697320612073696E676C6520656C656D656E74206C6976696E6720617320612063686172737472696E670018
          [1658327214.683423][2749:2754] CHIP:TOO:       FabricIndex: 2
          [1658327214.683454][2749:2754] CHIP:TOO:      }
      disabled: true

    - label:
          "TH1 reads DUT Endpoint 0 AccessControl cluster
          AccessControlExtensionChanged event"
      PICS: ACL.S.E01
      verification: |
          ./chip-tool   accesscontrol  read-event  access-control-extension-changed 1 0
          [1658327494.282263][2810:2815] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0001
          [1658327494.282295][2810:2815] CHIP:TOO: 	 Event number: 5
          [1658327494.282319][2810:2815] CHIP:TOO: 	 Priority: Info
          [1658327494.282342][2810:2815] CHIP:TOO: 	 Timestamp: 4621721
          [1658327494.282458][2810:2815] CHIP:TOO:   AccessControlExtensionChanged: {
          [1658327494.282497][2810:2815] CHIP:TOO:     AdminNodeID: 112233
          [1658327494.282524][2810:2815] CHIP:TOO:     AdminPasscodeID: null
          [1658327494.282551][2810:2815] CHIP:TOO:     ChangeType: 1
          [1658327494.282576][2810:2815] CHIP:TOO:     LatestValue: {
          [1658327494.282633][2810:2815] CHIP:TOO:       Data: 1718
          [1658327494.282660][2810:2815] CHIP:TOO:       FabricIndex: 1
          [1658327494.282684][2810:2815] CHIP:TOO:      }
          [1658327494.282709][2810:2815] CHIP:TOO:     AdminFabricIndex: 1
          [1658327494.282733][2810:2815] CHIP:TOO:    }
      disabled: true

    - label:
          "TH2 reads DUT Endpoint 0 AccessControl cluster
          AccessControlExtensionChanged event"
      PICS: ACL.S.E01
      verification: |
          ./chip-tool accesscontrol read-event access-control-extension-changed  2 0
          On TH2, Verify DUT Responds successfully

          [1658327551.622018][4295:4300] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0001
          [1658327551.622043][4295:4300] CHIP:TOO:          Event number: 6
          [1658327551.622065][4295:4300] CHIP:TOO:          Priority: Info
          [1658327551.622130][4295:4300] CHIP:TOO:          Timestamp: 4633724
          [1658327551.622239][4295:4300] CHIP:TOO:   AccessControlExtensionChanged: {
          [1658327551.622287][4295:4300] CHIP:TOO:     AdminNodeID: 112233
          [1658327551.622313][4295:4300] CHIP:TOO:     AdminPasscodeID: null
          [1658327551.622337][4295:4300] CHIP:TOO:     ChangeType: 1
          [1658327551.622361][4295:4300] CHIP:TOO:     LatestValue: {
          [1658327551.622389][4295:4300] CHIP:TOO:       Data: 17D00000F1FF01003D48656C6C6F20576F726C642E205468697320697320612073696E676C6520656C656D656E74206C6976696E6720617320612063686172737472696E670018
          [1658327551.622414][4295:4300] CHIP:TOO:       FabricIndex: 2
          [1658327551.622436][4295:4300] CHIP:TOO:      }
          [1658327551.622459][4295:4300] CHIP:TOO:     AdminFabricIndex: 2
          [1658327551.622480][4295:4300] CHIP:TOO:    }
      disabled: true
