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

PICS:
    - S.S

config:
    nodeId: 0x12344321
    cluster: "Scenes"
    endpoint: 1

tests:
    - label: "Wait for the commissioned device to be retrieved"
      cluster: "DelayCommands"
      command: "WaitForCommissionee"
      arguments:
          values:
              - name: "nodeId"
                value: nodeId

    - label: "TH sends a RemoveAllGroups command to DUT."
      PICS: G.S.C04.Rsp
      cluster: "Groups"
      endpoint: "1"
      command: "RemoveAllGroups"

    - label: "TH reads from the DUT the (0x0006) SceneTableSize attribute"
      PICS: S.S.A0006
      command: "readAttribute"
      attribute: "SceneTableSize"
      response:
          values:
              - name: "SceneTableSize"
                saveAs: maxScenes
          constraints:
              type: uint16

    - label:
          "preparation step for using commands from Groups cluster: Add KeySet"
      cluster: "Group Key Management"
      endpoint: 0
      command: "KeySetWrite"
      arguments:
          values:
              - name: "GroupKeySet"
                value:
                    {
                        GroupKeySetID: 0x01a1,
                        GroupKeySecurityPolicy: 0,
                        EpochKey0: "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf",
                        EpochStartTime0: 0,
                        EpochKey1: "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf",
                        EpochStartTime1: 0,
                        EpochKey2: "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf",
                        EpochStartTime2: 0,
                    }

    - label:
          "Preparation step for using commands from Groups cluster: Write Group
          Keys"
      cluster: "Group Key Management"
      endpoint: 0
      command: "writeAttribute"
      attribute: "GroupKeyMap"
      arguments:
          value:
              [
                  { FabricIndex: 1, GroupId: 0x0001, GroupKeySetID: 0x01a1 },
                  { FabricIndex: 1, GroupId: 0x0002, GroupKeySetID: 0x01a1 },
              ]

    - label:
          "TH sends a AddGroup command to DUT with the GroupID field set to
          0x0001."
      PICS: G.S.C00.Rsp
      cluster: "Groups"
      command: "AddGroup"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
              - name: "GroupName"
                value: "Group1"
      response:
          values:
              - name: "Status"
                value: 0
              - name: "GroupID"
                value: 0x0001

    - label:
          "TH sends a RemoveAllScenes command to DUT with the GroupID field set
          to 0x0001."
      PICS: S.S.C03.Rsp
      command: "RemoveAllScenes"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
      response:
          values:
              - name: "Status"
                value: 0
              - name: "GroupID"
                value: 0x0001

    - label:
          "TH sends a GetSceneMembership command to DUT with the GroupID field
          set to 0x0001."
      PICS: S.S.C06.Rsp
      command: "GetSceneMembership"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "Capacity"
                value: (maxScenes/2)
              - name: "GroupID"
                value: 0x0001

    - label:
          "TH configures AC1 on DUT for all implemented application clusters
          supporting scenes."
      PICS: PICS_SDK_CI_ONLY
      cluster: "Level Control"
      command: "MoveToLevelWithOnOff"
      arguments:
          values:
              - name: "Level"
                value: 100
              - name: "TransitionTime"
                value: 0
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label:
          "TH configures AC1 on DUT for all implemented application clusters
          supporting scenes."
      verification: |
          Is DUT configured with AC1?
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value:
                    "Please configure AC1 on DUT and enter 'y' after the
                    configuration is complete"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH sends a StoreScene command to DUT with the GroupID field set to
          0x0001 and the SceneID field set to 0x01."
      PICS: S.S.C04.Rsp
      command: "StoreScene"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x01
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x01

    - label:
          "TH configures AC2 on DUT for all implemented application clusters
          supporting scenes."
      cluster: "Level Control"
      PICS: PICS_SDK_CI_ONLY
      command: "MoveToLevelWithOnOff"
      arguments:
          values:
              - name: "Level"
                value: 200
              - name: "TransitionTime"
                value: 0
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label:
          "TH configures AC2 on DUT for all implemented application clusters
          supporting scenes."
      verification: |
          Is DUT configured with AC2?
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value:
                    "Please configure AC2 on DUT and enter 'y' after the
                    configuration is complete"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH sends a RecallScene command to DUT with the GroupID field set to
          0x0001 and the SceneID field set to 0x01."
      PICS: S.S.C05.Rsp
      command: "RecallScene"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x01

    - label: "TH reads the SceneCount attribute from DUT."
      PICS: S.S.A0000 && S.S.A0001 && S.S.A0002 && S.S.A0003
      command: "readAttribute"
      attribute: "SceneCount"
      response:
          value: 1
          constraints:
              type: int8u

    - label: "TH reads the CurrentScene attribute from DUT."
      PICS: S.S.A0000 && S.S.A0001 && S.S.A0002 && S.S.A0003
      command: "readAttribute"
      attribute: "CurrentScene"
      response:
          value: 0x01
          constraints:
              type: int8u

    - label: "TH reads the CurrentGroup attribute from DUT."
      PICS: S.S.A0000 && S.S.A0001 && S.S.A0002 && S.S.A0003
      command: "readAttribute"
      attribute: "CurrentGroup"
      response:
          value: 0x0001
          constraints:
              type: groupid

    - label: "TH reads the SceneValid attribute from DUT."
      PICS: S.S.A0000 && S.S.A0001 && S.S.A0002 && S.S.A0003
      command: "readAttribute"
      attribute: "SceneValid"
      response:
          value: true
          constraints:
              type: uint8

    - label: "Reboot target device"
      PICS: PICS_SDK_CI_ONLY
      cluster: "SystemCommands"
      endpoint: 0
      command: "Reboot"

    - label: "Reboot target device(DUT)"
      verification: |
          Did the DUT successfully reboot?
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value: "Please reboot the DUT and enter 'y' after DUT starts"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH configures AC2 on DUT for all implemented application clusters
          supporting scenes."
      cluster: "Level Control"
      PICS: PICS_SDK_CI_ONLY
      command: "MoveToLevelWithOnOff"
      arguments:
          values:
              - name: "Level"
                value: 200
              - name: "TransitionTime"
                value: 0
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label:
          "TH configures AC2 on DUT for all implemented application clusters
          supporting scenes."
      verification: |
          Is DUT configured with AC2?
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value:
                    "Please configure AC2 on DUT and enter 'y' after the
                    configuration is complete"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH sends a RecallScene command to DUT with the GroupID field set to
          0x0001 and the SceneID field set to 0x01."
      PICS: S.S.C05.Rsp
      command: "RecallScene"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x01

    - label:
          "TH sends a ViewScene command to DUT with the GroupID field set to
          0x0001 and the SceneID field set to 0x01."
      PICS: S.S.C01.Rsp && PICS_SDK_CI_ONLY
      command: "ViewScene"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x01
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x01
              - name: "TransitionTime"
                value: 0x0000
              - name: "ExtensionFieldSets"
                value:
                    [
                        {
                            ClusterID: 0x0006,
                            AttributeValueList:
                                [{ AttributeID: 0x0000, AttributeValue: 0x01 }],
                        },
                        {
                            ClusterID: 0x0008,
                            AttributeValueList:
                                [
                                    {
                                        AttributeID: 0x0000,
                                        AttributeValue: 0x64,
                                    },
                                    {
                                        AttributeID: 0x0001,
                                        AttributeValue: 0x00,
                                    },
                                ],
                        },
                    ]

    - label:
          "TH sends a ViewScene command to DUT with the GroupID field set to
          0x0001 and the SceneID field set to 0x01."
      PICS: S.S.C01.Rsp && PICS_SKIP_SAMPLE_APP
      command: "ViewScene"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x01
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x01
              - name: "TransitionTime"
                value: 0x0000

    - label:
          "TH sends a GetSceneMembership command to DUT with the GroupID field
          set to 0x0001."
      PICS: S.S.C06.Rsp
      command: "GetSceneMembership"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "Capacity"
                value: (maxScenes/2) - 1
              - name: "GroupID"
                value: 0x0001
              - name: "SceneList"
                value: [0x01]

    - label:
          "TH sends a RemoveAllScenes command to DUT with the GroupID field set
          to 0x0001."
      PICS: S.S.C03.Rsp
      command: "RemoveAllScenes"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
      response:
          values:
              - name: "Status"
                value: 0
              - name: "GroupID"
                value: 0x0001

    - label:
          "TH sends a GetSceneMembership command to DUT with the GroupID field
          set to 0x0001."
      PICS: S.S.C06.Rsp
      command: "GetSceneMembership"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "Capacity"
                value: (maxScenes/2)
              - name: "GroupID"
                value: 0x0001
                # TODO : For Capacity, replace "value: (maxScenes/2)" by following lines when new backend for test is used in CI
                #  constraints:
                #      anyOf: [(maxScenes/2), 0xfe ,0x89]

    - label:
          "TH sends a AddScene command to DUT with the GroupID field set to
          0x0001, the SceneID field set to 0x01, the TransitionTime field set to
          0x0001 and a set of extension fields appropriate to AC1."
      PICS: S.S.C00.Rsp && && PICS_SDK_CI_ONLY
      command: "AddScene"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x0001
              - name: "TransitionTime"
                value: 0x0001
              - name: "SceneName"
                value: "Scene1"
              - name: "ExtensionFieldSets"
                value:
                    [
                        {
                            ClusterID: 0x0006,
                            AttributeValueList:
                                [{ AttributeID: 0x0000, AttributeValue: 0x01 }],
                        },
                        {
                            ClusterID: 0x0008,
                            AttributeValueList:
                                [
                                    {
                                        AttributeID: 0x0000,
                                        AttributeValue: 0x64,
                                    },
                                    {
                                        AttributeID: 0x0001,
                                        AttributeValue: 0x00,
                                    },
                                ],
                        },
                    ]
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x01

    - label:
          "TH sends a AddScene command to DUT with the GroupID field set to
          0x0001, the SceneID field set to 0x01, the TransitionTime field set to
          0x0001 and a set of extension fields appropriate to AC1."
      verification: |
          Execute the following command in TH to generate the pre-condition to execute this test case:

          ./chip-tool scenes add-scene 0x0001 1 1 "Test Name" '[{"clusterId": value, "attributeValueList":[{"attributeId": value, "attributeValue": value}]}' nodeId endpointId

          Note: The number of ExtensionFieldSets, the value of clusterId of each ExtensionFieldSet, the number of attributes in attributeValueList and their values varies for each application

          Verify the "status is success" on the TH(Chip-tool)  Log  and below is the sample log provided for the raspi platform:
          [1670970505.887060][5742:5744] CHIP:DMG: InvokeResponseMessage =
          [1670970505.887118][5742:5744] CHIP:DMG: {
          [1670970505.887172][5742:5744] CHIP:DMG: 	suppressResponse = false,
          [1670970505.887231][5742:5744] CHIP:DMG: 	InvokeResponseIBs =
          [1670970505.887307][5742:5744] CHIP:DMG: 	[
          [1670970505.887366][5742:5744] CHIP:DMG: 		InvokeResponseIB =
          [1670970505.887444][5742:5744] CHIP:DMG: 		{
          [1670970505.887507][5742:5744] CHIP:DMG: 			CommandDataIB =
          [1670970505.887576][5742:5744] CHIP:DMG: 			{
          [1670970505.887713][5742:5744] CHIP:DMG: 				CommandPathIB =
          [1670970505.887804][5742:5744] CHIP:DMG: 				{
          [1670970505.887940][5742:5744] CHIP:DMG: 					EndpointId = 0x1,
          [1670970505.888093][5742:5744] CHIP:DMG: 					ClusterId = 0x5,
          [1670970505.888242][5742:5744] CHIP:DMG: 					CommandId = 0x0,
          [1670970505.888385][5742:5744] CHIP:DMG: 				},
          [1670970505.888692][5742:5744] CHIP:DMG:
          [1670970505.888769][5742:5744] CHIP:DMG: 				CommandFields =
          [1670970505.888852][5742:5744] CHIP:DMG: 				{
          [1670970505.889030][5742:5744] CHIP:DMG: 					0x0 = 0,
          [1670970505.889183][5742:5744] CHIP:DMG: 					0x1 = 1,
          [1670970505.889406][5742:5744] CHIP:DMG: 					0x2 = 1,
          [1670970505.889515][5742:5744] CHIP:DMG: 				},
          [1670970505.889603][5742:5744] CHIP:DMG: 			},
          [1670970505.889684][5742:5744] CHIP:DMG:
          [1670970505.889745][5742:5744] CHIP:DMG: 		},
          [1670970505.889821][5742:5744] CHIP:DMG:
          [1670970505.889878][5742:5744] CHIP:DMG: 	],
          [1670970505.889953][5742:5744] CHIP:DMG:
          [1670970505.890009][5742:5744] CHIP:DMG: 	InteractionModelRevision = 1
          [1670970505.890066][5742:5744] CHIP:DMG: },
          [1670970505.890212][5742:5744] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0005 Command=0x0000_0000
          [1670970505.890328][5742:5744] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0005 Command 0x0000_0000
          [1670970505.890458][5742:5744] CHIP:TOO:   AddSceneResponse: {
          [1670970505.890551][5742:5744] CHIP:TOO:     status: 0
          [1670970505.890608][5742:5744] CHIP:TOO:     groupId: 1
          [1670970505.890717][5742:5744] CHIP:TOO:     sceneId: 1
          [1670970505.890774][5742:5744] CHIP:TOO:    }
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value:
                    "Please execute the add scene command with
                    extensionfieldsets in accordance with AC1 on DUT and enter
                    'y' if the command is successful"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH sends a GetSceneMembership command to DUT with the GroupID field
          set to 0x0001."
      PICS: S.S.C06.Rsp
      command: "GetSceneMembership"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "Capacity"
                value: (maxScenes/2) - 1
              - name: "GroupID"
                value: 0x0001
              - name: "SceneList"
                value: [0x01]
                # TODO : For Capacity, replace "value: (maxScenes/2)" by following lines when new backend for test is used in CI
                #  constraints:
                #      anyOf: [(maxScenes/2), 0xfe ,0x89]

    - label:
          "TH sends a RemoveScene command to DUT with the GroupID field set to
          0x0001 and the SceneID field set to 0x01."
      PICS: S.S.C02.Rsp
      command: "RemoveScene"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x0001
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x01

    - label:
          "TH sends a GetSceneMembership command to DUT with the GroupID field
          set to 0x0001."
      PICS: S.S.C06.Rsp
      command: "GetSceneMembership"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "Capacity"
                value: (maxScenes/2)
              - name: "GroupID"
                value: 0x0001
                # TODO : For Capacity, replace "value: (maxScenes/2)" by following lines when new backend for test is used in CI
                #  constraints:
                #      anyOf: [(maxScenes/2), 0xfe ,0x89]

    - label:
          "TH configures AC2 on DUT for all implemented application clusters
          supporting scenes."
      cluster: "Level Control"
      PICS: PICS_SDK_CI_ONLY
      command: "MoveToLevelWithOnOff"
      arguments:
          values:
              - name: "Level"
                value: 200
              - name: "TransitionTime"
                value: 0
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label:
          "TH configures AC2 on DUT for all implemented application clusters
          supporting scenes."
      verification: |
          Is DUT configured with AC2?
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value:
                    "Please configure AC2 on DUT and enter 'y' after the
                    configuration is complete"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH sends a RecallScene command to DUT with the GroupID field set to
          0x0001 and the SceneID field set to 0x01."
      PICS: S.S.C05.Rsp
      command: "RecallScene"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x01
      response:
          error: NOT_FOUND

    - label:
          "TH configures AC1 on DUT for all implemented application clusters
          supporting scenes."
      cluster: "Level Control"
      PICS: PICS_SDK_CI_ONLY
      command: "MoveToLevelWithOnOff"
      arguments:
          values:
              - name: "Level"
                value: 100
              - name: "TransitionTime"
                value: 0
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label:
          "TH configures AC1 on DUT for all implemented application clusters
          supporting scenes."
      verification: |
          Is DUT configured with AC1?
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value:
                    "Please configure AC1 on DUT and enter 'y' after the
                    configuration is complete"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH sends a StoreScene command to DUT with the GroupID field set to
          0x0001 and the SceneID field set to 0x01."
      PICS: S.S.C04.Rsp
      command: "StoreScene"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x01
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x01

    - label:
          "TH configures AC2 on DUT for all implemented application clusters
          supporting scenes."
      cluster: "Level Control"
      PICS: PICS_SDK_CI_ONLY
      command: "MoveToLevelWithOnOff"
      arguments:
          values:
              - name: "Level"
                value: 200
              - name: "TransitionTime"
                value: 0
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label:
          "TH configures AC2 on DUT for all implemented application clusters
          supporting scenes."
      verification: |
          Is DUT configured with AC2?
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value:
                    "Please configure AC2 on DUT and enter 'y' after the
                    configuration is complete"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH sends a StoreScene command to DUT with the GroupID field set to
          0x0001 and the SceneID field set to 0x02."
      PICS: S.S.C04.Rsp
      command: "StoreScene"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x02
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "GroupID"
                value: 0x0001
              - name: "SceneID"
                value: 0x02
              # TODO: For status, replace "- value: 0x00" by following lines when new backend for test is used in CI
              #  saveAs: StoreStatus
              #  constraints:
              #      anyOf: [0x00, 0x89]

    # TODO: Uncomment once the new backend is implemented, allowing the use of EqualityCommands pseudo cluster
    #- label:
    #      "Verify that the status of previous command was either 0x00 (SUCCESS)
    #      or 0x89 (INSUFFICIENT_SPACE)"
    #  cluster: "EqualityCommands"
    #  command: "UnsignedNumberEquals"
    #  arguments:
    #      values:
    #          - name: "Value1"
    #            value: 0x00
    #          - name: "Value2"
    #            value: StoreStatus
    #  response:
    #      - values:
    #            - name: "Equals"
    #              value: true
    #              saveAs: ContinueTest

    - label:
          "TH sends a GetSceneMembership command to DUT with the GroupID field
          set to 0x0001."
      # TODO : Uncomment runIf statement once new test backend is implemented
      #runIf: ContinueTest
      PICS: S.S.C06.Rsp
      command: "GetSceneMembership"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0001
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "Capacity"
                value: (maxScenes/2) - 2
              - name: "GroupID"
                value: 0x0001
              - name: "SceneList"
                value: [0x01, 0x02]

    - label:
          "If capacity allows, TH sends a AddGroup command to DUT with the
          GroupID field set to 0x0002."
      # TODO : Uncomment runIf statement once new test backend is implemented
      #runIf: ContinueTest
      PICS: G.S.C00.Rsp
      cluster: "Groups"
      command: "AddGroup"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0002
              - name: "GroupName"
                value: "Group2"
      response:
          values:
              - name: "Status"
                value: 0
              - name: "GroupID"
                value: 0x0002

    - label:
          "TH sends a RemoveAllScenes command to DUT with the GroupID field set
          to 0x0002."
      # TODO : Uncomment runIf statement once new test backend is implemented
      #runIf: ContinueTest
      PICS: S.S.C03.Rsp
      command: "RemoveAllScenes"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0002
      response:
          values:
              - name: "Status"
                value: 0
              - name: "GroupID"
                value: 0x0002

    - label:
          "TH sends a GetSceneMembership command to DUT with the GroupID field
          set to 0x0002."
      # TODO : Uncomment runIf statement once new test backend is implemented
      #runIf: ContinueTest
      PICS: S.S.C06.Rsp
      command: "GetSceneMembership"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0002
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "Capacity"
                value: (maxScenes/2) - 2
              - name: "GroupID"
                value: 0x0002

    - label:
          "TH configures AC3 on DUT for all implemented application clusters
          supporting scenes."
      # TODO : Uncomment runIf statement once new test backend is implemented
      #runIf: ContinueTest
      cluster: "Level Control"
      PICS: PICS_SDK_CI_ONLY
      command: "MoveToLevelWithOnOff"
      arguments:
          values:
              - name: "Level"
                value: 1
              - name: "TransitionTime"
                value: 0
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label:
          "TH configures AC3 on DUT for all implemented application clusters
          supporting scenes."
      # TODO : Uncomment runIf statement once new test backend is implemented
      #runIf: ContinueTest
      verification: |
          Is DUT configured with AC3?
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_SKIP_SAMPLE_APP
      arguments:
          values:
              - name: "message"
                value:
                    "Please configure AC3 on DUT and enter 'y' after the
                    configuration is complete"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH sends a StoreScene command to DUT with the GroupID field set to
          0x0002 and the SceneID field set to 0x03."
      # TODO : Uncomment runIf statement once new test backend is implemented
      #runIf: ContinueTest
      PICS: S.S.C04.Rsp
      command: "StoreScene"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0002
              - name: "SceneID"
                value: 0x03
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "GroupID"
                value: 0x0002
              - name: "SceneID"
                value: 0x03
              # TODO: For Status, replace "- value: 0x00"by following lines when new backend for test is used in CI
              #  saveAs: StoreStatus
              #  constraints:
              #      anyOf: [0x00, 0x89]

    # TODO: Uncomment once the new backend is implemented, allowing the use of EqualityCommands pseudo cluster
    #- label:
    #      "Verify that the status of previous command was either 0x00 (SUCCESS)
    #      or 0x89 (INSUFFICIENT_SPACE)"
    #  runIf: ContinueTest
    #  cluster: "EqualityCommands"
    #  command: "UnsignedNumberEquals"
    #  arguments:
    #      values:
    #          - name: "Value1"
    #            value: 0x00
    #          - name: "Value2"
    #            value: StoreStatus
    #  response:
    #      - values:
    #            - name: "Equals"
    #              value: true
    #              saveAs: ContinueTest

    - label:
          "TH sends a GetSceneMembership command to DUT with the GroupID field
          set to 0x0002."
      #runIf: ContinueTest
      PICS: S.S.C06.Rsp
      command: "GetSceneMembership"
      arguments:
          values:
              - name: "GroupID"
                value: 0x0002
      response:
          values:
              - name: "Status"
                value: 0x00
              - name: "Capacity"
                value: (maxScenes/2) - 3
              - name: "GroupID"
                value: 0x0002
              - name: "SceneList"
                value: [0x03]
