# 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.6.4. [TC-IDM-6.4] Events Subscribe Interaction from DUT to TH.
    [{DUT_Client}]

PICS:
    - MCORE.IDM.C.SubscribeRequest

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

tests:
    - label: "Note"
      verification: |
          Please use Interactive mode to Verify subscription test cases
          Here the command to enter interactive mode:--   ./chip-tool interactive start
      disabled: true

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

    - label:
          "DUT sends Subscribe Request Message to the TH for a supported event."
      verification: |
          Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client)

          Please  run this test in chip tool interactive mode ./chip-tool interactive start

          basic subscribe-event start-up 10 100 1 0

          On TH (On the reference app), On reference app verify that  the subscription message received has the all fields which mentioned in expected outcome

          colId (0, 1) and MessageCounter:190733237 on exchange 33689r
          [1657455555.193832][11525:11525] CHIP:EM: Handling via exchange: 33689r, Delegate: 0xaaaae00c1430
          [1657455555.193912][11525:11525] CHIP:IM: Received Subscribe request
          [1657455555.194063][11525:11525] CHIP:IM: Deleting previous subscription from NodeId: 000000000001B669, FabricIndex: 1
          [1657455555.194186][11525:11525] CHIP:DMG: SubscribeRequestMessage =
          [1657455555.194252][11525:11525] CHIP:DMG: {
          [1657455555.194312][11525:11525] CHIP:DMG:      KeepSubscriptions = false,
          [1657455555.194395][11525:11525] CHIP:DMG:      MinIntervalFloorSeconds = 0xa,
          [1657455555.194461][11525:11525] CHIP:DMG:      MaxIntervalCeilingSeconds = 0x64,
          [1657455555.194522][11525:11525] CHIP:DMG:      EventPathIBs =
          [1657455555.194586][11525:11525] CHIP:DMG:      [
          [1657455555.194646][11525:11525] CHIP:DMG:              EventPath =
          [1657455555.194708][11525:11525] CHIP:DMG:              {
          [1657455555.194776][11525:11525] CHIP:DMG:                      Endpoint = 0x0,
          [1657455555.194853][11525:11525] CHIP:DMG:                      Cluster = 0x28,
          [1657455555.194931][11525:11525] CHIP:DMG:                      Event = 0x0,
          [1657455555.195002][11525:11525] CHIP:DMG:              },
          [1657455555.195075][11525:11525] CHIP:DMG:
          [1657455555.195135][11525:11525] CHIP:DMG:      ],
          [1657455555.195202][11525:11525] CHIP:DMG:
          [1657455555.195263][11525:11525] CHIP:DMG:      isFabricFiltered = true,
          [1657455555.195325][11525:11525] CHIP:DMG:      InteractionModelRevision = 1
          [1657455555.195382][11525:11525] CHIP:DMG: },
          [1657455555.195593][11525:11525] CHIP:DMG: Final negotiated min/max parameters: Min = 10s, Max = 100s
          [1657455555.195766][11525:11525] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657455555.195955][11525:11525] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0


          If the DUT has to provision to verify the logs, verify that TH all-clusters-app sent  ReportDataMessage

          [1657886501.456822][3430:3435] CHIP:DMG: ReportDataMessage =
          [1657886501.456851][3430:3435] CHIP:DMG: {
          [1657886501.456886][3430:3435] CHIP:DMG:         SubscriptionId = 0xb746e9ed,
          [1657886501.456911][3430:3435] CHIP:DMG:         EventReportIBs =
          [1657886501.456944][3430:3435] CHIP:DMG:         [
          [1657886501.456979][3430:3435] CHIP:DMG:                 EventReportIB =
          [1657886501.457015][3430:3435] CHIP:DMG:                 {
          [1657886501.457049][3430:3435] CHIP:DMG:                         EventDataIB =
          [1657886501.457091][3430:3435] CHIP:DMG:                         {
          [1657886501.457118][3430:3435] CHIP:DMG:                                 EventPath =
          [1657886501.457162][3430:3435] CHIP:DMG:                                 {
          [1657886501.457199][3430:3435] CHIP:DMG:                                         Endpoint = 0x0,
          [1657886501.457245][3430:3435] CHIP:DMG:                                         Cluster = 0x28,
          [1657886501.457288][3430:3435] CHIP:DMG:                                         Event = 0x0,
          [1657886501.457329][3430:3435] CHIP:DMG:                                 },
          [1657886501.457365][3430:3435] CHIP:DMG:
          [1657886501.457404][3430:3435] CHIP:DMG:                                 EventNumber = 0x0,
          [1657886501.457437][3430:3435] CHIP:DMG:                                 PriorityLevel = 0x2,
          [1657886501.457479][3430:3435] CHIP:DMG:                                 SystemTimestamp = 0xa1de6f,
          [1657886501.457519][3430:3435] CHIP:DMG:                                 EventData =
          [1657886501.457584][3430:3435] CHIP:DMG:                                 {
          [1657886501.457632][3430:3435] CHIP:DMG:                                         0x0 = 1,
          [1657886501.457666][3430:3435] CHIP:DMG:                                 },
          [1657886501.457696][3430:3435] CHIP:DMG:                         },
          [1657886501.457738][3430:3435] CHIP:DMG:
          [1657886501.457766][3430:3435] CHIP:DMG:                 },
          [1657886501.457806][3430:3435] CHIP:DMG:
          [1657886501.457830][3430:3435] CHIP:DMG:         ],
          [1657886501.457873][3430:3435] CHIP:DMG:
          [1657886501.457897][3430:3435] CHIP:DMG:         InteractionModelRevision = 1
          [1657886501.457929][3430:3435] CHIP:DMG: }
          [1657886501.458091][3430:3435] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000
          [1657886501.458116][3430:3435] CHIP:TOO:          Event number: 0
          [1657886501.458139][3430:3435] CHIP:TOO:          Priority: Critical
          [1657886501.458160][3430:3435] CHIP:TOO:          Timestamp: 10608239
          [1657886501.458237][3430:3435] CHIP:TOO:   StartUp: {
          [1657886501.458284][3430:3435] CHIP:TOO:     SoftwareVersion: 1
          [1657886501.458309][3430:3435] CHIP:TOO:    }
          [1657886501.458358][3430:3435] CHIP:DMG: MoveToState ReadClient[0xffff6c0091f0]: Moving to [AwaitingSu]
          [1657886501.458420][3430:3435] CHIP:EM: Piggybacking Ack for MessageCounter:245754654 on exchange: 20326i
      disabled: true

    - label:
          "DUT sends Subscribe Request Message to the TH. TH sends Report Data
          message to DUT."
      verification: |
          Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client)

          Please  run this test in chip tool interactive mode ./chip-tool interactive start

          basic subscribe-event-by-id 0x000 20 400 1 0
          Verify DUT is responsds with  status response  for the data sent in the above command
          On TH (On the reference app)
          6 from Retrans Table on exchange 33690r
          [1657455691.695355][11525:11525] CHIP:EM: Removed CHIP MessageCounter:11056066 from RetransTable on exchange 33690r
          [1657455691.695430][11525:11525] CHIP:DMG: StatusResponseMessage =
          [1657455691.695483][11525:11525] CHIP:DMG: {
          [1657455691.695510][11525:11525] CHIP:DMG:      Status = 0x00 (SUCCESS),
          [1657455691.695549][11525:11525] CHIP:DMG:      InteractionModelRevision = 1
          [1657455691.695574][11525:11525] CHIP:DMG: }
          [1657455691.695600][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS)
          [1657455691.695643][11525:11525] CHIP:DMG: Refresh Subscribe Sync Timer with max 400 seconds


          If the DUT has to provision to verify the logs,  verify that TH all-clusters-app sent  ReportDataMessage

          [1657886532.588762][3430:3435] CHIP:DMG: }
          [1657886532.588882][3430:3435] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000
          [1657886532.588908][3430:3435] CHIP:TOO:          Event number: 0
          [1657886532.588930][3430:3435] CHIP:TOO:          Priority: Critical
          [1657886532.588952][3430:3435] CHIP:TOO:          Timestamp: 10608239
          [1657886532.588986][3430:3435] CHIP:TOO:   StartUp: {
          [1657886532.589013][3430:3435] CHIP:TOO:     SoftwareVersion: 1
          [1657886532.589036][3430:3435] CHIP:TOO:    }
          [1657886532.589085][3430:3435] CHIP:DMG: MoveToState ReadClient[0xffff6c0092e0]: Moving to [AwaitingSu]
          [1657886532.589143][3430:3435] CHIP:EM: Piggybacking Ack for MessageCounter:245754656 on exchange: 20327i
          [1657886532.589207][3430:3435] CHIP:IN: Prepared secure message 0xaaab13395548 to 0x0000000000000001 (1)  of type 0x1 and protocolId (0, 1) on exchange 20327i with MessageCounter:216322285.
          [1657886532.589245][3430:3435] CHIP:IN: Sending encrypted msg 0xaaab13395548 with MessageCounter:216322285 to 0x0000000000000001 (1) at monotonic time: 00000000008CF0C5 msec
          [1657886532.590633][3430:3435] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:245754657 on exchange 20327i
          [1657886532.590669][3430:3435] CHIP:EM: Found matching exchange: 20327i, Delegate: 0xffff6c0092e0
          [1657886532.590700][3430:3435] CHIP:EM: Rxd Ack; Removing MessageCounter:216322285 from Retrans Table on exchange 20327i
          [1657886532.590726][3430:3435] CHIP:EM: Removed CHIP MessageCounter:216322285 from RetransTable on exchange 20327i
          [1657886532.590772][3430:3435] CHIP:DMG: SubscribeResponseMessage =
          [1657886532.590811][3430:3435] CHIP:DMG: {
          [1657886532.590836][3430:3435] CHIP:DMG:         SubscriptionId = 0x84d07a37,
          [1657886532.590862][3430:3435] CHIP:DMG:         MaxInterval = 0x190,
          [1657886532.590887][3430:3435] CHIP:DMG:         InteractionModelRevision = 1
          [1657886532.590910][3430:3435] CHIP:DMG: }
          [1657886532.590935][3430:3435] CHIP:DMG: Subscription established with SubscriptionID = 0x84d07a37 MinInterval = 20s MaxInterval = 400s Peer = 01:0000000000000001
      disabled: true

    - label:
          "DUT sends Subscribe Request Message to the TH and TH does not respond
          with Report Data message to DUT."
      verification: |
          This is not testable in normal scenario, and needs to be tested as part of Unit test.
          https://github.com/CHIP-Specifications/chip-test-plans/issues/1885
      disabled: true

    - label:
          "DUT sends Subscribe Request Message to the TH. TH sends Report Data
          message to DUT. DUT sends Status Response Message to the TH. TH does
          not respond with Subscribe Response message to DUT."
      verification: |
          This is not testable in normal scenario, and needs to be tested as part of Unit test.
          https://github.com/CHIP-Specifications/chip-test-plans/issues/1885
      disabled: true

    - label:
          "With an active Event subscription from DUT to TH, TH sends Report
          Data message to DUT with an inactive SubscriptionId."
      verification: |
          This is not testable in normal scenario, and needs to be tested as part of Unit test.
          https://github.com/CHIP-Specifications/chip-test-plans/issues/1885
      disabled: true

    - label:
          "With an active Event subscription from DUT to TH, TH sends Report
          Data message to DUT after the maximum interval from the last Report
          Data."
      verification: |
          This is not testable in normal scenario, and needs to be tested as part of Unit test.
          https://github.com/CHIP-Specifications/chip-test-plans/issues/1885
      disabled: true
