# 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.27. [TC-CC-9.4] ColorLoopSet Validation 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: "Precondition"
      verification: |
          1. Commission DUT to TH

          2. Set DUT OnOff to On
      disabled: true

    - label: "DUT sends ColorLoopSet command to TH."
      PICS: CC.C.C44.Tx
      verification: |
          ./chip-tool colorcontrol color-loop-set 15 0 0 30 160 0 0 1 1

          Verify success response in TH(all-clusters-app) Log:
          [1657912387.432732][3126:3126] CHIP:DMG: InvokeRequestMessage =
          [1657912387.432781][3126:3126] CHIP:DMG: {
          [1657912387.432823][3126:3126] CHIP:DMG:        suppressResponse = false,
          [1657912387.432872][3126:3126] CHIP:DMG:        timedRequest = false,
          [1657912387.432917][3126:3126] CHIP:DMG:        InvokeRequests =
          [1657912387.432978][3126:3126] CHIP:DMG:        [
          [1657912387.433023][3126:3126] CHIP:DMG:                CommandDataIB =
          [1657912387.433078][3126:3126] CHIP:DMG:                {
          [1657912387.433130][3126:3126] CHIP:DMG:                        CommandPathIB =
          [1657912387.433192][3126:3126] CHIP:DMG:                        {
          [1657912387.433250][3126:3126] CHIP:DMG:                                EndpointId = 0x1,
          [1657912387.433311][3126:3126] CHIP:DMG:                                ClusterId = 0x300,
          [1657912387.433372][3126:3126] CHIP:DMG:                                CommandId = 0x44,
          [1657912387.433429][3126:3126] CHIP:DMG:                        },
          [1657912387.433489][3126:3126] CHIP:DMG:
          [1657912387.433541][3126:3126] CHIP:DMG:                        CommandFields =
          [1657912387.433595][3126:3126] CHIP:DMG:                        {
          [1657912387.433660][3126:3126] CHIP:DMG:                                0x0 = 15,
          [1657912387.433722][3126:3126] CHIP:DMG:                                0x1 = 0,
          [1657912387.433778][3126:3126] CHIP:DMG:                                0x2 = 0,
          [1657912387.433846][3126:3126] CHIP:DMG:                                0x3 = 30,
          [1657912387.433914][3126:3126] CHIP:DMG:                                0x4 = 160,
          [1657912387.433974][3126:3126] CHIP:DMG:                                0x5 = 0,
          [1657912387.434040][3126:3126] CHIP:DMG:                                0x6 = 0,
          [1657912387.434101][3126:3126] CHIP:DMG:                        },
          [1657912387.434152][3126:3126] CHIP:DMG:                },
          [1657912387.434213][3126:3126] CHIP:DMG:
          [1657912387.434257][3126:3126] CHIP:DMG:        ],
          [1657912387.434312][3126:3126] CHIP:DMG:
          [1657912387.434354][3126:3126] CHIP:DMG:        InteractionModelRevision = 1
          [1657912387.434397][3126:3126] CHIP:DMG: },
          [1657912387.434514][3126:3126] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1657912387.434575][3126:3126] CHIP:DMG: AccessControl: allowed
          [1657912387.434626][3126:3126] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_0044
      disabled: true

    - label: "DUT read ColorLoopActive attribute from TH."
      PICS: CC.C.A4002
      verification: |
          ./chip-tool colorcontrol read color-loop-active 1 1

          Verify response contains a value consistent  in  TH(all-clusters-app)  Logs:
          [1657912416.547714][3126:3126] CHIP:IM: Received Read request
          [1657912416.547842][3126:3126] CHIP:DMG: ReadRequestMessage =
          [1657912416.547890][3126:3126] CHIP:DMG: {
          [1657912416.547930][3126:3126] CHIP:DMG:        AttributePathIBs =
          [1657912416.547986][3126:3126] CHIP:DMG:        [
          [1657912416.548031][3126:3126] CHIP:DMG:                AttributePathIB =
          [1657912416.548116][3126:3126] CHIP:DMG:                {
          [1657912416.548167][3126:3126] CHIP:DMG:                        Endpoint = 0x1,
          [1657912416.548231][3126:3126] CHIP:DMG:                        Cluster = 0x300,
          [1657912416.548292][3126:3126] CHIP:DMG:                        Attribute = 0x0000_4002,
          [1657912416.548356][3126:3126] CHIP:DMG:                }
          [1657912416.548410][3126:3126] CHIP:DMG:
          [1657912416.548464][3126:3126] CHIP:DMG:        ],
          [1657912416.548516][3126:3126] CHIP:DMG:
          [1657912416.548564][3126:3126] CHIP:DMG:        isFabricFiltered = true,
          [1657912416.548610][3126:3126] CHIP:DMG:        InteractionModelRevision = 1
          [1657912416.548653][3126:3126] CHIP:DMG: },
          [1657912416.548787][3126:3126] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657912416.548947][3126:3126] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657912416.549000][3126:3126] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4002 is dirty
          [1657912416.549040][3126:3126] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4002 (expanded=0)
          [1657912416.549091][3126:3126] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657912416.549147][3126:3126] CHIP:DMG: AccessControl: allowed
          [1657912416.549237][3126:3126] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label: "DUT read ColorLoopDirection attribute from TH."
      PICS: CC.C.A4003
      verification: |
          ./chip-tool colorcontrol read color-loop-direction 1 1

          Verify response contains a value consistent  in  TH(all-clusters-app)  Logs:
          [1657912446.661818][3126:3126] CHIP:IM: Received Read request
          [1657912446.661940][3126:3126] CHIP:DMG: ReadRequestMessage =
          [1657912446.661989][3126:3126] CHIP:DMG: {
          [1657912446.662029][3126:3126] CHIP:DMG:        AttributePathIBs =
          [1657912446.662076][3126:3126] CHIP:DMG:        [
          [1657912446.662120][3126:3126] CHIP:DMG:                AttributePathIB =
          [1657912446.662174][3126:3126] CHIP:DMG:                {
          [1657912446.662225][3126:3126] CHIP:DMG:                        Endpoint = 0x1,
          [1657912446.662282][3126:3126] CHIP:DMG:                        Cluster = 0x300,
          [1657912446.662345][3126:3126] CHIP:DMG:                        Attribute = 0x0000_4003,
          [1657912446.662407][3126:3126] CHIP:DMG:                }
          [1657912446.662462][3126:3126] CHIP:DMG:
          [1657912446.662511][3126:3126] CHIP:DMG:        ],
          [1657912446.662563][3126:3126] CHIP:DMG:
          [1657912446.662610][3126:3126] CHIP:DMG:        isFabricFiltered = true,
          [1657912446.662656][3126:3126] CHIP:DMG:        InteractionModelRevision = 1
          [1657912446.662695][3126:3126] CHIP:DMG: },
          [1657912446.662822][3126:3126] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657912446.662971][3126:3126] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657912446.663023][3126:3126] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4003 is dirty
          [1657912446.663064][3126:3126] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4003 (expanded=0)
          [1657912446.663114][3126:3126] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657912446.663169][3126:3126] CHIP:DMG: AccessControl: allowed
          [1657912446.663260][3126:3126] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label: "DUT read ColorLoopTime attribute from TH."
      PICS: CC.C.A4004
      verification: |
          ./chip-tool colorcontrol read color-loop-time 1 1
          Verify response contains a value consistent  in  TH(all-clusters-app)  Logs:
          [1657912469.590293][3126:3126] CHIP:IM: Received Read request
          [1657912469.590419][3126:3126] CHIP:DMG: ReadRequestMessage =
          [1657912469.590466][3126:3126] CHIP:DMG: {
          [1657912469.590499][3126:3126] CHIP:DMG:        AttributePathIBs =
          [1657912469.590546][3126:3126] CHIP:DMG:        [
          [1657912469.590590][3126:3126] CHIP:DMG:                AttributePathIB =
          [1657912469.590639][3126:3126] CHIP:DMG:                {
          [1657912469.590690][3126:3126] CHIP:DMG:                        Endpoint = 0x1,
          [1657912469.590748][3126:3126] CHIP:DMG:                        Cluster = 0x300,
          [1657912469.590809][3126:3126] CHIP:DMG:                        Attribute = 0x0000_4004,
          [1657912469.590861][3126:3126] CHIP:DMG:                }
          [1657912469.590913][3126:3126] CHIP:DMG:
          [1657912469.590959][3126:3126] CHIP:DMG:        ],
          [1657912469.591009][3126:3126] CHIP:DMG:
          [1657912469.591056][3126:3126] CHIP:DMG:        isFabricFiltered = true,
          [1657912469.591101][3126:3126] CHIP:DMG:        InteractionModelRevision = 1
          [1657912469.591143][3126:3126] CHIP:DMG: },
          [1657912469.591267][3126:3126] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657912469.591410][3126:3126] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657912469.591461][3126:3126] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4004 is dirty
          [1657912469.591500][3126:3126] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4004 (expanded=0)
          [1657912469.591545][3126:3126] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657912469.591599][3126:3126] CHIP:DMG: AccessControl: allowed
          [1657912469.591688][3126:3126] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label: "DUT read ColorLoopStartEnhancedHue attribute from TH."
      PICS: CC.C.A4005
      verification: |
          ./chip-tool colorcontrol read color-loop-start-enhanced-hue 1 1
          Verify response contains a value consistent  in  TH(all-clusters-app)  Logs:
          [1657912490.104534][3126:3126] CHIP:IM: Received Read request
          [1657912490.104664][3126:3126] CHIP:DMG: ReadRequestMessage =
          [1657912490.104713][3126:3126] CHIP:DMG: {
          [1657912490.104753][3126:3126] CHIP:DMG:        AttributePathIBs =
          [1657912490.104801][3126:3126] CHIP:DMG:        [
          [1657912490.104844][3126:3126] CHIP:DMG:                AttributePathIB =
          [1657912490.104893][3126:3126] CHIP:DMG:                {
          [1657912490.104945][3126:3126] CHIP:DMG:                        Endpoint = 0x1,
          [1657912490.105003][3126:3126] CHIP:DMG:                        Cluster = 0x300,
          [1657912490.105059][3126:3126] CHIP:DMG:                        Attribute = 0x0000_4005,
          [1657912490.105112][3126:3126] CHIP:DMG:                }
          [1657912490.105164][3126:3126] CHIP:DMG:
          [1657912490.105211][3126:3126] CHIP:DMG:        ],
          [1657912490.105263][3126:3126] CHIP:DMG:
          [1657912490.105311][3126:3126] CHIP:DMG:        isFabricFiltered = true,
          [1657912490.105357][3126:3126] CHIP:DMG:        InteractionModelRevision = 1
          [1657912490.105400][3126:3126] CHIP:DMG: },
          [1657912490.105531][3126:3126] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657912490.105679][3126:3126] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657912490.105731][3126:3126] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4005 is dirty
          [1657912490.105771][3126:3126] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4005 (expanded=0)
          [1657912490.105821][3126:3126] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657912490.105877][3126:3126] CHIP:DMG: AccessControl: allowed
          [1657912490.105967][3126:3126] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label:
          "Over next 30 seconds, at 5 seconds interval, DUT read
          EnhancedCurrentHue attribute from TH."
      PICS: CC.C.A4000
      verification: |
          ./chip-tool colorcontrol read enhanced-current-hue 1 1
          Verify response contains a value consistent  in  TH(all-clusters-app)  Logs:
          [1659960576.917953][2718:2718] CHIP:DMG: ReadRequestMessage =
          [1659960576.917989][2718:2718] CHIP:DMG: {
          [1659960576.918016][2718:2718] CHIP:DMG:         AttributePathIBs =
          [1659960576.918051][2718:2718] CHIP:DMG:         [
          [1659960576.918084][2718:2718] CHIP:DMG:                 AttributePathIB =
          [1659960576.918121][2718:2718] CHIP:DMG:                 {
          [1659960576.918159][2718:2718] CHIP:DMG:                         Endpoint = 0x1,
          [1659960576.918206][2718:2718] CHIP:DMG:                         Cluster = 0x300,
          [1659960576.918249][2718:2718] CHIP:DMG:                         Attribute = 0x0000_4000,
          [1659960576.918287][2718:2718] CHIP:DMG:                 }
          [1659960576.918325][2718:2718] CHIP:DMG:
          [1659960576.918359][2718:2718] CHIP:DMG:         ],
          [1659960576.918397][2718:2718] CHIP:DMG:
          [1659960576.918432][2718:2718] CHIP:DMG:         isFabricFiltered = true,
          [1659960576.918466][2718:2718] CHIP:DMG:         InteractionModelRevision = 1
          [1659960576.918498][2718:2718] CHIP:DMG: },
          [1659960576.918604][2718:2718] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1659960576.918724][2718:2718] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1659960576.918767][2718:2718] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4000 is dirty
      disabled: true
