| # 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. |
| |
| name: 133.2.3. [TC-ACL-2.8] ACL multi-fabric |
| |
| PICS: |
| - ACL.S |
| |
| config: |
| nodeId: 0x12344321 |
| cluster: "Access Control" |
| endpoint: 0 |
| nodeId2: |
| type: node_id |
| defaultValue: 0xCAFE |
| waitAfterCommissioning: |
| type: int16u |
| defaultValue: 5000 |
| payload: |
| type: char_string |
| defaultValue: "MT:-24J0AFN00KA0648G00" |
| discriminator: |
| type: int16u |
| defaultValue: 3840 |
| PakeVerifier: |
| type: octet_string |
| defaultValue: "hex:b96170aae803346884724fe9a3b287c30330c2a660375d17bb205a8cf1aecb350457f8ab79ee253ab6a8e46bb09e543ae422736de501e3db37d441fe344920d09548e4c18240630c4ff4913c53513839b7c07fcc0627a1b8573a149fcd1fa466cf" |
| |
| tests: |
| - label: "Wait for the commissioned device to be retrieved" |
| cluster: "DelayCommands" |
| command: "WaitForCommissionee" |
| arguments: |
| values: |
| - name: "nodeId" |
| value: nodeId |
| |
| - label: "Read the TH1 commissioner node ID" |
| cluster: "CommissionerCommands" |
| command: "GetCommissionerNodeId" |
| response: |
| values: |
| - name: "nodeId" |
| saveAs: TH1CommissionerNodeId |
| |
| - label: |
| "TH1 reads OperationalCredentials cluster CurrentFabricIndex attribute" |
| command: "readAttribute" |
| cluster: "Operational Credentials" |
| attribute: "CurrentFabricIndex" |
| response: |
| saveAs: TH1FabricIndex |
| |
| - label: "TH1 puts DUT into commissioning mode" |
| PICS: CADMIN.S.C00.Rsp && PICS_SDK_CI_ONLY |
| cluster: "Administrator Commissioning" |
| command: "OpenCommissioningWindow" |
| timedInteractionTimeoutMs: 10000 |
| arguments: |
| values: |
| - name: "CommissioningTimeout" |
| value: 180 |
| - name: "PAKEPasscodeVerifier" |
| value: PakeVerifier |
| - name: "Discriminator" |
| value: discriminator |
| - name: "Iterations" |
| value: 1000 |
| - name: "Salt" |
| value: "SPAKE2P Key Salt" |
| |
| - label: "Waiting after opening commissioning window" |
| PICS: CADMIN.S.C00.Rsp && PICS_SDK_CI_ONLY |
| cluster: "DelayCommands" |
| command: "WaitForMs" |
| arguments: |
| values: |
| - name: "ms" |
| value: waitAfterCommissioning |
| |
| - label: |
| "TH1 puts DUT into commissioning mode, TH2 commissions DUT using admin |
| node ID N2" |
| verification: | |
| Open a commissioning window On TH1(Chiptool)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 TH(Chiptool)e device |
| [1657186324.711048][10820:10825] CHIP:CTL: Manual pairing code: [36253605617] |
| [1657186324.711108][10820:10825] CHIP:CTL: SetupQRCode: [MT:-24J0IRV01A7TB7E700] |
| |
| |
| Commission TH2(Chiptool) to DUT using manualcode generated in TH1 using open commission window |
| |
| ./chip-tool pairing code 2 36253605617 --commissioner-name beta --commissioner-nodeid 223344 |
| |
| [1657186359.584672][3509:3514] CHIP:CTL: Successfully finished commissioning step 'Cleanup' |
| [1657186359.584743][3509:3514] CHIP:TOO: Device commissioning completed with success |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| PICS: PICS_SKIP_SAMPLE_APP && CADMIN.S.C00.Rsp |
| arguments: |
| values: |
| - name: "message" |
| value: "Enter 'y' after success" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: "TH2 starts a commissioning process with DUT" |
| PICS: PICS_SDK_CI_ONLY |
| identity: "beta" |
| cluster: "CommissionerCommands" |
| command: "PairWithCode" |
| arguments: |
| values: |
| - name: "nodeId" |
| value: nodeId2 |
| - name: "payload" |
| value: payload |
| |
| - label: "DUT is commissioned by TH2 on Fabric ID2 " |
| PICS: PICS_SDK_CI_ONLY |
| identity: "beta" |
| cluster: "DelayCommands" |
| command: "WaitForCommissionee" |
| arguments: |
| values: |
| - name: "nodeId" |
| value: nodeId2 |
| |
| - label: "Read the TH2 commissioner node ID" |
| identity: "beta" |
| cluster: "CommissionerCommands" |
| command: "GetCommissionerNodeId" |
| response: |
| values: |
| - name: "nodeId" |
| saveAs: TH2CommissionerNodeId |
| |
| - label: |
| "TH2 reads OperationalCredentials cluster CurrentFabricIndex attribute" |
| identity: "beta" |
| command: "readAttribute" |
| cluster: "Operational Credentials" |
| attribute: "CurrentFabricIndex" |
| response: |
| saveAs: TH2FabricIndex |
| |
| - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [TH1CommissionerNodeId, 1111], |
| Targets: null, |
| FabricIndex: TH1FabricIndex, |
| }, |
| ] |
| |
| - label: "TH2 writes DUT Endpoint 0 AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| identity: "beta" |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [TH2CommissionerNodeId, 2222], |
| Targets: null, |
| FabricIndex: TH2FabricIndex, |
| }, |
| ] |
| |
| - label: "TH1 reads DUT Endpoint 0 AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| command: "readAttribute" |
| attribute: "ACL" |
| response: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [TH1CommissionerNodeId, 1111], |
| Targets: null, |
| FabricIndex: TH1FabricIndex, |
| }, |
| ] |
| |
| - label: "TH2 reads DUT Endpoint 0 AccessControl cluster ACL attribute" |
| PICS: ACL.S.A0000 |
| identity: "beta" |
| command: "readAttribute" |
| attribute: "ACL" |
| response: |
| value: |
| [ |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [TH2CommissionerNodeId, 2222], |
| Targets: null, |
| FabricIndex: TH2FabricIndex, |
| }, |
| ] |
| |
| - label: |
| "TH1 reads DUT Endpoint 0 AccessControl cluster |
| AccessControlEntryChanged event" |
| PICS: ACL.S.E00 |
| command: "readEvent" |
| event: "AccessControlEntryChanged" |
| response: |
| - values: |
| - value: |
| { |
| AdminNodeID: null, |
| AdminPasscodeID: 0, |
| ChangeType: 1, |
| LatestValue: |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [TH1CommissionerNodeId], |
| Targets: null, |
| FabricIndex: TH1FabricIndex, |
| }, |
| FabricIndex: TH1FabricIndex, |
| } |
| - values: |
| - value: |
| { |
| AdminNodeID: TH1CommissionerNodeId, |
| AdminPasscodeID: null, |
| ChangeType: 2, |
| LatestValue: |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [TH1CommissionerNodeId], |
| Targets: null, |
| FabricIndex: TH1FabricIndex, |
| }, |
| FabricIndex: TH1FabricIndex, |
| } |
| - values: |
| - value: |
| { |
| AdminNodeID: TH1CommissionerNodeId, |
| AdminPasscodeID: null, |
| ChangeType: 1, |
| LatestValue: |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [TH1CommissionerNodeId, 1111], |
| Targets: null, |
| FabricIndex: TH1FabricIndex, |
| }, |
| FabricIndex: TH1FabricIndex, |
| } |
| |
| - label: |
| "TH2 reads DUT Endpoint 0 AccessControl cluster |
| AccessControlEntryChanged event" |
| PICS: ACL.S.E00 |
| identity: "beta" |
| command: "readEvent" |
| event: "AccessControlEntryChanged" |
| response: |
| - values: |
| - value: |
| { |
| AdminNodeID: null, |
| AdminPasscodeID: 0, |
| ChangeType: 1, |
| LatestValue: |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [TH2CommissionerNodeId], |
| Targets: null, |
| FabricIndex: TH2FabricIndex, |
| }, |
| FabricIndex: TH2FabricIndex, |
| } |
| - values: |
| - value: |
| { |
| AdminNodeID: TH2CommissionerNodeId, |
| AdminPasscodeID: null, |
| ChangeType: 2, |
| LatestValue: |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [TH2CommissionerNodeId], |
| Targets: null, |
| FabricIndex: TH2FabricIndex, |
| }, |
| FabricIndex: TH2FabricIndex, |
| } |
| - values: |
| - value: |
| { |
| AdminNodeID: TH2CommissionerNodeId, |
| AdminPasscodeID: null, |
| ChangeType: 1, |
| LatestValue: |
| { |
| Privilege: 5, |
| AuthMode: 2, |
| Subjects: [TH2CommissionerNodeId, 2222], |
| Targets: null, |
| FabricIndex: TH2FabricIndex, |
| }, |
| FabricIndex: TH2FabricIndex, |
| } |
| |
| - label: "TH1 writes ACL attribute value is an empty list" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: [] |
| |
| - label: "TH2 writes ACL attribute value is an empty list" |
| identity: "beta" |
| PICS: ACL.S.A0000 |
| command: "writeAttribute" |
| attribute: "ACL" |
| arguments: |
| value: [] |