blob: daaa3e93f54ee3403bf42655414fb0f793fabfc5 [file] [log] [blame]
# 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: []