blob: ee1bd01744fa37357a015d3cb67205fbef28dedd [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.
# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default
name: 3.1.2. [TC-IDM-1.2] Invoke Response Action from DUT to TH - [{DUT_Server}]
PICS:
- MCORE.IDM.S
config:
nodeId: 0x12344321
cluster: "Basic"
endpoint: 0
tests:
- label:
"TH sends the Invoke Request Message to the DUT with the path that
indicates a specific endpoint that is unsupported."
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
./chip-tool onoff on 1 20
On TH, verify DUT responsds as unsuppported endpoint for the data sent in the above command
[1655718065.882392][4587:4592] CHIP:DMG: Received Command Response Status for Endpoint=20 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x7f
[1655718065.882440][4587:4592] CHIP:TOO: Error: IM Error 0x0000057F: General error: 0x7f (UNSUPPORTED_ENDPOINT)
[1655718065.882491][4587:4592] CHIP:DMG: ICR moving to [AwaitingDe]
disabled: true
- label:
"TH sends the Invoke Request Message to the DUT with the path that
indicates a specific cluster that is unsupported."
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
./chip-tool any command-by-id 0x0003 0 1 1 2
On TH, verify DUT responsds as unsuppported cluster for the data sent in the above command
[1655718144.692503][4602:4607] CHIP:DMG: Received Command Response Status for Endpoint=2 Cluster=0x0000_0003 Command=0x0000_0000 Status=0xc3
[1655718144.692570][4602:4607] CHIP:TOO: Error: IM Error 0x000005C3: General error: 0xc3 (UNSUPPORTED_CLUSTER)
[1655718144.692627][4602:4607] CHIP:DMG: ICR moving to [AwaitingDe]
disabled: true
- label:
"TH sends the Invoke Request Message to the DUT with the path that
indicates a specific command that is unsupported."
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
./chip-tool any command-by-id 0x0003 3 1 1 0
On TH, verify DUT responsds as unsuppported command for the data sent in the above command
[1654076838.936184][13752:13757] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0003 Command=0x0000_0003 Status=0x81
[1654076838.936215][13752:13757] CHIP:TOO: Error: IM Error 0x00000581: General error: 0x81 (UNSUPPORTED_COMMAND)
[1654076838.936258][13752:13757] CHIP:DMG: ICR moving to [AwaitingDe]
disabled: true
- label:
"Setup the TH such that it should not have the privilege for the
cluster in the path. TH sends the Invoke Request Message to the DUT
with a valid CommandDataIB"
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command
Here by sending below mentioned ACL command giving only access for ACL cluster(31), So except identify cluster command if try to send any other command will get status as unsupported access.
./chip-tool accesscontrol write acl "[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects":[1,112233], "targets": [{ "cluster":31, "endpoint":0, "deviceType":null }]}]" 1 0
[1659419722.669629][1915:1920] CHIP:DMG: WriteResponseMessage =
[1659419722.669657][1915:1920] CHIP:DMG: {
[1659419722.669687][1915:1920] CHIP:DMG: AttributeStatusIBs =
[1659419722.669727][1915:1920] CHIP:DMG: [
[1659419722.669758][1915:1920] CHIP:DMG: AttributeStatusIB =
[1659419722.669796][1915:1920] CHIP:DMG: {
[1659419722.669833][1915:1920] CHIP:DMG: AttributePathIB =
[1659419722.669871][1915:1920] CHIP:DMG: {
[1659419722.669912][1915:1920] CHIP:DMG: Endpoint = 0x0,
[1659419722.669953][1915:1920] CHIP:DMG: Cluster = 0x1f,
[1659419722.669993][1915:1920] CHIP:DMG: Attribute = 0x0000_0000,
[1659419722.670034][1915:1920] CHIP:DMG: }
[1659419722.670077][1915:1920] CHIP:DMG:
[1659419722.670114][1915:1920] CHIP:DMG: StatusIB =
[1659419722.670153][1915:1920] CHIP:DMG: {
[1659419722.670191][1915:1920] CHIP:DMG: status = 0x00 (SUCCESS),
[1659419722.670229][1915:1920] CHIP:DMG: },
[1659419722.670266][1915:1920] CHIP:DMG:
[1659419722.670300][1915:1920] CHIP:DMG: },
[1659419722.670343][1915:1920] CHIP:DMG:
[1659419722.670373][1915:1920] CHIP:DMG: AttributeStatusIB =
[1659419722.670405][1915:1920] CHIP:DMG: {
[1659419722.670436][1915:1920] CHIP:DMG: AttributePathIB =
[1659419722.670471][1915:1920] CHIP:DMG: {
[1659419722.670510][1915:1920] CHIP:DMG: Endpoint = 0x0,
[1659419722.670550][1915:1920] CHIP:DMG: Cluster = 0x1f,
[1659419722.670590][1915:1920] CHIP:DMG: Attribute = 0x0000_0000,
[1659419722.670661][1915:1920] CHIP:DMG: ListIndex = Null,
[1659419722.670700][1915:1920] CHIP:DMG: }
[1659419722.670740][1915:1920] CHIP:DMG:
[1659419722.670776][1915:1920] CHIP:DMG: StatusIB =
[1659419722.670813][1915:1920] CHIP:DMG: {
[1659419722.670851][1915:1920] CHIP:DMG: status = 0x00 (SUCCESS),
[1659419722.670888][1915:1920] CHIP:DMG: },
[1659419722.670925][1915:1920] CHIP:DMG:
[1659419722.670958][1915:1920] CHIP:DMG: },
[1659419722.670994][1915:1920] CHIP:DMG:
[1659419722.671022][1915:1920] CHIP:DMG: ],
[1659419722.671062][1915:1920] CHIP:DMG:
[1659419722.671092][1915:1920] CHIP:DMG: InteractionModelRevision = 1
[1659419722.671120][1915:1920] CHIP:DMG: }
[1659419722.671244][1915:1920] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1659419722.671314][1915:1920] CHIP:EM: Sending Standalone Ack for MessageCounter:153124628 on
./chip-tool onoff on 1 1
On TH, verify DUT responsds as UNSUPPORTED_ACCESS for the data sent in the above command
[1657869005.834700][2816:2821] CHIP:DMG: },
[1657869005.834790][2816:2821] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x7e
[1657869005.834841][2816:2821] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS)
[1657869005.834899][2816:2821] CHIP:DMG: ICR moving to [AwaitingDe]
With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to send below mentioned command to Grant access to all clusters again.
./chip-tool accesscontrol write acl "[{"fabricIndex": 1, "privilege": 5, "authMode":2, "subjects":[112233], "targets":null}]" 1 0
disabled: true
- label:
"Setup the TH such that there is no accessing fabric TH sends the
Invoke Request Message to the DUT with a valid and fabric-scoped
CommandDataIB"
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command
Here by sending below mentioned ACL command giving only access for ACL cluster(31), So except identify cluster command if try to send any other command will get status as unsupported access.
./chip-tool accesscontrol write acl "[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects":[1,112233], "targets": [{ "cluster":31, "endpoint":0, "deviceType":null }]}]" 1 0
[1659419722.669629][1915:1920] CHIP:DMG: WriteResponseMessage =
[1659419722.669657][1915:1920] CHIP:DMG: {
[1659419722.669687][1915:1920] CHIP:DMG: AttributeStatusIBs =
[1659419722.669727][1915:1920] CHIP:DMG: [
[1659419722.669758][1915:1920] CHIP:DMG: AttributeStatusIB =
[1659419722.669796][1915:1920] CHIP:DMG: {
[1659419722.669833][1915:1920] CHIP:DMG: AttributePathIB =
[1659419722.669871][1915:1920] CHIP:DMG: {
[1659419722.669912][1915:1920] CHIP:DMG: Endpoint = 0x0,
[1659419722.669953][1915:1920] CHIP:DMG: Cluster = 0x1f,
[1659419722.669993][1915:1920] CHIP:DMG: Attribute = 0x0000_0000,
[1659419722.670034][1915:1920] CHIP:DMG: }
[1659419722.670077][1915:1920] CHIP:DMG:
[1659419722.670114][1915:1920] CHIP:DMG: StatusIB =
[1659419722.670153][1915:1920] CHIP:DMG: {
[1659419722.670191][1915:1920] CHIP:DMG: status = 0x00 (SUCCESS),
[1659419722.670229][1915:1920] CHIP:DMG: },
[1659419722.670266][1915:1920] CHIP:DMG:
[1659419722.670300][1915:1920] CHIP:DMG: },
[1659419722.670343][1915:1920] CHIP:DMG:
[1659419722.670373][1915:1920] CHIP:DMG: AttributeStatusIB =
[1659419722.670405][1915:1920] CHIP:DMG: {
[1659419722.670436][1915:1920] CHIP:DMG: AttributePathIB =
[1659419722.670471][1915:1920] CHIP:DMG: {
[1659419722.670510][1915:1920] CHIP:DMG: Endpoint = 0x0,
[1659419722.670550][1915:1920] CHIP:DMG: Cluster = 0x1f,
[1659419722.670590][1915:1920] CHIP:DMG: Attribute = 0x0000_0000,
[1659419722.670661][1915:1920] CHIP:DMG: ListIndex = Null,
[1659419722.670700][1915:1920] CHIP:DMG: }
[1659419722.670740][1915:1920] CHIP:DMG:
[1659419722.670776][1915:1920] CHIP:DMG: StatusIB =
[1659419722.670813][1915:1920] CHIP:DMG: {
[1659419722.670851][1915:1920] CHIP:DMG: status = 0x00 (SUCCESS),
[1659419722.670888][1915:1920] CHIP:DMG: },
[1659419722.670925][1915:1920] CHIP:DMG:
[1659419722.670958][1915:1920] CHIP:DMG: },
[1659419722.670994][1915:1920] CHIP:DMG:
[1659419722.671022][1915:1920] CHIP:DMG: ],
[1659419722.671062][1915:1920] CHIP:DMG:
[1659419722.671092][1915:1920] CHIP:DMG: InteractionModelRevision = 1
[1659419722.671120][1915:1920] CHIP:DMG: }
[1659419722.671244][1915:1920] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1659419722.671314][1915:1920] CHIP:EM: Sending Standalone Ack for MessageCounter:153124628 on
./chip-tool generalcommissioning commissioning-complete 1 0
On TH, verify DUT responsds as UNSUPPORTED_ACCESS for the data sent in the above command
[1659420197.313287][1960:1965] CHIP:DMG: },
[1659420197.313357][1960:1965] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0004 Status=0x7e
[1659420197.313397][1960:1965] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS)
[1659420197.313441][1960:1965] CHIP:DMG: ICR moving to [AwaitingDe]
[1659420197.313505][1960:1965] CHIP:EM: Sending Standalone Ack for MessageCounter:66191391 on exchange 52639i
With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to send below mentioned command to Grant access to all clusters again.
./chip-tool accesscontrol write acl "[{"fabricIndex": 1, "privilege": 5, "authMode":2, "subjects":[112233], "targets":null}]" 1 0
disabled: true
- label:
"(OPTIONAL) TH sends the Invoke Request Message to the DUT with the
command which requires a data response to be sent back."
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
sudo ./chip-tool generalcommissioning arm-fail-safe 1000 1 1 0
On TH, Verify DUT generates an InvokeResponseIB with a valid CommandDataIB and
sends it to the TH for the data sent in the above command
[1657091692.258118][5248:5253] CHIP:DMG: InvokeResponseMessage =
[1657091692.258154][5248:5253] CHIP:DMG: {
[1657091692.258189][5248:5253] CHIP:DMG: suppressResponse = false,
[1657091692.258233][5248:5253] CHIP:DMG: InvokeResponseIBs =
[1657091692.258280][5248:5253] CHIP:DMG: [
[1657091692.258315][5248:5253] CHIP:DMG: InvokeResponseIB =
[1657091692.258362][5248:5253] CHIP:DMG: {
[1657091692.258400][5248:5253] CHIP:DMG: CommandDataIB =
[1657091692.258448][5248:5253] CHIP:DMG: {
[1657091692.258492][5248:5253] CHIP:DMG: CommandPathIB =
[1657091692.258540][5248:5253] CHIP:DMG: {
[1657091692.258589][5248:5253] CHIP:DMG: EndpointId = 0x0,
[1657091692.258641][5248:5253] CHIP:DMG: ClusterId = 0x30,
[1657091692.258692][5248:5253] CHIP:DMG: CommandId = 0x1,
[1657091692.258739][5248:5253] CHIP:DMG: },
[1657091692.258790][5248:5253] CHIP:DMG:
[1657091692.258834][5248:5253] CHIP:DMG: CommandFields =
[1657091692.258886][5248:5253] CHIP:DMG: {
[1657091692.258958][5248:5253] CHIP:DMG: 0x0 = 0,
[1657091692.259011][5248:5253] CHIP:DMG: 0x1 = "",
[1657091692.259061][5248:5253] CHIP:DMG: },
[1657091692.259107][5248:5253] CHIP:DMG: },
[1657091692.259162][5248:5253] CHIP:DMG:
[1657091692.259202][5248:5253] CHIP:DMG: },
[1657091692.259246][5248:5253] CHIP:DMG:
[1657091692.259280][5248:5253] CHIP:DMG: ],
[1657091692.259323][5248:5253] CHIP:DMG:
[1657091692.259358][5248:5253] CHIP:DMG: InteractionModelRevision = 1
[1657091692.259392][5248:5253] CHIP:DMG: },
[1657091692.259477][5248:5253] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001
[1657091692.259539][5248:5253] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001
[1657091692.259610][5248:5253] CHIP:TOO: ArmFailSafeResponse: {
[1657091692.259656][5248:5253] CHIP:TOO: errorCode: 0
[1657091692.259690][5248:5253] CHIP:TOO: debugText:
[1657091692.259722][5248:5253] CHIP:TOO: }
[1657091692.259775][5248:5253] CHIP:DMG: ICR moving to [AwaitingDe]
[1657091692.259841][5248:5253] CHIP:EM: Sending Standalone Ack for MessageCounter:215437814 on exchange 22331i
disabled: true
- label:
"TH sends the Invoke Request Message to the DUT with a valid
CommandDataIB and SuppressResponse set to True"
verification: |
Out of Scope for V1.0
https://github.com/project-chip/connectedhomeip/issues/8043
disabled: true
- label:
"TH sends a Invoke Request Message to the DUT with the TimedRequest
set as TRUE.(There should be no previous Timed Invoke action.)"
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command
Here by sending below mentioned ACL command giving only access for identify cluster(3), So except identify cluster command if try to send any other command will get status as unsupported access.
./chip-tool accesscontrol write acl "[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects":[1,112233], "targets": [{ "cluster":31, "endpoint":0, "deviceType":null }]}]" 1 0
[1659419722.669629][1915:1920] CHIP:DMG: WriteResponseMessage =
[1659419722.669657][1915:1920] CHIP:DMG: {
[1659419722.669687][1915:1920] CHIP:DMG: AttributeStatusIBs =
[1659419722.669727][1915:1920] CHIP:DMG: [
[1659419722.669758][1915:1920] CHIP:DMG: AttributeStatusIB =
[1659419722.669796][1915:1920] CHIP:DMG: {
[1659419722.669833][1915:1920] CHIP:DMG: AttributePathIB =
[1659419722.669871][1915:1920] CHIP:DMG: {
[1659419722.669912][1915:1920] CHIP:DMG: Endpoint = 0x0,
[1659419722.669953][1915:1920] CHIP:DMG: Cluster = 0x1f,
[1659419722.669993][1915:1920] CHIP:DMG: Attribute = 0x0000_0000,
[1659419722.670034][1915:1920] CHIP:DMG: }
[1659419722.670077][1915:1920] CHIP:DMG:
[1659419722.670114][1915:1920] CHIP:DMG: StatusIB =
[1659419722.670153][1915:1920] CHIP:DMG: {
[1659419722.670191][1915:1920] CHIP:DMG: status = 0x00 (SUCCESS),
[1659419722.670229][1915:1920] CHIP:DMG: },
[1659419722.670266][1915:1920] CHIP:DMG:
[1659419722.670300][1915:1920] CHIP:DMG: },
[1659419722.670343][1915:1920] CHIP:DMG:
[1659419722.670373][1915:1920] CHIP:DMG: AttributeStatusIB =
[1659419722.670405][1915:1920] CHIP:DMG: {
[1659419722.670436][1915:1920] CHIP:DMG: AttributePathIB =
[1659419722.670471][1915:1920] CHIP:DMG: {
[1659419722.670510][1915:1920] CHIP:DMG: Endpoint = 0x0,
[1659419722.670550][1915:1920] CHIP:DMG: Cluster = 0x1f,
[1659419722.670590][1915:1920] CHIP:DMG: Attribute = 0x0000_0000,
[1659419722.670661][1915:1920] CHIP:DMG: ListIndex = Null,
[1659419722.670700][1915:1920] CHIP:DMG: }
[1659419722.670740][1915:1920] CHIP:DMG:
[1659419722.670776][1915:1920] CHIP:DMG: StatusIB =
[1659419722.670813][1915:1920] CHIP:DMG: {
[1659419722.670851][1915:1920] CHIP:DMG: status = 0x00 (SUCCESS),
[1659419722.670888][1915:1920] CHIP:DMG: },
[1659419722.670925][1915:1920] CHIP:DMG:
[1659419722.670958][1915:1920] CHIP:DMG: },
[1659419722.670994][1915:1920] CHIP:DMG:
[1659419722.671022][1915:1920] CHIP:DMG: ],
[1659419722.671062][1915:1920] CHIP:DMG:
[1659419722.671092][1915:1920] CHIP:DMG: InteractionModelRevision = 1
[1659419722.671120][1915:1920] CHIP:DMG: }
[1659419722.671244][1915:1920] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1659419722.671314][1915:1920] CHIP:EM: Sending Standalone Ack for MessageCounter:153124628 on
./chip-tool onoff on 1 1 --timedInteractionTimeoutMs 100
On TH, verify DUT responsds as UNSUPPORTED_ACCESS for the data sent in the above command
[1659422136.353455][2014:2019] CHIP:DMG:
[1659422136.353482][2014:2019] CHIP:DMG: InteractionModelRevision = 1
[1659422136.353510][2014:2019] CHIP:DMG: },
[1659422136.353575][2014:2019] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x7e
[1659422136.353612][2014:2019] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS)
[1659422136.353653][2014:2019] CHIP:DMG: ICR moving to [AwaitingDe]
[1659422136.353715][2014:2019] CHIP:EM: Sending Standalone Ack for MessageCounter:11493125 on exchange 55447i
With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to send below mentioned command to Grant access to all clusters again.
./chip-tool accesscontrol write acl "[{"fabricIndex": 1, "privilege": 5, "authMode":2, "subjects":[112233], "targets":null}]" 1 0
disabled: true
- label:
"TH sends Invoke Request Message to the DUT with the command in the
path that requires a Timed Invoke transaction to invoke and this
action is not part of a Timed Invoke transaction"
verification: |
As in the previous step, we enabled accesscontrol to a specific cluster, we need to remove the accesscontrol using below command.
As the EP used here is an example, user needs to provide the endpoint id, which they use.
The cluster used in the below command is an example, User can use any supported chip cluster.
./chip-tool administratorcommissioning open-basic-commissioning-window 500 1 0
On TH, verify DUT responsds as NEEDS_TIMED_INTERACTION for the data sent in the above command
[1654077001.606235][13788:13793] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0xc6
[1654077001.606268][13788:13793] CHIP:TOO: Error: IM Error 0x000005C6: General error: 0xc6 (NEEDS_TIMED_INTERACTION)
[1654077001.606311][13788:13793] CHIP:DMG: ICR moving to [AwaitingDe]
disabled: true