# 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.2. [TC-ACT-2.2] Primary functionality with server as DUT

PICS:
    - ACT.S

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

tests:
    - label: "Commission DUT to TH (can be skipped if done in a preceding test)"
      verification: |
          On DUT side:
          sudo ./chip-bridge-app


          On TH side:
          ./chip-tool pairing ethernet 1 20202021 3840 fe80::e65f:1ff:fe0f:2753  5540
      disabled: true

    - label:
          "Using the manufacturer provided means, create multiple groups with
          each multiple bridged devices (endpoints)"
      PICS: ACT.S.A0001 && ACT.S.M.FillEndpointLists
      verification: |
          Create multiple groups with each multiple bridged devices (endpoints)
      disabled: true

    - label: "Read EndpointLists attribute"
      PICS: ACT.S.A0001 && ACT.S.M.FillEndpointLists
      verification: |
          ./chip-tool bridgedactions read endpoint-list 1 1

          On TH(chip-tool), verify the EndpointListStructs in TH Log:
          [1658426570.716289][16527:16532] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_0001 DataVersion: 3768747568
          [1658426570.716404][16527:16532] CHIP:TOO:   endpoint list: 2 entries
          [1658426570.716465][16527:16532] CHIP:TOO:     [1]: {
          [1658426570.716507][16527:16532] CHIP:TOO:       EndpointListID: 0
          [1658426570.716534][16527:16532] CHIP:TOO:       Name: living_room
          [1658426570.716559][16527:16532] CHIP:TOO:       Type: 1
          [1658426570.716588][16527:16532] CHIP:TOO:       Endpoints: 2 entries
          [1658426570.716617][16527:16532] CHIP:TOO:         [1]: 2
          [1658426570.716646][16527:16532] CHIP:TOO:         [2]: 3
          [1658426570.716673][16527:16532] CHIP:TOO:      }
          [1658426570.717133][16527:16532] CHIP:TOO:     [2]: {
          [1658426570.717160][16527:16532] CHIP:TOO:       EndpointListID: 2
          [1658426570.717185][16527:16532] CHIP:TOO:       Name: office
          [1658426570.717209][16527:16532] CHIP:TOO:       Type: 1
          [1658426570.717236][16527:16532] CHIP:TOO:       Endpoints: 1 entries
          [1658426570.717265][16527:16532] CHIP:TOO:         [1]: 9
          [1658426570.717292][16527:16532] CHIP:TOO:      }
      disabled: true

    - label:
          "Using the manufacturer provided means, update the name of one of the
          groups"
      PICS: ACT.S.A0001 && ACT.S.M.FillEndpointLists
      verification: |
          press r in bridge-app to rename
          (in the example, renamed "office" to "kitchen")
      disabled: true

    - label: "Read EndpointLists attribute again"
      PICS: ACT.S.A0001 && ACT.S.M.FillEndpointLists
      verification: |
          ./chip-tool bridgedactions read endpoint-list 1 1

          On TH(chip-tool), verify the EndpointListStructs in below Log:
          [1658408033.786811][14495:14500] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_0001 DataVersion: 3742844648
          [1658408033.786954][14495:14500] CHIP:TOO:   endpoint list: 2 entries
          [1658408033.787044][14495:14500] CHIP:TOO:     [1]: {
          [1658408033.787100][14495:14500] CHIP:TOO:       EndpointListID: 0
          [1658408033.787135][14495:14500] CHIP:TOO:       Name: living_room
          [1658408033.787183][14495:14500] CHIP:TOO:       Type: 1
          [1658408033.787220][14495:14500] CHIP:TOO:       Endpoints: 2 entries
          [1658408033.787274][14495:14500] CHIP:TOO:         [1]: 2
          [1658408033.787312][14495:14500] CHIP:TOO:         [2]: 3
          [1658408033.787343][14495:14500] CHIP:TOO:      }
          [1658408033.787407][14495:14500] CHIP:TOO:     [2]: {
          [1658408033.788089][14495:14500] CHIP:TOO:       EndpointListID: 2
          [1658408033.788123][14495:14500] CHIP:TOO:       Name: kitchen
          [1658408033.788156][14495:14500] CHIP:TOO:       Type: 1
          [1658408033.788191][14495:14500] CHIP:TOO:       Endpoints: 1 entries
          [1658408033.788243][14495:14500] CHIP:TOO:         [1]: 9
          [1658408033.788278][14495:14500] CHIP:TOO:      }
      disabled: true

    - label: "compare result of step 2d to what was read in step 2b"
      PICS: ACT.S.A0001 && ACT.S.M.FillEndpointLists
      verification: |
          compare result of step 2d to what was read in step 2b, Verify name field in relevant EndpointListStruct has been updated and no other changes in EndpointLists attribute

          Step 2d log
          On TH(chip-tool), verify the EndpointListStructs:
          [1658408033.786811][14495:14500] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_0001 DataVersion: 3742844648
          [1658408033.786954][14495:14500] CHIP:TOO:   endpoint list: 2 entries
          [1658408033.787044][14495:14500] CHIP:TOO:     [1]: {
          [1658408033.787100][14495:14500] CHIP:TOO:       EndpointListID: 0
          [1658408033.787135][14495:14500] CHIP:TOO:       Name: living_room
          [1658408033.787183][14495:14500] CHIP:TOO:       Type: 1
          [1658408033.787220][14495:14500] CHIP:TOO:       Endpoints: 2 entries
          [1658408033.787274][14495:14500] CHIP:TOO:         [1]: 2
          [1658408033.787312][14495:14500] CHIP:TOO:         [2]: 3
          [1658408033.787343][14495:14500] CHIP:TOO:      }
          [1658408033.787407][14495:14500] CHIP:TOO:     [2]: {
          [1658408033.788089][14495:14500] CHIP:TOO:       EndpointListID: 2
          [1658408033.788123][14495:14500] CHIP:TOO:       Name: kitchen
          [1658408033.788156][14495:14500] CHIP:TOO:       Type: 1
          [1658408033.788191][14495:14500] CHIP:TOO:       Endpoints: 1 entries
          [1658408033.788243][14495:14500] CHIP:TOO:         [1]: 9
          [1658408033.788278][14495:14500] CHIP:TOO:      }

          Step 2b log
          On TH(chip-tool), verify the EndpointListStructs
          [1658426570.716289][16527:16532] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_0001 DataVersion: 3768747568
          [1658426570.716404][16527:16532] CHIP:TOO:   endpoint list: 2 entries
          [1658426570.716465][16527:16532] CHIP:TOO:     [1]: {
          [1658426570.716507][16527:16532] CHIP:TOO:       EndpointListID: 0
          [1658426570.716534][16527:16532] CHIP:TOO:       Name: living_room
          [1658426570.716559][16527:16532] CHIP:TOO:       Type: 1
          [1658426570.716588][16527:16532] CHIP:TOO:       Endpoints: 2 entries
          [1658426570.716617][16527:16532] CHIP:TOO:         [1]: 2
          [1658426570.716646][16527:16532] CHIP:TOO:         [2]: 3
          [1658426570.716673][16527:16532] CHIP:TOO:      }
          [1658426570.717133][16527:16532] CHIP:TOO:     [2]: {
          [1658426570.717160][16527:16532] CHIP:TOO:       EndpointListID: 2
          [1658426570.717185][16527:16532] CHIP:TOO:       Name: office
          [1658426570.717209][16527:16532] CHIP:TOO:       Type: 1
          [1658426570.717236][16527:16532] CHIP:TOO:       Endpoints: 1 entries
          [1658426570.717265][16527:16532] CHIP:TOO:         [1]: 9
          [1658426570.717292][16527:16532] CHIP:TOO:      }
      disabled: true

    - label:
          "Using the manufacturer provided means, move one of the bridged
          devices (one endpoint) from one group to another group"
      PICS: ACT.S.A0001 && ACT.S.M.FillEndpointLists
      verification: |
          Press f in bridge app  to move one of the bridged devices (one endpoint) from one group to another group

          (in the example, light at ep 3 was moved to kitchen)
      disabled: true

    - label: "Read EndpointLists attribute again"
      PICS: ACT.S.A0001 && ACT.S.M.FillEndpointLists
      verification: |
          ./chip-tool bridgedactions read endpoint-list 1 1

          On TH(chip-tool), verify the EndpointListStructs
          [1658408033.786811][14495:14500] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_0001 DataVersion: 3742844648
          [1658408033.786954][14495:14500] CHIP:TOO:   endpoint list: 2 entries
          [1658408033.787044][14495:14500] CHIP:TOO:     [1]: {
          [1658408033.787100][14495:14500] CHIP:TOO:       EndpointListID: 0
          [1658408033.787135][14495:14500] CHIP:TOO:       Name: living_room
          [1658408033.787183][14495:14500] CHIP:TOO:       Type: 1
          [1658408033.787220][14495:14500] CHIP:TOO:       Endpoints: 2 entries
          [1658408033.787274][14495:14500] CHIP:TOO:         [1]: 2
          [1658408033.787343][14495:14500] CHIP:TOO:      }
          [1658408033.787407][14495:14500] CHIP:TOO:     [2]: {
          [1658408033.788089][14495:14500] CHIP:TOO:       EndpointListID: 2
          [1658408033.788123][14495:14500] CHIP:TOO:       Name: kitchen
          [1658408033.788156][14495:14500] CHIP:TOO:       Type: 1
          [1658408033.788191][14495:14500] CHIP:TOO:       Endpoints: 2 entries
          [1658408033.788243][14495:14500] CHIP:TOO:         [1]: 9
          [1658408033.787312][14495:14500] CHIP:TOO:         [2]: 3
          [1658408033.788278][14495:14500] CHIP:TOO:      }
      disabled: true

    - label: "compare result of step 2g to what was read in step 2e"
      PICS: ACT.S.A0001 && ACT.S.M.FillEndpointLists
      verification: |
          compare result of step 2g to what was read in step 2d, Verify one EP (EP 3 in this case) has been moved from one EndpointListStruct to another EndpointListStruct
      disabled: true

    - label: "Using the manufacturer provided means, remove one of the groups"
      PICS: ACT.S.A0001 && ACT.S.M.FillEndpointLists
      verification: |
          Press i in bridge-ap to remove one of the groups

          in this case, the 2nd group was removed
      disabled: true

    - label: "Read EndpointLists attribute again"
      PICS: ACT.S.A0001 && ACT.S.M.FillEndpointLists
      verification: |
          ./chip-tool bridgedactions read endpoint-list 1 1

          On TH(chip-tool), verify the EndpointListStructs
          [1658426959.409374][16560:16565] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_0001 DataVersion: 3768747568
          [1658426959.409476][16560:16565] CHIP:TOO:   endpoint list: 1 entries
          [1658426959.409543][16560:16565] CHIP:TOO:     [1]: {
          [1658426959.409580][16560:16565] CHIP:TOO:       EndpointListID: 0
          [1658426959.409604][16560:16565] CHIP:TOO:       Name: living_room
          [1658426959.409636][16560:16565] CHIP:TOO:       Type: 1
          [1658426959.409691][16560:16565] CHIP:TOO:       Endpoints: 1 entries
          [1658426959.409730][16560:16565] CHIP:TOO:         [1]: 2
          [1658426959.409755][16560:16565] CHIP:TOO:      }
      disabled: true

    - label: "compare result of step 2j to what was read in step 2h"
      PICS: ACT.S.A0001 && ACT.S.M.FillEndpointLists
      verification: |
          compare result of step 2j to what was read in step 2g, Verify one EndpointListStruct (the 2nd one in this example) got removed while the other one(s) did not change
      disabled: true

    - label:
          "Using the manufacturer provided means, create a new group, which
          includes one of the bridged devices also present in another group"
      PICS: ACT.S.A0001 && ACT.S.M.OverlappingEndpointLists
      verification: |
          press l in bridge-app
          in this example, a zone was created with same light (ep 2)
      disabled: true

    - label: "Read EndpointLists attribute again"
      PICS: ACT.S.A0001 && ACT.S.M.OverlappingEndpointLists
      verification: |
          ./chip-tool bridgedactions read endpoint-list 1 1

          On TH(chip-tool), verify the EndpointListStructs
          1658427088.316681][16578:16583] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_0001 DataVersion: 3768747568
          [1658427088.316792][16578:16583] CHIP:TOO:   endpoint list: 2 entries
          [1658427088.316850][16578:16583] CHIP:TOO:     [1]: {
          [1658427088.316890][16578:16583] CHIP:TOO:       EndpointListID: 0
          [1658427088.316915][16578:16583] CHIP:TOO:       Name: living_room
          [1658427088.316939][16578:16583] CHIP:TOO:       Type: 1
          [1658427088.316965][16578:16583] CHIP:TOO:       Endpoints: 1 entries
          [1658427088.316993][16578:16583] CHIP:TOO:         [1]: 2
          [1658427088.317019][16578:16583] CHIP:TOO:      }
          [1658427088.317558][16578:16583] CHIP:TOO:     [2]: {
          [1658427088.317583][16578:16583] CHIP:TOO:       EndpointListID: 2
          [1658427088.317606][16578:16583] CHIP:TOO:       Name: dining
          [1658427088.317628][16578:16583] CHIP:TOO:       Type: 2
          [1658427088.317652][16578:16583] CHIP:TOO:       Endpoints: 1 entries
          [1658427088.317679][16578:16583] CHIP:TOO:         [1]: 2
          [1658427088.317705][16578:16583] CHIP:TOO:      }
      disabled: true

    - label: "compare result of step 2m to what was read in step 2j"
      PICS: ACT.S.A0001 && ACT.S.M.OverlappingEndpointLists
      verification: |
          compare result of step 2m to what was read in step 2j.
          Verify a new EndpointListStruct got added (the 2nd one in this example) with an EP which is also in one of the other EndpointListStructs (EP2 in this example)
      disabled: true

    - label: "Using the manufacturer provided means, create multiple actions"
      PICS: ACT.S.A0000 && ACT.S.M.FillActionList
      verification: |
          no Matter messages
      disabled: true

    - label: "Read ActionList attribute"
      PICS: ACT.S.A0000 && ACT.S.M.FillActionList
      verification: |
          ./chip-tool bridgedactions read action-list 1 1

          Verify  ActionStructs in TH(chip-tool) Log:
          [1658479958.699434][26130:26135] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_0000 DataVersion: 198994220
          [1658479958.699494][26130:26135] CHIP:TOO:   action list: 2 entries
          [1658479958.699549][26130:26135] CHIP:TOO:     [1]: {
          [1658479958.699582][26130:26135] CHIP:TOO:       ActionID: 4097
          [1658479958.699597][26130:26135] CHIP:TOO:       Name: Room 1 On
          [1658479958.699611][26130:26135] CHIP:TOO:       Type: 3
          [1658479958.699624][26130:26135] CHIP:TOO:       EndpointListID: 57345
          [1658479958.699638][26130:26135] CHIP:TOO:       SupportedCommands: 1
          [1658479958.699652][26130:26135] CHIP:TOO:       Status: 0
          [1658479958.699665][26130:26135] CHIP:TOO:      }
          [1658479958.699689][26130:26135] CHIP:TOO:     [2]: {
          [1658479958.699702][26130:26135] CHIP:TOO:       ActionID: 4098
          [1658479958.699715][26130:26135] CHIP:TOO:       Name: Turn On Room 2
          [1658479958.699727][26130:26135] CHIP:TOO:       Type: 3
          [1658479958.699740][26130:26135] CHIP:TOO:       EndpointListID: 57346
          [1658479958.699753][26130:26135] CHIP:TOO:       SupportedCommands: 1
          [1658479958.699765][26130:26135] CHIP:TOO:       Status: 0
          [1658479958.699777][26130:26135] CHIP:TOO:      }
      disabled: true

    - label:
          "Using the manufacturer provided means, update the name of one of the
          actions"
      PICS: ACT.S.A0000 && ACT.S.M.FillActionList
      verification: |
          Press m in bridge-app to update the name of one action
      disabled: true

    - label: "Read ActionList attribute again"
      PICS: ACT.S.A0000 && ACT.S.M.FillActionList
      verification: |
          ./chip-tool bridgedactions read action-list 1 1

          Verify  ActionStructs in TH(chip-tool) Log:
          [1658480004.064867][26153:26158] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_0000 DataVersion: 198994220
          [1658480004.064928][26153:26158] CHIP:TOO:   action list: 2 entries
          [1658480004.064992][26153:26158] CHIP:TOO:     [1]: {
          [1658480004.065024][26153:26158] CHIP:TOO:       ActionID: 4097
          [1658480004.065041][26153:26158] CHIP:TOO:       Name: Turn On Room 1
          [1658480004.065057][26153:26158] CHIP:TOO:       Type: 3
          [1658480004.065073][26153:26158] CHIP:TOO:       EndpointListID: 57345
          [1658480004.065090][26153:26158] CHIP:TOO:       SupportedCommands: 1
          [1658480004.065105][26153:26158] CHIP:TOO:       Status: 0
          [1658480004.065120][26153:26158] CHIP:TOO:      }
          [1658480004.065148][26153:26158] CHIP:TOO:     [2]: {
          [1658480004.065165][26153:26158] CHIP:TOO:       ActionID: 4098
          [1658480004.065179][26153:26158] CHIP:TOO:       Name: Turn On Room 2
          [1658480004.065194][26153:26158] CHIP:TOO:       Type: 3
          [1658480004.065209][26153:26158] CHIP:TOO:       EndpointListID: 57346
          [1658480004.065223][26153:26158] CHIP:TOO:       SupportedCommands: 1
          [1658480004.065238][26153:26158] CHIP:TOO:       Status: 0
          [1658480004.065252][26153:26158] CHIP:TOO:      }
      disabled: true

    - label: "compare result of step 3d to what was read in step 3b"
      PICS: ACT.S.A0000 && ACT.S.M.FillActionList
      verification: |
          Compare step 3d and 3b and verify the name field has been chamged

          Step 3d
          Verify  ActionStructs in TH(chip-tool) Log:
          [1658480004.064867][26153:26158] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_0000 DataVersion: 198994220
          [1658480004.064928][26153:26158] CHIP:TOO:   action list: 2 entries
          [1658480004.064992][26153:26158] CHIP:TOO:     [1]: {
          [1658480004.065024][26153:26158] CHIP:TOO:       ActionID: 4097
          [1658480004.065041][26153:26158] CHIP:TOO:       Name: Turn On Room 1
          [1658480004.065057][26153:26158] CHIP:TOO:       Type: 3
          [1658480004.065073][26153:26158] CHIP:TOO:       EndpointListID: 57345
          [1658480004.065090][26153:26158] CHIP:TOO:       SupportedCommands: 1
          [1658480004.065105][26153:26158] CHIP:TOO:       Status: 0
          [1658480004.065120][26153:26158] CHIP:TOO:      }
          [1658480004.065148][26153:26158] CHIP:TOO:     [2]: {
          [1658480004.065165][26153:26158] CHIP:TOO:       ActionID: 4098
          [1658480004.065179][26153:26158] CHIP:TOO:       Name: Turn On Room 2
          [1658480004.065194][26153:26158] CHIP:TOO:       Type: 3
          [1658480004.065209][26153:26158] CHIP:TOO:       EndpointListID: 57346
          [1658480004.065223][26153:26158] CHIP:TOO:       SupportedCommands: 1
          [1658480004.065238][26153:26158] CHIP:TOO:       Status: 0
          [1658480004.065252][26153:26158] CHIP:TOO:      }

          Step 3b Log:
          Verify  ActionStructs in TH(chip-tool) Log:
          [1658479958.699434][26130:26135] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_0000 DataVersion: 198994220
          [1658479958.699494][26130:26135] CHIP:TOO:   action list: 2 entries
          [1658479958.699549][26130:26135] CHIP:TOO:     [1]: {
          [1658479958.699582][26130:26135] CHIP:TOO:       ActionID: 4097
          [1658479958.699597][26130:26135] CHIP:TOO:       Name: Room 1 On
          [1658479958.699611][26130:26135] CHIP:TOO:       Type: 3
          [1658479958.699624][26130:26135] CHIP:TOO:       EndpointListID: 57345
          [1658479958.699638][26130:26135] CHIP:TOO:       SupportedCommands: 1
          [1658479958.699652][26130:26135] CHIP:TOO:       Status: 0
          [1658479958.699665][26130:26135] CHIP:TOO:      }
          [1658479958.699689][26130:26135] CHIP:TOO:     [2]: {
          [1658479958.699702][26130:26135] CHIP:TOO:       ActionID: 4098
          [1658479958.699715][26130:26135] CHIP:TOO:       Name: Turn On Room 2
          [1658479958.699727][26130:26135] CHIP:TOO:       Type: 3
          [1658479958.699740][26130:26135] CHIP:TOO:       EndpointListID: 57346
          [1658479958.699753][26130:26135] CHIP:TOO:       SupportedCommands: 1
          [1658479958.699765][26130:26135] CHIP:TOO:       Status: 0
          [1658479958.699777][26130:26135] CHIP:TOO:      }
      disabled: true

    - label:
          "Using the manufacturer provided means, remove one of the exposed
          actions"
      PICS: ACT.S.A0000 && ACT.S.M.FillActionList
      verification: |
          Press n in bridge-app to remove one of exposed actions
      disabled: true

    - label: "Read ActionList attribute again"
      PICS: ACT.S.A0000 && ACT.S.M.FillActionList
      verification: |
          ./chip-tool bridgedactions read action-list 1 1

          Verify  ActionStructs in TH(chip-tool) Log:
          [1658480039.164683][26172:26177] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_0000 DataVersion: 198994220
          [1658480039.164758][26172:26177] CHIP:TOO:   action list: 1 entries
          [1658480039.164815][26172:26177] CHIP:TOO:     [1]: {
          [1658480039.164846][26172:26177] CHIP:TOO:       ActionID: 4097
          [1658480039.164872][26172:26177] CHIP:TOO:       Name: Turn On Room 1
          [1658480039.164897][26172:26177] CHIP:TOO:       Type: 3
          [1658480039.164920][26172:26177] CHIP:TOO:       EndpointListID: 57345
          [1658480039.164948][26172:26177] CHIP:TOO:       SupportedCommands: 1
          [1658480039.164974][26172:26177] CHIP:TOO:       Status: 0
          [1658480039.164997][26172:26177] CHIP:TOO:      }
      disabled: true

    - label: "compare result of step 3g to what was read in step 3d"
      PICS: ACT.S.A0000 && ACT.S.M.FillActionList
      verification: |
          compare result of step 3g to what was read in step 3d
          Verify one Action (4098 in this example) got removed while the other Action(s) (4097 in this case) did not change
      disabled: true

    - label: "Using the manufacturer provided means, add a new exposed action"
      PICS: ACT.S.A0000 && ACT.S.M.FillActionList
      verification: |
          press o in bridge-app
      disabled: true

    - label: "Read ActionList attribute again"
      PICS: ACT.S.A0000 && ACT.S.M.FillActionList
      verification: |
          ./chip-tool bridgedactions read action-list 1 1

          Verify  ActionStructs in TH(chip-tool) Log:
          [1658480059.199268][26178:26183] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_0000 DataVersion: 198994220
          [1658480059.199349][26178:26183] CHIP:TOO:   action list: 2 entries
          [1658480059.199410][26178:26183] CHIP:TOO:     [1]: {
          [1658480059.199440][26178:26183] CHIP:TOO:       ActionID: 4097
          [1658480059.199457][26178:26183] CHIP:TOO:       Name: Turn On Room 1
          [1658480059.199473][26178:26183] CHIP:TOO:       Type: 3
          [1658480059.199488][26178:26183] CHIP:TOO:       EndpointListID: 57345
          [1658480059.199505][26178:26183] CHIP:TOO:       SupportedCommands: 1
          [1658480059.199520][26178:26183] CHIP:TOO:       Status: 0
          [1658480059.199534][26178:26183] CHIP:TOO:      }
          [1658480059.199562][26178:26183] CHIP:TOO:     [2]: {
          [1658480059.199578][26178:26183] CHIP:TOO:       ActionID: 4099
          [1658480059.199593][26178:26183] CHIP:TOO:       Name: Turn Off Room 1
          [1658480059.199607][26178:26183] CHIP:TOO:       Type: 3
          [1658480059.199622][26178:26183] CHIP:TOO:       EndpointListID: 57347
          [1658480059.199636][26178:26183] CHIP:TOO:       SupportedCommands: 1
          [1658480059.199651][26178:26183] CHIP:TOO:       Status: 0
          [1658480059.199665][26178:26183] CHIP:TOO:      }
      disabled: true

    - label: "compare result of step 3j to what was read in step 3g"
      PICS: ACT.S.A0000 && ACT.S.M.FillActionList
      verification: |
          compare result of step 3j to what was read in step 3g
          Verify one new Action (4099 in this example) got added while the other Action(s) (4097 in this case) did not change
      disabled: true

    - label: "Using the manufacturer provided means, create multiple actions"
      PICS: ACT.S.A0000 && ACT.S.M.FillActionList
      verification: |
          no Matter messages
      disabled: true

    - label: "Read ActionList attribute"
      PICS: ACT.S.A0000
      verification: |
          ./chip-tool bridgedactions read action-list 1 1

          Verify  ActionStructs in TH(chip-tool) Log:
          [1658480080.135069][26185:26190] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_0000 DataVersion: 198994220
          [1658480080.135130][26185:26190] CHIP:TOO:   action list: 2 entries
          [1658480080.135191][26185:26190] CHIP:TOO:     [1]: {
          [1658480080.135222][26185:26190] CHIP:TOO:       ActionID: 4097
          [1658480080.135238][26185:26190] CHIP:TOO:       Name: Turn On Room 1
          [1658480080.135253][26185:26190] CHIP:TOO:       Type: 3
          [1658480080.135269][26185:26190] CHIP:TOO:       EndpointListID: 57345
          [1658480080.135285][26185:26190] CHIP:TOO:       SupportedCommands: 1
          [1658480080.135300][26185:26190] CHIP:TOO:       Status: 0
          [1658480080.135315][26185:26190] CHIP:TOO:      }
          [1658480080.135342][26185:26190] CHIP:TOO:     [2]: {
          [1658480080.135357][26185:26190] CHIP:TOO:       ActionID: 4099
          [1658480080.135371][26185:26190] CHIP:TOO:       Name: Turn Off Room 1
          [1658480080.135386][26185:26190] CHIP:TOO:       Type: 3
          [1658480080.135400][26185:26190] CHIP:TOO:       EndpointListID: 57347
          [1658480080.135415][26185:26190] CHIP:TOO:       SupportedCommands: 1
          [1658480080.135430][26185:26190] CHIP:TOO:       Status: 0
          [1658480080.135443][26185:26190] CHIP:TOO:      }
      disabled: true

    - label: "subscribe to StateChanged and ActionFailed events"
      verification: |
          To subscribe StateChanged event follow below steps
          1) ./chip-tool interactive start
          2) bridgedactions subscribe-event action-failed 2 30 1 0
          Verify in TH Log:
          [1659962630.453221][25381:25386] CHIP:EM: Removed CHIP MessageCounter:65903257 from RetransTable on exchange 50035i
          [1659962630.453246][25381:25386] CHIP:DMG: ReportDataMessage =
          [1659962630.453259][25381:25386] CHIP:DMG: {
          [1659962630.453270][25381:25386] CHIP:DMG:         SubscriptionId = 0x78f0a04c,
          [1659962630.453281][25381:25386] CHIP:DMG:         InteractionModelRevision = 1
          [1659962630.453290][25381:25386] CHIP:DMG: }
          [1659962630.453312][25381:25386] CHIP:DMG: MoveToState ReadClient[0x7f9204005990]: Moving to [AwaitingSu]
          [1659962630.453337][25381:25386] CHIP:EM: Piggybacking Ack for MessageCounter:102831868 on exchange: 50035i
          [1659962630.453364][25381:25386] CHIP:IN: Prepared secure message 0x7f9204005698 to 0x0000000000000001 (1)  of type 0x1 and protocolId (0, 1) on exchange 50035i with MessageCounter:65903258.
          [1659962630.453382][25381:25386] CHIP:IN: Sending encrypted msg 0x7f9204005698 with MessageCounter:65903258 to 0x0000000000000001 (1) at monotonic time: 0000000001ADE9B2 msec
          [1659962630.456411][25381:25386] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:102831869 on exchange 50035i
          [1659962630.456431][25381:25386] CHIP:EM: Found matching exchange: 50035i, Delegate: 0x7f92040059a0
          [1659962630.456448][25381:25386] CHIP:EM: Rxd Ack; Removing MessageCounter:65903258 from Retrans Table on exchange 50035i
          [1659962630.456457][25381:25386] CHIP:EM: Removed CHIP MessageCounter:65903258 from RetransTable on exchange 50035i
          [1659962630.456475][25381:25386] CHIP:DMG: SubscribeResponse is received
          [1659962630.456497][25381:25386] CHIP:DMG: SubscribeResponseMessage =
          [1659962630.456509][25381:25386] CHIP:DMG: {
          [1659962630.456520][25381:25386] CHIP:DMG:         SubscriptionId = 0x78f0a04c,
          [1659962630.456531][25381:25386] CHIP:DMG:         MaxInterval = 0x64,
          [1659962630.456542][25381:25386] CHIP:DMG:         InteractionModelRevision = 1
          [1659962630.456551][25381:25386] CHIP:DMG: }
          [1659962630.456563][25381:25386] CHIP:DMG: Subscription established with SubscriptionID = 0x78f0a04c MinInterval = 0s MaxInterval = 100s Peer = 01:0000000000000001

          3) bridgedactions  instant-action  0x1001 1 1

          Verify in TH Log

          [1659955888.114483][23216:23221] CHIP:DMG:                                 StatusIB =
          [1659955888.114499][23216:23221] CHIP:DMG:                                 {
          [1659955888.114515][23216:23221] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1659955888.114529][23216:23221] CHIP:DMG:                                 },
      disabled: true

    - label:
          "For each of the ActionStructs provided by DUT (see list read in step
          4b), perform one of the actions supported (see SupportedCommands in
          this ActionStruct) by sending the command with this particular
          ActionID and a random value for InvokeID"
      verification: |
          Only InstantActions  command is supported

          ./chip-tool bridgedactions  instant-action  0x1001 1 1

          Verify in TH Log

          [1659955888.114483][23216:23221] CHIP:DMG:                                 StatusIB =
          [1659955888.114499][23216:23221] CHIP:DMG:                                 {
          [1659955888.114515][23216:23221] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1659955888.114529][23216:23221] CHIP:DMG:                                 },
      disabled: true

    - label: "repeat 4d for the other SupportedCommands of each ActionStruct"
      verification: |
          Only InstantActions command is supported
      disabled: true
