# 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.4. [TC-ACT-3.2] Functionality with client as DUT

PICS:
    - ACT.C

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

tests:
    - label: "Note"
      verification: |
          For DUT as client test cases, Chip-tool command used below are an example to verify the functionality. For certification test, we expect DUT should have a capability or way to run the equivalent command.
      disabled: true

    - label:
          "Step 0: Preparation: TH as server exposes an Actions server cluster
          on EP 1, with one action (supporting all possible commands) and
          corresponding ActionLists and EndpointLists attributes: ActionList:
          contains one list element (ActionListStruct):  ActionIO = 0xA001  Name
          = 'some test'  Type = other  EndpointListID =
          0xE001  SupportedCommands = 0x0fff // suppports all commands  State =
          Inactive EndpointLists: contains one list element
          (EndpointListStruct):  EndpointListID = 0xE001  Name = 'test
          room'  Type = room  Endpoints = [3] SetupURL: '' (empty string)"
      verification: |
          pre-condition :
          Please use the below chip-tool commmands as example on how this TC can be performed using chip-tool. The DUT vendor to use commands per the DUT implemetnation

          1. First read action-list by following command

          ./chip-tool actions read action-list 1 1

          Via the TH (bridge-app), verify the ActionList attribute response.

          [1698725144.232190][1963:1963] CHIP:IM: Received Read request
          [1698725144.232296][1963:1963] CHIP:DMG: ReadRequestMessage =
          [1698725144.232352][1963:1963] CHIP:DMG: {
          [1698725144.232410][1963:1963] CHIP:DMG:         AttributePathIBs =
          [1698725144.232484][1963:1963] CHIP:DMG:         [
          [1698725144.232544][1963:1963] CHIP:DMG:                 AttributePathIB =
          [1698725144.232608][1963:1963] CHIP:DMG:                 {
          [1698725144.232688][1963:1963] CHIP:DMG:                         Endpoint = 0x1,
          [1698725144.232758][1963:1963] CHIP:DMG:                         Cluster = 0x25,
          [1698725144.232828][1963:1963] CHIP:DMG:                         Attribute = 0x0000_0000,
          [1698725144.232893][1963:1963] CHIP:DMG:                 }
          [1698725144.232959][1963:1963] CHIP:DMG:
          [1698725144.233018][1963:1963] CHIP:DMG:         ],
          [1698725144.233083][1963:1963] CHIP:DMG:
          [1698725144.233142][1963:1963] CHIP:DMG:         isFabricFiltered = true,
          [1698725144.233199][1963:1963] CHIP:DMG:         InteractionModelRevision = 11
          [1698725144.233252][1963:1963] CHIP:DMG: },


          ./chip-tool actions read endpoint-lists 1 1

          Via the TH (chip-tool), verify the EndpointLists attribute that contains EndpointListStructs.

          [1698729275.160463][1963:1963] CHIP:IM: Received Read request
          [1698729275.160560][1963:1963] CHIP:DMG: ReadRequestMessage =
          [1698729275.160618][1963:1963] CHIP:DMG: {
          [1698729275.160668][1963:1963] CHIP:DMG:         AttributePathIBs =
          [1698729275.160729][1963:1963] CHIP:DMG:         [
          [1698729275.160785][1963:1963] CHIP:DMG:                 AttributePathIB =
          [1698729275.160848][1963:1963] CHIP:DMG:                 {
          [1698729275.160912][1963:1963] CHIP:DMG:                         Endpoint = 0x1,
          [1698729275.160992][1963:1963] CHIP:DMG:                         Cluster = 0x25,
          [1698729275.161070][1963:1963] CHIP:DMG:                         Attribute = 0x0000_0001,
          [1698729275.161143][1963:1963] CHIP:DMG:                 }
          [1698729275.161211][1963:1963] CHIP:DMG:
          [1698729275.161270][1963:1963] CHIP:DMG:         ],
          [1698729275.161335][1963:1963] CHIP:DMG:
          [1698729275.161395][1963:1963] CHIP:DMG:         isFabricFiltered = true,
          [1698729275.161452][1963:1963] CHIP:DMG:         InteractionModelRevision = 11
          [1698729275.161505][1963:1963] CHIP:DMG: },


          2. Use the above obtained ActionID to verify the following commands
           ./chip-tool actions instant-action 40961 1 1
      disabled: true

    - label: "Step 1: DUT issues an InstantAction command to TH"
      PICS: ACT.C.C00.Tx
      verification: |
          ./chip-tool actions instant-action 40961 1 1

          Via the TH (bridge-app), verify the InstantAction response that contains ActionID .

          [1698724321.817293][1963:1963] CHIP:DMG: InvokeRequestMessage =
          [1698724321.817361][1963:1963] CHIP:DMG: {
          [1698724321.817413][1963:1963] CHIP:DMG:         suppressResponse = false,
          [1698724321.817475][1963:1963] CHIP:DMG:         timedRequest = false,
          [1698724321.817532][1963:1963] CHIP:DMG:         InvokeRequests =
          [1698724321.817603][1963:1963] CHIP:DMG:         [
          [1698724321.817659][1963:1963] CHIP:DMG:                 CommandDataIB =
          [1698724321.817723][1963:1963] CHIP:DMG:                 {
          [1698724321.817782][1963:1963] CHIP:DMG:                         CommandPathIB =
          [1698724321.817974][1963:1963] CHIP:DMG:                         {
          [1698724321.818045][1963:1963] CHIP:DMG:                                 EndpointId = 0x1,
          [1698724321.818141][1963:1963] CHIP:DMG:                                 ClusterId = 0x25,
          [1698724321.818232][1963:1963] CHIP:DMG:                                 CommandId = 0x0,
          [1698724321.818319][1963:1963] CHIP:DMG:                         },
          [1698724321.818399][1963:1963] CHIP:DMG:
          [1698724321.818462][1963:1963] CHIP:DMG:                         CommandFields =
          [1698724321.818537][1963:1963] CHIP:DMG:                         {
          [1698724321.818607][1963:1963] CHIP:DMG:                                 0x0 = 4097,
          [1698724321.818697][1963:1963] CHIP:DMG:                         },
          [1698724321.818767][1963:1963] CHIP:DMG:                 },
          [1698724321.818838][1963:1963] CHIP:DMG:
          [1698724321.818894][1963:1963] CHIP:DMG:         ],
          [1698724321.818963][1963:1963] CHIP:DMG:
          [1698724321.819017][1963:1963] CHIP:DMG:         InteractionModelRevision = 11
          [1698724321.819088][1963:1963] CHIP:DMG: },
      disabled: true

    - label: "Step 2: DUT issues an StartAction command to TH"
      PICS: ACT.C.C02.Tx
      verification: |
          The reference app doesn't have implementation for this command
      disabled: true

    - label: "Step 3: DUT issues an StopAction command to TH"
      PICS: ACT.C.C04.Tx
      verification: |
          The reference app doesn't have implementation for this command
      disabled: true

    - label: "Step 4: DUT issues an PauseAction command to TH"
      PICS: ACT.C.C05.Tx
      verification: |
          The reference app doesn't have implementation for this command
      disabled: true

    - label: "Step 5: DUT issues an ResumeAction command to TH"
      PICS: ACT.C.C07.Tx
      verification: |
          The reference app doesn't have implementation for this command
      disabled: true

    - label: "Step 6: DUT issues an EnableAction command to TH"
      PICS: ACT.C.C08.Tx
      verification: |
          The reference app doesn't have implementation for this command
      disabled: true

    - label: "Step 7: DUT issues an DisableAction command to TH"
      PICS: ACT.C.C0a.Tx
      verification: |
          The reference app doesn't have implementation for this command
      disabled: true

    - label: "Step 8: DUT issues an StartActionWithDuration command to TH"
      PICS: ACT.C.C03.Tx
      verification: |
          The reference app doesn't have implementation for this command
      disabled: true

    - label: "Step 9: DUT issues an PauseActionWithDuration command to TH"
      PICS: ACT.C.C06.Tx
      verification: |
          The reference app doesn't have implementation for this command
      disabled: true

    - label: "Step 10: DUT issues an EnableActionWithDuration command to TH"
      PICS: ACT.C.C09.Tx
      verification: |
          The reference app doesn't have implementation for this command
      disabled: true

    - label: "Step 11: DUT issues an DisableActionWithDuration command to TH"
      PICS: ACT.C.C0b.Tx
      verification: |
          The reference app doesn't have implementation for this command
      disabled: true

    - label: "Step 12: DUT issues an InstantActionWithTransition command to TH"
      PICS: ACT.C.C01.Tx
      verification: |
          The reference app doesn't have implementation for this command
      disabled: true
