| # 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: 133.2.3. [TC-ACL-2.4] Extension attribute |
| |
| PICS: |
| - ACL.S |
| |
| config: |
| nodeId: 0x12344321 |
| cluster: "Access Control" |
| endpoint: 0 |
| CommissionerNodeId: |
| type: node_id |
| defaultValue: 112233 |
| CAT1: |
| type: int64u |
| defaultValue: 65520 |
| CAT2: |
| type: int64u |
| defaultValue: 65521 |
| CAT3: |
| type: int64u |
| defaultValue: 65522 |
| CAT4: |
| type: int64u |
| defaultValue: 65523 |
| |
| tests: |
| - label: "Step 1:Wait for the commissioned device to be retrieved" |
| cluster: "DelayCommands" |
| command: "WaitForCommissionee" |
| arguments: |
| values: |
| - name: "nodeId" |
| value: nodeId |
| |
| - label: |
| "Step 2:TH1 reads DUT Endpoint 0 OperationalCredentials cluster |
| CurrentFabricIndex attribute" |
| command: "readAttribute" |
| cluster: "Operational Credentials" |
| attribute: "CurrentFabricIndex" |
| response: |
| saveAs: CurrentFabricIndex |
| |
| - label: |
| "Step 3:TH1 reads DUT Endpoint 0 AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "ACL" |
| response: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: |
| "Step 4:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, |
| value is list of AccessControlEntryStruct containing 3 elements |
| 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) |
| Subjects field: [N1] Targets field: null 2 . struct Privilege field: |
| View (1) AuthMode field: CASE (3) Subjects field: [111, 222, 333, 444] |
| Targets field: [{Cluster: 11}, {Endpoint: 22}] 3..struct Privilege |
| field: Operate (3) AuthMode field: Group (3) Subjects field: [555, |
| 666, 777, 888] Targets field: [{Cluster: 55}, {Endpoint: 66}]" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 1, |
| AuthMode: 3, |
| Subjects: [111, 222, 333, 444], |
| Targets: |
| [{ Cluster: 11, Endpoint: 22, DeviceType: null }], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 3, |
| Subjects: [555, 666, 777, 888], |
| Targets: |
| [{ Cluster: 55, Endpoint: 66, DeviceType: null }], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: |
| "Step 5:TH1 reads DUT Endpoint 0 AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "ACL" |
| response: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 1, |
| AuthMode: 3, |
| Subjects: [111, 222, 333, 444], |
| Targets: |
| [{ Cluster: 11, Endpoint: 22, DeviceType: null }], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 3, |
| Subjects: [555, 666, 777, 888], |
| Targets: |
| [{ Cluster: 55, Endpoint: 66, DeviceType: null }], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: |
| "Step 6:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, |
| value is list of AccessControlEntryStruct containing 3 elements |
| 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) |
| Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| Manage (4) AuthMode field: Group (3) Subjects field: [444, 333, 222, |
| 111] Targets field: [{Cluster: 44}, {Endpoint: 33}] 3.struct Privilege |
| field: Administer (5) AuthMode field: CASE (2) Subjects field: [888, |
| 777, 666, 555] Targets field: [{Cluster: 88}, {Endpoint: 77}]" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 4, |
| AuthMode: 3, |
| Subjects: [444, 333, 222, 111], |
| Targets: |
| [{ Cluster: 44, Endpoint: 33, DeviceType: null }], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [888, 777, 666, 555], |
| Targets: |
| [{ Cluster: 88, Endpoint: 77, DeviceType: null }], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: |
| "Step 7:TH1 reads DUT Endpoint 0 AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "ACL" |
| response: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 4, |
| AuthMode: 3, |
| Subjects: [444, 333, 222, 111], |
| Targets: |
| [{ Cluster: 44, Endpoint: 33, DeviceType: null }], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [888, 777, 666, 555], |
| Targets: |
| [{ Cluster: 88, Endpoint: 77, DeviceType: null }], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: |
| "Step 8:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, |
| value is list of AccessControlEntryStruct containing 3 elements |
| 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) |
| Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| View (1) AuthMode field: CASE (2) Subjects field: [111, 222, 333, 444] |
| Targets field: [{Cluster: 11, Endpoint: 22}, {Cluster: 33, DeviceType: |
| 44}] 3.struct Privilege field: Operate (3) AuthMode field: Group (3) |
| Subjects field: [555, 666, 777, 888] Targets field: [{Cluster: 55, |
| Endpoint: 66}, {Cluster: 77, DeviceType: 88}]" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 1, |
| AuthMode: 2, |
| Subjects: [111, 222, 333, 444], |
| Targets: |
| [ |
| { Cluster: 11, Endpoint: 22, DeviceType: null }, |
| { Cluster: 33, Endpoint: null, DeviceType: 44 }, |
| ], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 3, |
| Subjects: [555, 666, 777, 888], |
| Targets: |
| [ |
| { Cluster: 55, Endpoint: 66, DeviceType: null }, |
| { Cluster: 77, Endpoint: null, DeviceType: 88 }, |
| ], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: "Step 9:TH1 reads AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "ACL" |
| response: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 1, |
| AuthMode: 2, |
| Subjects: [111, 222, 333, 444], |
| Targets: |
| [ |
| { Cluster: 11, Endpoint: 22, DeviceType: null }, |
| { Cluster: 33, Endpoint: null, DeviceType: 44 }, |
| ], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 3, |
| Subjects: [555, 666, 777, 888], |
| Targets: |
| [ |
| { Cluster: 55, Endpoint: 66, DeviceType: null }, |
| { Cluster: 77, Endpoint: null, DeviceType: 88 }, |
| ], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: |
| "Step 10:TH1 writes DUT Endpoint 0 AccessControl cluster ACL |
| attribute, value is list of AccessControlEntryStruct containing 3 |
| elements 1.struct Privilege field: Administer (5) AuthMode field: CASE |
| (2) Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| View (1) AuthMode field: CASE (2) Subjects field: null Targets field: |
| [{Cluster: 11, Endpoint: 22}, {Cluster: 33, DeviceType: 44}] 3.struct |
| Privilege field: Operate (3) AuthMode field: Group (3) Subjects field: |
| null Targets field: [{Cluster: 55, Endpoint: 66}, {Cluster: 77, |
| DeviceType: 88}]" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 1, |
| AuthMode: 2, |
| Subjects: null, |
| Targets: |
| [ |
| { Cluster: 11, Endpoint: 22, DeviceType: null }, |
| { Cluster: 33, Endpoint: null, DeviceType: 44 }, |
| ], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 3, |
| Subjects: null, |
| Targets: |
| [ |
| { Cluster: 55, Endpoint: 66, DeviceType: null }, |
| { Cluster: 77, Endpoint: null, DeviceType: 88 }, |
| ], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: "Step 11:TH1 reads AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "ACL" |
| response: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 1, |
| AuthMode: 2, |
| Subjects: null, |
| Targets: |
| [ |
| { Cluster: 11, Endpoint: 22, DeviceType: null }, |
| { Cluster: 33, Endpoint: null, DeviceType: 44 }, |
| ], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 3, |
| Subjects: null, |
| Targets: |
| [ |
| { Cluster: 55, Endpoint: 66, DeviceType: null }, |
| { Cluster: 77, Endpoint: null, DeviceType: 88 }, |
| ], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: |
| "Step 12:TH1 writes DUT Endpoint 0 AccessControl cluster ACL |
| attribute, value is list of AccessControlEntryStruct containing 3 |
| elements 1.struct Privilege field: Administer (5) AuthMode field: CASE |
| (2) Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| View (1) AuthMode field: CASE (2) Subjects field: [111, 222, 333, 444] |
| Targets field: null 3.struct Privilege field: Operate (3) AuthMode |
| field: Group (3) Subjects field: [555, 666, 777, 888] Targets field: |
| null" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 1, |
| AuthMode: 2, |
| Subjects: [111, 222, 333, 444], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 3, |
| Subjects: [555, 666, 777, 888], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: "Step 13:TH1 reads AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "ACL" |
| response: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 1, |
| AuthMode: 2, |
| Subjects: [111, 222, 333, 444], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 3, |
| Subjects: [555, 666, 777, 888], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: |
| "Step 14:TH1 writes DUT Endpoint 0 AccessControl cluster ACL |
| attribute, value is list of AccessControlEntryStruct containing 2 |
| elements 1.struct Privilege field: Administer (5) AuthMode field: CASE |
| (2) Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| Operate (3) AuthMode field: Group (3) Subjects field: null Targets |
| field: null" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 3, |
| Subjects: null, |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: "Step 15:TH1 reads AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "ACL" |
| response: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 3, |
| Subjects: null, |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: |
| "Step 16:TH1 writes DUT Endpoint 0 AccessControl cluster ACL |
| attribute, value is list of AccessControlEntryStruct containing 2 |
| elements 1.struct Privilege field: Administer (5) AuthMode field: CASE |
| (2) Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| ProxyView (2) AuthMode field: CASE (2) Subjects field: null Targets |
| field: null" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 2, |
| AuthMode: 2, |
| Subjects: null, |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: "Step 17:TH1 reads AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "ACL" |
| response: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 2, |
| AuthMode: 2, |
| Subjects: null, |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: |
| "Step 18:TH1 reads DUT AccessControl cluster |
| SubjectsPerAccessControlEntry attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "SubjectsPerAccessControlEntry" |
| response: |
| saveAs: MAXSUBJECTS |
| |
| #Issue https://github.com/project-chip/connectedhomeip/issues/16719 |
| - label: |
| "Step 19:TH1 writes DUT Endpoint 0 AccessControl cluster ACL |
| attribute, value is list of AccessControlEntryStruct containing 2 |
| elements 1.struct Privilege field: Administer (5) AuthMode field: CASE |
| (2) Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| Operate (3) AuthMode field: CASE (2) Subjects field: list of |
| MAXSUBJECTS random node IDs (stored as SUBJECTS) Targets field: null" |
| PICS: ACL.S.A0000 && PICS_SKIP_SAMPLE_APP |
| verification: | |
| ./chip-tool accesscontrol write acl '[{ "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, { "privilege": 3, "authMode": 2, "subjects":[33,44,55,66] , "targets": null}]' 1 0 |
| On TH1(Chiptool), Verify that the status is success when writing the AccessControl cluster ACL attribute with a value is list of AccessControlEntryStruct containing 2 elements as Subject as SUBJECTS and Target as null |
| |
| |
| |
| [1657542321.144954][3461:3466] CHIP:DMG: { |
| [1657542321.144990][3461:3466] CHIP:DMG: AttributeStatusIBs = |
| [1657542321.145038][3461:3466] CHIP:DMG: [ |
| [1657542321.145082][3461:3466] CHIP:DMG: AttributeStatusIB = |
| [1657542321.145128][3461:3466] CHIP:DMG: { |
| [1657542321.145170][3461:3466] CHIP:DMG: AttributePathIB = |
| [1657542321.145219][3461:3466] CHIP:DMG: { |
| [1657542321.145273][3461:3466] CHIP:DMG: Endpoint = 0x0, |
| [1657542321.145327][3461:3466] CHIP:DMG: Cluster = 0x1f, |
| [1657542321.145382][3461:3466] CHIP:DMG: Attribute = 0x0000_0000, |
| [1657542321.145428][3461:3466] CHIP:DMG: } |
| [1657542321.145484][3461:3466] CHIP:DMG: |
| [1657542321.145531][3461:3466] CHIP:DMG: StatusIB = |
| [1657542321.145583][3461:3466] CHIP:DMG: { |
| [1657542321.145633][3461:3466] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1657542321.145684][3461:3466] CHIP:DMG: }, |
| [1657542321.145730][3461:3466] CHIP:DMG: |
| [1657542321.145774][3461:3466] CHIP:DMG: }, |
| [1657542321.145831][3461:3466] CHIP:DMG: |
| [1657542321.145870][3461:3466] CHIP:DMG: AttributeStatusIB = |
| [1657542321.145912][3461:3466] CHIP:DMG: { |
| [1657542321.145954][3461:3466] CHIP:DMG: AttributePathIB = |
| [1657542321.146001][3461:3466] CHIP:DMG: { |
| [1657542321.146052][3461:3466] CHIP:DMG: Endpoint = 0x0, |
| [1657542321.146111][3461:3466] CHIP:DMG: Cluster = 0x1f, |
| [1657542321.146166][3461:3466] CHIP:DMG: Attribute = 0x0000_0000, |
| [1657542321.146218][3461:3466] CHIP:DMG: ListIndex = Null, |
| [1657542321.146267][3461:3466] CHIP:DMG: } |
| [1657542321.146321][3461:3466] CHIP:DMG: |
| [1657542321.146374][3461:3466] CHIP:DMG: StatusIB = |
| [1657542321.146423][3461:3466] CHIP:DMG: { |
| [1657542321.146472][3461:3466] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1657542321.146523][3461:3466] CHIP:DMG: }, |
| [1657542321.146573][3461:3466] CHIP:DMG: |
| [1657542321.146614][3461:3466] CHIP:DMG: }, |
| [1657542321.146670][3461:3466] CHIP:DMG: |
| [1657542321.146709][3461:3466] CHIP:DMG: AttributeStatusIB = |
| [1657542321.146751][3461:3466] CHIP:DMG: { |
| [1657542321.146792][3461:3466] CHIP:DMG: AttributePathIB = |
| [1657542321.146840][3461:3466] CHIP:DMG: { |
| [1657542321.146890][3461:3466] CHIP:DMG: Endpoint = 0x0, |
| [1657542321.146943][3461:3466] CHIP:DMG: Cluster = 0x1f, |
| [1657542321.146997][3461:3466] CHIP:DMG: Attribute = 0x0000_0000, |
| [1657542321.147049][3461:3466] CHIP:DMG: ListIndex = Null, |
| [1657542321.147099][3461:3466] CHIP:DMG: } |
| [1657542321.147152][3461:3466] CHIP:DMG: |
| [1657542321.147204][3461:3466] CHIP:DMG: StatusIB = |
| [1657542321.147254][3461:3466] CHIP:DMG: { |
| [1657542321.147302][3461:3466] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1657542321.147354][3461:3466] CHIP:DMG: }, |
| [1657542321.147403][3461:3466] CHIP:DMG: |
| [1657542321.147443][3461:3466] CHIP:DMG: }, |
| [1657542321.147490][3461:3466] CHIP:DMG: |
| [1657542321.147528][3461:3466] CHIP:DMG: ], |
| [1657542321.147586][3461:3466] CHIP:DMG: |
| [1657542321.147625][3461:3466] CHIP:DMG: InteractionModelRevision = 1 |
| [1657542321.147663][3461:3466] CHIP:DMG: } |
| [1657542321.147865][3461:3466] CHIP:DMG: WriteClient moving to [AwaitingDe] |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| arguments: |
| values: |
| - name: "message" |
| value: "Enter 'y' after success" |
| - name: "expectedValue" |
| value: "y" |
| |
| #Issue https://github.com/project-chip/connectedhomeip/issues/16719 |
| - label: "Step 20:TH1 reads AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 && PICS_SKIP_SAMPLE_APP |
| verification: | |
| ./chip-tool accesscontrol read acl 1 0 |
| |
| On TH1(Chiptool) , Verify that the AccessControlEntryStruct contains 2 elements with Subject as SUBJECTS and Target as null |
| [1656928460.992030][4255:4260] CHIP:DMG: ], |
| [1656928460.992075][4255:4260] CHIP:DMG: |
| [1656928460.992101][4255:4260] CHIP:DMG: SuppressResponse = true, |
| [1656928460.992126][4255:4260] CHIP:DMG: InteractionModelRevision = 1 |
| [1656928460.992149][4255:4260] CHIP:DMG: } |
| [1656928460.992513][4255:4260] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 1070401481 |
| [1656928460.992588][4255:4260] CHIP:TOO: ACL: 2 entries |
| [1656928460.992647][4255:4260] CHIP:TOO: [1]: { |
| [1656928460.992687][4255:4260] CHIP:TOO: Privilege: 5 |
| [1656928460.992712][4255:4260] CHIP:TOO: AuthMode: 2 |
| [1656928460.992738][4255:4260] CHIP:TOO: Subjects: 1 entries |
| [1656928460.992767][4255:4260] CHIP:TOO: [1]: 112233 |
| [1656928460.992794][4255:4260] CHIP:TOO: Targets: null |
| [1656928460.992817][4255:4260] CHIP:TOO: FabricIndex: 1 |
| [1656928460.992840][4255:4260] CHIP:TOO: } |
| [1656928460.992873][4255:4260] CHIP:TOO: [2]: { |
| [1656928460.992896][4255:4260] CHIP:TOO: Privilege: 3 |
| [1656928460.992918][4255:4260] CHIP:TOO: AuthMode: 2 |
| [1656928460.992945][4255:4260] CHIP:TOO: Subjects: 4 entries |
| [1656928460.992971][4255:4260] CHIP:TOO: [1]: 33 |
| [1656928460.992995][4255:4260] CHIP:TOO: [2]: 44 |
| [1656928460.993020][4255:4260] CHIP:TOO: [3]: 55 |
| [1656928460.993045][4255:4260] CHIP:TOO: [4]: 66 |
| [1656928460.993069][4255:4260] CHIP:TOO: Targets: null |
| [1656928460.993091][4255:4260] CHIP:TOO: FabricIndex: 1 |
| [1656928460.993113][4255:4260] CHIP:TOO: } |
| [1656928460.993204][4255:4260] CHIP:EM: Sending Standalone Ack for MessageCounter:154962728 on exchange 64378i |
| [1656928460.993291][4255:4260] CHIP:IN: Prepared secure message 0xffffad69f958 to 0x0000000000000001 (1) o |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| arguments: |
| values: |
| - name: "message" |
| value: "Enter 'y' after success" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: |
| "Step 21:TH1 writes DUT Endpoint 0 AccessControl cluster ACL |
| attribute, value is list of AccessControlEntryStruct containing 2 |
| elements 1.struct Privilege field: Administer (5) AuthMode field: CASE |
| (2) Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| Operate (3) AuthMode field: CASE (2) Subjects field: [CAT1, CAT2, |
| CAT3, CAT4] Targets field: null" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: [CAT1, CAT2, CAT3, CAT4], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: "Step 22:TH1 reads AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "ACL" |
| response: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: [CAT1, CAT2, CAT3, CAT4], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: |
| "Step 23:TH1 reads AccessControl cluster TargetsPerAccessControlEntry |
| attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "TargetsPerAccessControlEntry" |
| response: |
| saveAs: TargetsPerAccessControlEntry |
| |
| #Need if support : https://github.com/project-chip/connectedhomeip/issues/16719 |
| - label: |
| "Step 24:TH1 writes DUT Endpoint 0 AccessControl cluster ACL |
| attribute, value is list of AccessControlEntryStruct containing 2 |
| elements 1.struct Privilege field: Administer (5) AuthMode field: CASE |
| (2) Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| Operate (3) AuthMode field: CASE (2) Subjects field:null Targets |
| field: list of MAXTARGETS targets {Cluster: random} (stored as |
| TARGETS)" |
| PICS: ACL.S.A0000 && PICS_SKIP_SAMPLE_APP |
| verification: | |
| ./chip-tool accesscontrol write acl '[{ "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, { "privilege": 3, "authMode": 2, "subjects": null, "targets":[{ "cluster": 40, "endpoint": null, "deviceType": null },{ "cluster": 28, "endpoint": null, "deviceType": null }]}]' 1 0 |
| |
| On TH1(Chiptool), Verify that the status is success when writing the AccessControl cluster ACL attribute with a value is list of AccessControlEntryStruct containing 2 elements with Subjects as null and and Target as TARGETS |
| |
| [1657542520.140869][3499:3504] CHIP:DMG: { |
| [1657542520.140922][3499:3504] CHIP:DMG: AttributeStatusIBs = |
| [1657542520.140966][3499:3504] CHIP:DMG: [ |
| [1657542520.140999][3499:3504] CHIP:DMG: AttributeStatusIB = |
| [1657542520.141036][3499:3504] CHIP:DMG: { |
| [1657542520.141077][3499:3504] CHIP:DMG: AttributePathIB = |
| [1657542520.141119][3499:3504] CHIP:DMG: { |
| [1657542520.141163][3499:3504] CHIP:DMG: Endpoint = 0x0, |
| [1657542520.141207][3499:3504] CHIP:DMG: Cluster = 0x1f, |
| [1657542520.141255][3499:3504] CHIP:DMG: Attribute = 0x0000_0000, |
| [1657542520.141300][3499:3504] CHIP:DMG: } |
| [1657542520.141346][3499:3504] CHIP:DMG: |
| [1657542520.141385][3499:3504] CHIP:DMG: StatusIB = |
| [1657542520.141426][3499:3504] CHIP:DMG: { |
| [1657542520.141468][3499:3504] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1657542520.141509][3499:3504] CHIP:DMG: }, |
| [1657542520.141550][3499:3504] CHIP:DMG: |
| [1657542520.141584][3499:3504] CHIP:DMG: }, |
| [1657542520.141630][3499:3504] CHIP:DMG: |
| [1657542520.141663][3499:3504] CHIP:DMG: AttributeStatusIB = |
| [1657542520.141697][3499:3504] CHIP:DMG: { |
| [1657542520.141731][3499:3504] CHIP:DMG: AttributePathIB = |
| [1657542520.141770][3499:3504] CHIP:DMG: { |
| [1657542520.141811][3499:3504] CHIP:DMG: Endpoint = 0x0, |
| [1657542520.141855][3499:3504] CHIP:DMG: Cluster = 0x1f, |
| [1657542520.141940][3499:3504] CHIP:DMG: Attribute = 0x0000_0000, |
| [1657542520.142024][3499:3504] CHIP:DMG: ListIndex = Null, |
| [1657542520.142106][3499:3504] CHIP:DMG: } |
| [1662015973.912273][3126:3132] CHIP:DMG: { |
| [1662015973.912301][3126:3132] CHIP:DMG: AttributeStatusIBs = |
| [1662015973.912375][3126:3132] CHIP:DMG: [ |
| [1662015973.912409][3126:3132] CHIP:DMG: AttributeStatusIB = |
| [1662015973.912452][3126:3132] CHIP:DMG: { |
| [1662015973.912488][3126:3132] CHIP:DMG: AttributePathIB = |
| [1662015973.912534][3126:3132] CHIP:DMG: { |
| [1662015973.912577][3126:3132] CHIP:DMG: Endpoint = 0x0, |
| [1662015973.912640][3126:3132] CHIP:DMG: Cluster = 0x1f, |
| [1662015973.912687][3126:3132] CHIP:DMG: Attribute = 0x0000_0000, |
| [1662015973.912743][3126:3132] CHIP:DMG: } |
| [1662015973.912792][3126:3132] CHIP:DMG: |
| [1662015973.912849][3126:3132] CHIP:DMG: StatusIB = |
| [1662015973.912893][3126:3132] CHIP:DMG: { |
| [1662015973.912948][3126:3132] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1662015973.912992][3126:3132] CHIP:DMG: }, |
| [1662015973.913046][3126:3132] CHIP:DMG: |
| [1662015973.913082][3126:3132] CHIP:DMG: }, |
| [1662015973.913142][3126:3132] CHIP:DMG: |
| [1662015973.913173][3126:3132] CHIP:DMG: AttributeStatusIB = |
| [1662015973.913225][3126:3132] CHIP:DMG: { |
| [1662015973.913260][3126:3132] CHIP:DMG: AttributePathIB = |
| [1662015973.913315][3126:3132] CHIP:DMG: { |
| [1662015973.913360][3126:3132] CHIP:DMG: Endpoint = 0x0, |
| [1662015973.913421][3126:3132] CHIP:DMG: Cluster = 0x1f, |
| [1662015973.913465][3126:3132] CHIP:DMG: Attribute = 0x0000_0000, |
| [1662015973.913518][3126:3132] CHIP:DMG: ListIndex = Null, |
| [1662015973.913561][3126:3132] CHIP:DMG: } |
| [1662015973.913622][3126:3132] CHIP:DMG: |
| [1662015973.913662][3126:3132] CHIP:DMG: StatusIB = |
| [1662015973.913716][3126:3132] CHIP:DMG: { |
| [1662015973.913759][3126:3132] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1662015973.913814][3126:3132] CHIP:DMG: }, |
| [1662015973.913855][3126:3132] CHIP:DMG: |
| [1662015973.913902][3126:3132] CHIP:DMG: }, |
| [1662015973.913952][3126:3132] CHIP:DMG: |
| [1662015973.913983][3126:3132] CHIP:DMG: AttributeStatusIB = |
| [1662015973.914021][3126:3132] CHIP:DMG: { |
| [1662015973.914056][3126:3132] CHIP:DMG: AttributePathIB = |
| [1662015973.914095][3126:3132] CHIP:DMG: { |
| [1662015973.914139][3126:3132] CHIP:DMG: Endpoint = 0x0, |
| [1662015973.914183][3126:3132] CHIP:DMG: Cluster = 0x1f, |
| [1662015973.914228][3126:3132] CHIP:DMG: Attribute = 0x0000_0000, |
| [1662015973.914270][3126:3132] CHIP:DMG: ListIndex = Null, |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| arguments: |
| values: |
| - name: "message" |
| value: "Enter 'y' after success" |
| - name: "expectedValue" |
| value: "y" |
| |
| #Issue : https://github.com/project-chip/connectedhomeip/issues/16719 |
| - label: "Step 25:TH1 reads AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 && PICS_SKIP_SAMPLE_APP |
| verification: | |
| ./chip-tool accesscontrol read acl 1 0 |
| On TH1(Chiptool) , Verify that the AccessControlEntryStruct contains 2 elements with Subjects as null and and Target as TARGETS |
| |
| [1662016086.501582][3138:3143] CHIP:TOO: ACL: 2 entries |
| [1662016086.501643][3138:3143] CHIP:TOO: [1]: { |
| [1662016086.501673][3138:3143] CHIP:TOO: Privilege: 5 |
| [1662016086.501698][3138:3143] CHIP:TOO: AuthMode: 2 |
| [1662016086.501727][3138:3143] CHIP:TOO: Subjects: 1 entries |
| [1662016086.501758][3138:3143] CHIP:TOO: [1]: 112233 |
| [1662016086.501786][3138:3143] CHIP:TOO: Targets: null |
| [1662016086.501811][3138:3143] CHIP:TOO: FabricIndex: 1 |
| [1662016086.501835][3138:3143] CHIP:TOO: } |
| [1662016086.501873][3138:3143] CHIP:TOO: [2]: { |
| [1662016086.501899][3138:3143] CHIP:TOO: Privilege: 3 |
| [1662016086.501924][3138:3143] CHIP:TOO: AuthMode: 2 |
| [1662016086.501948][3138:3143] CHIP:TOO: Subjects: null |
| [1662016086.501979][3138:3143] CHIP:TOO: Targets: 2 entries |
| [1662016086.502016][3138:3143] CHIP:TOO: [1]: { |
| [1662016086.502043][3138:3143] CHIP:TOO: Cluster: 40 |
| [1662016086.502069][3138:3143] CHIP:TOO: Endpoint: null |
| [1662016086.502094][3138:3143] CHIP:TOO: DeviceType: null |
| [1662016086.502117][3138:3143] CHIP:TOO: } |
| [1662016086.502148][3138:3143] CHIP:TOO: [2]: { |
| [1662016086.502174][3138:3143] CHIP:TOO: Cluster: 28 |
| [1662016086.502198][3138:3143] CHIP:TOO: Endpoint: null |
| [1662016086.502223][3138:3143] CHIP:TOO: DeviceType: null |
| [1662016086.502247][3138:3143] CHIP:TOO: } |
| [1662016086.502273][3138:3143] CHIP:TOO: FabricIndex: 1 |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| arguments: |
| values: |
| - name: "message" |
| value: "Enter 'y' after success" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: |
| "Step 26:TH1 reads AccessControl cluster AccessControlEntriesPerFabric |
| attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "AccessControlEntriesPerFabric" |
| response: |
| saveAs: MAXENTRIES |
| |
| - label: |
| "Step 27:TH1 writes DUT Endpoint 0 AccessControl cluster ACL |
| attribute, value is list of AccessControlEntryStruct containing |
| MAXENTRIES elements 1.struct Privilege field: Administer (5) AuthMode |
| field: CASE (2) Subjects field: [N1] Targets field: null 2.struct |
| Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field: |
| null Targets field: null subsequent elements same as second element" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: null, |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: null, |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: "Step 28:TH1 reads AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "ACL" |
| response: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: null, |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: null, |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: |
| "Step 29:TH1 writes DUT Endpoint 0 AccessControl cluster ACL |
| attribute, value is list of AccessControlEntryStruct containing 2 |
| elements 1.struct Privilege field: Administer (5) AuthMode field: CASE |
| (2) Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| Operate (3) AuthMode field: PASE (1) Subjects field: null Targets |
| field: null" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 1, |
| Subjects: null, |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| response: |
| error: CONSTRAINT_ERROR |
| |
| - label: "Step 30:TH1 reads AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "ACL" |
| response: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| |
| - label: |
| "Step 31:TH1 writes DUT Endpoint 0 AccessControl cluster ACL |
| attribute, value is list of AccessControlEntryStruct containing 2 |
| elements 1.struct Privilege field: Administer (5) AuthMode field: CASE |
| (2) Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| Administer (5) AuthMode field: Group (3) Subjects field: null Targets |
| field: null" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 5, |
| AuthMode: 3, |
| Subjects: null, |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| response: |
| error: CONSTRAINT_ERROR |
| |
| - label: |
| "Step 32:TH1 writes DUT Endpoint 0 AccessControl cluster ACL |
| attribute, value is list of AccessControlEntryStruct containing 2 |
| elements 1.struct Privilege field: Administer (5) AuthMode field: CASE |
| (2) Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| invalid value (not 1-5) AuthMode field: CASE (2) Subjects field: null |
| Targets field: null" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: "6", |
| AuthMode: 3, |
| Subjects: null, |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| response: |
| error: CONSTRAINT_ERROR |
| |
| - label: |
| "Step 33:TH1 writes AccessControl cluster ACL attribute, value is list |
| of AccessControlEntryStruct containing 2 elements" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: "6", |
| AuthMode: "4", |
| Subjects: null, |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| response: |
| error: CONSTRAINT_ERROR |
| |
| - label: |
| "Step 34:TH1 writes AccessControl cluster ACL attribute, value is list |
| of AccessControlEntryStruct containing 2 elements" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: [0], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| response: |
| error: CONSTRAINT_ERROR |
| |
| - label: |
| "Step 35:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute |
| value is list of AccessControlEntryStruct containing 2 elements |
| 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) |
| Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| Operate (3) AuthMode field: CASE (2) Subjects field: |
| [0xFFFFFFFFFFFFFFFF] Targets field: null" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: ["18446744073709551615"], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| response: |
| error: CONSTRAINT_ERROR |
| |
| - label: |
| "Step 36:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute |
| value is list of AccessControlEntryStruct containing 2 elements |
| 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) |
| Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| Operate (3) AuthMode field: CASE (2) Subjects field: |
| [0xFFFFFFFD00000000] Targets field: null" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: ["18446744060824649728"], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| response: |
| error: CONSTRAINT_ERROR |
| |
| - label: |
| "Step 37:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute |
| value is list of AccessControlEntryStruct containing 2 elements struct |
| Privilege field: Administer (5) AuthMode field: CASE (2) Subjects |
| field: [N1] Targets field: null struct Privilege field: Operate (3) |
| AuthMode field: CASE (2) Subjects field: [0xFFFFFFFFFFFF0000] Targets |
| field: null" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: ["18446744073709486080"], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| response: |
| error: CONSTRAINT_ERROR |
| |
| - label: |
| "Step 38:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute |
| value is list of AccessControlEntryStruct containing 2 elements |
| 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) |
| Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| Operate (3) AuthMode field: CASE (2) Subjects field: null Targets |
| field: [{}]" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: null, |
| Targets: |
| [{ Cluster: null, Endpoint: null, DeviceType: null }], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| response: |
| error: CONSTRAINT_ERROR |
| |
| - label: |
| "Step 39:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute |
| value is list of AccessControlEntryStruct containing 2 elements |
| 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) |
| Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| Operate (3) AuthMode field: CASE (2) Subjects field: null Targets |
| field: [{Cluster: 0xFFFFFFFF}]" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: null, |
| Targets: |
| [ |
| { |
| Cluster: 4294967295, |
| Endpoint: null, |
| DeviceType: null, |
| }, |
| ], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| response: |
| error: CONSTRAINT_ERROR |
| |
| - label: |
| "Step 40:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute |
| value is list of AccessControlEntryStruct containing 2 elements 1. |
| struct Privilege field: Administer (5) AuthMode field: CASE |
| (2) Subjects field: [N1] Targets field: null 2. struct Privilege |
| field: Operate (3) AuthMode field: CASE (2) Subjects field: |
| null Targets field: [{Endpoint: 65535}]" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: null, |
| Targets: |
| [ |
| { |
| Cluster: null, |
| Endpoint: 65535, |
| DeviceType: null, |
| }, |
| ], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| response: |
| error: CONSTRAINT_ERROR |
| |
| - label: |
| "Step 41:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute |
| value is list of AccessControlEntryStruct containing 2 elements |
| 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) |
| Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| Operate (3) AuthMode field: CASE (2) Subjects field: null Targets |
| field: [{DeviceType: 0xFFFFFFFF}]" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: null, |
| Targets: |
| [ |
| { |
| Cluster: null, |
| Endpoint: null, |
| DeviceType: 4294967295, |
| }, |
| ], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| response: |
| error: CONSTRAINT_ERROR |
| |
| - label: |
| "Step 42:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute |
| value is list of AccessControlEntryStruct containing 2 elements |
| 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) |
| Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| Operate (3) AuthMode field: CASE (2) Subjects field: null Targets |
| field: [{Endpoint: 22, DeviceType: 33}]" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: null, |
| Targets: |
| [{ Cluster: null, Endpoint: 22, DeviceType: 33 }], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| response: |
| error: CONSTRAINT_ERROR |
| |
| - label: |
| "Step 43:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute |
| value is list of AccessControlEntryStruct containing 2 elements |
| 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) |
| Subjects field: [N1] Targets field: null 2.struct Privilege field: |
| Operate (3) AuthMode field: CASE (2) Subjects field: null Targets |
| field: [{Cluster: 11, Endpoint: 22, DeviceType: 33}]" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [CommissionerNodeId], |
| Targets: null, |
| FabricIndex: CurrentFabricIndex, |
| }, |
| { |
| Privilege: 3, |
| AuthMode: 2, |
| Subjects: null, |
| Targets: [{ Cluster: 11, Endpoint: 22, DeviceType: 33 }], |
| FabricIndex: CurrentFabricIndex, |
| }, |
| ] |
| response: |
| error: CONSTRAINT_ERROR |
| |
| - label: |
| "Step 44:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute |
| value is an empty list" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: [] |