# 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-CC-3.4] Hue functionality with client as DUT

PICS:
    - CC.C

config:
    nodeId: 0x12344321
    cluster: "Basic"
    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: "DUT sends MoveToHue command to TH"
      PICS: CC.C.C00.Rsp
      verification: |
          ./chip-tool colorcontrol move-to-hue 1 0 300 0 0 1 1

          Verify success response in TH(all-clusters-app) Log:

          [1657911287.814194][2977:2977] CHIP:DMG: InvokeRequestMessage =
          [1657911287.814246][2977:2977] CHIP:DMG: {
          [1657911287.814289][2977:2977] CHIP:DMG:        suppressResponse = false,
          [1657911287.814340][2977:2977] CHIP:DMG:        timedRequest = false,
          [1657911287.814385][2977:2977] CHIP:DMG:        InvokeRequests =
          [1657911287.814445][2977:2977] CHIP:DMG:        [
          [1657911287.814491][2977:2977] CHIP:DMG:                CommandDataIB =
          [1657911287.814543][2977:2977] CHIP:DMG:                {
          [1657911287.814591][2977:2977] CHIP:DMG:                        CommandPathIB =
          [1657911287.814644][2977:2977] CHIP:DMG:                        {
          [1657911287.814698][2977:2977] CHIP:DMG:                                EndpointId = 0x1,
          [1657911287.814756][2977:2977] CHIP:DMG:                                ClusterId = 0x300,
          [1657911287.814811][2977:2977] CHIP:DMG:                                CommandId = 0x0,
          [1657911287.814863][2977:2977] CHIP:DMG:                        },
          [1657911287.814918][2977:2977] CHIP:DMG:
          [1657911287.814969][2977:2977] CHIP:DMG:                        CommandFields =
          [1657911287.815021][2977:2977] CHIP:DMG:                        {
          [1657911287.815062][2977:2977] CHIP:DMG:                                0x0 = 1,
          [1657911287.815092][2977:2977] CHIP:DMG:                                0x1 = 0,
          [1657911287.815123][2977:2977] CHIP:DMG:                                0x2 = 300,
          [1657911287.815221][2977:2977] CHIP:DMG:                                0x3 = 0,
          [1657911287.815256][2977:2977] CHIP:DMG:                                0x4 = 0,
          [1657911287.815285][2977:2977] CHIP:DMG:                        },
          [1657911287.815311][2977:2977] CHIP:DMG:                },
          [1657911287.815342][2977:2977] CHIP:DMG:
          [1657911287.815366][2977:2977] CHIP:DMG:        ],
          [1657911287.815397][2977:2977] CHIP:DMG:
          [1657911287.815420][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657911287.815443][2977:2977] CHIP:DMG: },
          [1657911287.815520][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1657911287.815562][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657911287.815590][2977:2977] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_0000
      disabled: true

    - label:
          "DUT reads CurrentHue attribute from TH (potentially multiple times)"
      PICS: CC.C.C00.Rsp && CC.C.A0000
      verification: |
          ./chip-tool colorcontrol read current-hue 1  1

          Verify response contains a CurrentHue value in  TH(all-clusters-app)  Logs:
          [1657911327.184763][2977:2977] CHIP:IM: Received Read request
          [1657911327.184901][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657911327.184952][2977:2977] CHIP:DMG: {
          [1657911327.184993][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657911327.185041][2977:2977] CHIP:DMG:        [
          [1657911327.185084][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657911327.185133][2977:2977] CHIP:DMG:                {
          [1657911327.185185][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657911327.185243][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657911327.185301][2977:2977] CHIP:DMG:                        Attribute = 0x0000_0000,
          [1657911327.185355][2977:2977] CHIP:DMG:                }
          [1657911327.185407][2977:2977] CHIP:DMG:
          [1657911327.185455][2977:2977] CHIP:DMG:        ],
          [1657911327.185506][2977:2977] CHIP:DMG:
          [1657911327.185553][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657911327.185599][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657911327.185642][2977:2977] CHIP:DMG: },
          [1657911327.185770][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657911327.185916][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657911327.185968][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 0 is dirty
          [1657911327.186007][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0000 (expanded=0)
          [1657911327.186056][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657911327.186111][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657911327.186199][2977:2977] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label: "DUT sends MoveHue command to TH"
      PICS: CC.C.C01.Rsp
      verification: |
          ./chip-tool colorcontrol move-hue 1 10 0 0 1 1

          Verify success response in TH(all-clusters-app) Log:

          [1657911357.567908][2977:2977] CHIP:DMG: InvokeRequestMessage =
          [1657911357.567957][2977:2977] CHIP:DMG: {
          [1657911357.567999][2977:2977] CHIP:DMG:        suppressResponse = false,
          [1657911357.568048][2977:2977] CHIP:DMG:        timedRequest = false,
          [1657911357.568129][2977:2977] CHIP:DMG:        InvokeRequests =
          [1657911357.568189][2977:2977] CHIP:DMG:        [
          [1657911357.568234][2977:2977] CHIP:DMG:                CommandDataIB =
          [1657911357.568289][2977:2977] CHIP:DMG:                {
          [1657911357.568335][2977:2977] CHIP:DMG:                        CommandPathIB =
          [1657911357.568390][2977:2977] CHIP:DMG:                        {
          [1657911357.568454][2977:2977] CHIP:DMG:                                EndpointId = 0x1,
          [1657911357.568520][2977:2977] CHIP:DMG:                                ClusterId = 0x300,
          [1657911357.568580][2977:2977] CHIP:DMG:                                CommandId = 0x1,
          [1657911357.568636][2977:2977] CHIP:DMG:                        },
          [1657911357.568695][2977:2977] CHIP:DMG:
          [1657911357.568746][2977:2977] CHIP:DMG:                        CommandFields =
          [1657911357.568807][2977:2977] CHIP:DMG:                        {
          [1657911357.568868][2977:2977] CHIP:DMG:                                0x0 = 1,
          [1657911357.568929][2977:2977] CHIP:DMG:                                0x1 = 10,
          [1657911357.569006][2977:2977] CHIP:DMG:                                0x2 = 0,
          [1657911357.569071][2977:2977] CHIP:DMG:                                0x3 = 0,
          [1657911357.569131][2977:2977] CHIP:DMG:                        },
          [1657911357.569189][2977:2977] CHIP:DMG:                },
          [1657911357.569244][2977:2977] CHIP:DMG:
          [1657911357.569288][2977:2977] CHIP:DMG:        ],
          [1657911357.569344][2977:2977] CHIP:DMG:
          [1657911357.569387][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657911357.569433][2977:2977] CHIP:DMG: },
          [1657911357.569549][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1657911357.569610][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657911357.569659][2977:2977] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_0001
      disabled: true

    - label: "DUT reads CurrentHue attribute (potentially multiple times)"
      PICS: CC.C.C01.Rsp && CC.C.A0000
      verification: |
          ./chip-tool colorcontrol read current-hue 1  1


          Verify response contains a CurrentHue value in  TH(all-clusters-app)  Logs:

          [1657911381.312873][2977:2977] CHIP:IM: Received Read request
          [1657911381.312995][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657911381.313043][2977:2977] CHIP:DMG: {
          [1657911381.313082][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657911381.313172][2977:2977] CHIP:DMG:        [
          [1657911381.313224][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657911381.313274][2977:2977] CHIP:DMG:                {
          [1657911381.313325][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657911381.313390][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657911381.313449][2977:2977] CHIP:DMG:                        Attribute = 0x0000_0000,
          [1657911381.313549][2977:2977] CHIP:DMG:                }
          [1657911381.313607][2977:2977] CHIP:DMG:
          [1657911381.313657][2977:2977] CHIP:DMG:        ],
          [1657911381.313703][2977:2977] CHIP:DMG:
          [1657911381.313730][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657911381.313756][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657911381.313782][2977:2977] CHIP:DMG: },
          [1657911381.313945][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657911381.314046][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657911381.314077][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 0 is dirty
          [1657911381.314100][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0000 (expanded=0)
          [1657911381.314129][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657911381.314164][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657911381.314224][2977:2977] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label: "DUT sends StepHue command to TH"
      PICS: CC.C.C02.Rsp
      verification: |
          ./chip-tool colorcontrol step-hue 1 10 200 0 0 1 1


          Verify success response in TH(all-clusters-app) Log:

          [1657911412.480684][2977:2977] CHIP:DMG: InvokeRequestMessage =
          [1657911412.480741][2977:2977] CHIP:DMG: {
          [1657911412.480788][2977:2977] CHIP:DMG:        suppressResponse = false,
          [1657911412.480843][2977:2977] CHIP:DMG:        timedRequest = false,
          [1657911412.480894][2977:2977] CHIP:DMG:        InvokeRequests =
          [1657911412.480960][2977:2977] CHIP:DMG:        [
          [1657911412.481011][2977:2977] CHIP:DMG:                CommandDataIB =
          [1657911412.481067][2977:2977] CHIP:DMG:                {
          [1657911412.481120][2977:2977] CHIP:DMG:                        CommandPathIB =
          [1657911412.481199][2977:2977] CHIP:DMG:                        {
          [1657911412.481329][2977:2977] CHIP:DMG:                                EndpointId = 0x1,
          [1657911412.481400][2977:2977] CHIP:DMG:                                ClusterId = 0x300,
          [1657911412.481468][2977:2977] CHIP:DMG:                                CommandId = 0x2,
          [1657911412.481532][2977:2977] CHIP:DMG:                        },
          [1657911412.481647][2977:2977] CHIP:DMG:
          [1657911412.481707][2977:2977] CHIP:DMG:                        CommandFields =
          [1657911412.481769][2977:2977] CHIP:DMG:                        {
          [1657911412.481958][2977:2977] CHIP:DMG:                                0x0 = 1,
          [1657911412.482101][2977:2977] CHIP:DMG:                                0x1 = 10,
          [1657911412.482173][2977:2977] CHIP:DMG:                                0x2 = 200,
          [1657911412.482243][2977:2977] CHIP:DMG:                                0x3 = 0,
          [1657911412.482313][2977:2977] CHIP:DMG:                                0x4 = 0,
          [1657911412.482379][2977:2977] CHIP:DMG:                        },
          [1657911412.482438][2977:2977] CHIP:DMG:                },
          [1657911412.482506][2977:2977] CHIP:DMG:
          [1657911412.482556][2977:2977] CHIP:DMG:        ],
          [1657911412.482621][2977:2977] CHIP:DMG:
          [1657911412.482670][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657911412.482718][2977:2977] CHIP:DMG: },
          [1657911412.482850][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1657911412.482919][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657911412.482974][2977:2977] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_0002
      disabled: true

    - label:
          "DUT reads CurrentHue attribute from TH (potentially multiple times)"
      PICS: CC.C.C02.Rsp && CC.C.A0000
      verification: |
          ./chip-tool colorcontrol read current-hue 1  1

          Verify response contains a CurrentHue value in  TH(all-clusters-app)  Logs:

          [1657911437.116353][2977:2977] CHIP:IM: Received Read request
          [1657911437.116480][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657911437.116528][2977:2977] CHIP:DMG: {
          [1657911437.116568][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657911437.116615][2977:2977] CHIP:DMG:        [
          [1657911437.116658][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657911437.116707][2977:2977] CHIP:DMG:                {
          [1657911437.116758][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657911437.116823][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657911437.116882][2977:2977] CHIP:DMG:                        Attribute = 0x0000_0000,
          [1657911437.116933][2977:2977] CHIP:DMG:                }
          [1657911437.116988][2977:2977] CHIP:DMG:
          [1657911437.117038][2977:2977] CHIP:DMG:        ],
          [1657911437.117090][2977:2977] CHIP:DMG:
          [1657911437.117130][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657911437.117175][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657911437.117218][2977:2977] CHIP:DMG: },
          [1657911437.117344][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657911437.117488][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657911437.117541][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 0 is dirty
          [1657911437.117580][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0000 (expanded=0)
          [1657911437.117629][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657911437.117684][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657911437.117773][2977:2977] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label: "DUT sends StopMoveStep command to TH."
      PICS: CC.C.C47.Rsp
      verification: |
          ./chip-tool colorcontrol stop-move-step 0 0 1 1

          Verify success response in TH(all-clusters-app) Log:

          [1657911457.334435][2977:2977] CHIP:DMG: InvokeRequestMessage =
          [1657911457.334464][2977:2977] CHIP:DMG: {
          [1657911457.334487][2977:2977] CHIP:DMG:        suppressResponse = false,
          [1657911457.334514][2977:2977] CHIP:DMG:        timedRequest = false,
          [1657911457.334535][2977:2977] CHIP:DMG:        InvokeRequests =
          [1657911457.334568][2977:2977] CHIP:DMG:        [
          [1657911457.334593][2977:2977] CHIP:DMG:                CommandDataIB =
          [1657911457.334622][2977:2977] CHIP:DMG:                {
          [1657911457.334648][2977:2977] CHIP:DMG:                        CommandPathIB =
          [1657911457.334674][2977:2977] CHIP:DMG:                        {
          [1657911457.334700][2977:2977] CHIP:DMG:                                EndpointId = 0x1,
          [1657911457.334733][2977:2977] CHIP:DMG:                                ClusterId = 0x300,
          [1657911457.334766][2977:2977] CHIP:DMG:                                CommandId = 0x47,
          [1657911457.334797][2977:2977] CHIP:DMG:                        },
          [1657911457.334830][2977:2977] CHIP:DMG:
          [1657911457.334857][2977:2977] CHIP:DMG:                        CommandFields =
          [1657911457.334887][2977:2977] CHIP:DMG:                        {
          [1657911457.334920][2977:2977] CHIP:DMG:                                0x0 = 0,
          [1657911457.334954][2977:2977] CHIP:DMG:                                0x1 = 0,
          [1657911457.334986][2977:2977] CHIP:DMG:                        },
          [1657911457.335015][2977:2977] CHIP:DMG:                },
          [1657911457.335046][2977:2977] CHIP:DMG:
          [1657911457.335071][2977:2977] CHIP:DMG:        ],
          [1657911457.335102][2977:2977] CHIP:DMG:
          [1657911457.335125][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657911457.335148][2977:2977] CHIP:DMG: },
          [1657911457.335218][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1657911457.335258][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657911457.335287][2977:2977] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_0047
      disabled: true

    - label: "Over TransitionTime, DUT reads CurrentHue attribute from TH."
      PICS: CC.C.C47.Rsp && CC.C.A0000
      verification: |
          ./chip-tool colorcontrol read current-hue 1  1

          Verify response contains a CurrentHue value in  TH(all-clusters-app)  Logs:
          [1657911437.116353][2977:2977] CHIP:IM: Received Read request
          [1657911437.116480][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657911437.116528][2977:2977] CHIP:DMG: {
          [1657911437.116568][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657911437.116615][2977:2977] CHIP:DMG:        [
          [1657911437.116658][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657911437.116707][2977:2977] CHIP:DMG:                {
          [1657911437.116758][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657911437.116823][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657911437.116882][2977:2977] CHIP:DMG:                        Attribute = 0x0000_0000,
          [1657911437.116933][2977:2977] CHIP:DMG:                }
          [1657911437.116988][2977:2977] CHIP:DMG:
          [1657911437.117038][2977:2977] CHIP:DMG:        ],
          [1657911437.117090][2977:2977] CHIP:DMG:
          [1657911437.117130][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657911437.117175][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657911437.117218][2977:2977] CHIP:DMG: },
          [1657911437.117344][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657911437.117488][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657911437.117541][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 0 is dirty
          [1657911437.117580][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0000 (expanded=0)
          [1657911437.117629][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657911437.117684][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657911437.117773][2977:2977] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true
