# 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: 50.3.1. [TC-DGTHREAD-3.1] Attributes [DUT- Client]

PICS:
    - DGTHREAD.C

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

tests:
    - 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: "Commission DUT to TH"
      verification: |

      disabled: true

    - label: "DUT reads Channel attribute value from TH"
      PICS: DGTHREAD.C.A0000
      verification: |
          ./chip-tool threadnetworkdiagnostics read channel 54 0

          Verify "channel response" on the TH(All-cluster-app) Log:


          D: 499352 [EM]Handling via exchange: 37813r, Delegate: 0x200070ec
          D: 499358 [IM]Received Read request
          D: 499362 [DMG]IM RH moving to [GeneratingReports]
          D: 499367 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 499375 [DMG]<RE:Run> Cluster 35, Attribute 0 is dirty
          D: 499381 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0000 (expanded=0)
          exchanr
          D: 499492 [EM]Found matching exchange: 37813r, Delegate: (nil)
          D: 499498 [EM]Rxd Ack; Removing MessageCounter:30700790 from Retrans Table on exchange 37813r
          D: 499506 [EM]Removed CHIP MessageCounter:30700790 from RetransTable on exchange 37813r
      disabled: true

    - label: "DUT reads RoutingRole attribute value from TH"
      PICS: DGTHREAD.C.A0001
      verification: |
          ./chip-tool threadnetworkdiagnostics read routing-role 54 0

          Verify "RoutingRole response" on the TH(All-cluster-app) Log:

          D: 857084 [EM]Handling via exchange: 46068r, Delegate: 0x200070ec
          D: 857090 [IM]Received Read request
          D: 857094 [DMG]IM RH moving to [GeneratingReports]
          D: 857099 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 857108 [DMG]<RE:Run> Cluster 35, Attribute 1 is dirty
          D: 857113 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0001 (expanded=0)
          D: 857122 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads NetworkName attribute value from TH."
      PICS: DGTHREAD.C.A0002
      verification: |
          ./chip-tool threadnetworkdiagnostics read network-name 54 0

          Verify "NetworkName response" on the TH(All-cluster-app) Log:

          D: 906029 [EM]Handling via exchange: 28293r, Delegate: 0x200070ec
          D: 906035 [IM]Received Read request
          D: 906039 [DMG]IM RH moving to [GeneratingReports]
          D: 906043 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 906052 [DMG]<RE:Run> Cluster 35, Attribute 2 is dirty
          D: 906057 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0002 (expanded=0)
          D: 906066 [DMG]<RE> Sending report (payload has 51 bytes)...
      disabled: true

    - label: "DUT reads PanId attribute value from TH."
      PICS: DGTHREAD.C.A0003
      verification: |
          ./chip-tool threadnetworkdiagnostics read pan-id 54 0

          Verify "PanId response" on the TH(All-cluster-app) Log:

          D: 967006 [EM]Handling via exchange: 44794r, Delegate: 0x200070ec
          D: 967011 [IM]Received Read request
          D: 967015 [DMG]IM RH moving to [GeneratingReports]
          D: 967020 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 967029 [DMG]<RE:Run> Cluster 35, Attribute 3 is dirty
          D: 967034 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0003 (expanded=0)
          D: 967043 [DMG]<RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label: "DUT reads ExtendedPanId attribute value from TH."
      PICS: DGTHREAD.C.A0004
      verification: |
          ./chip-tool threadnetworkdiagnostics read extended-pan-id 54 0

          Verify "ExtendedPanId response" on the TH(All-cluster-app) Log:

          D: 992402 [EM]Handling via exchange: 49565r, Delegate: 0x200070ec
          D: 992409 [IM]Received Read request
          D: 992413 [DMG]IM RH moving to [GeneratingReports]
          D: 992418 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 992427 [DMG]<RE:Run> Cluster 35, Attribute 4 is dirty
          D: 992432 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0004 (expanded=0)
          D: 992441 [DMG]<RE> Sending report (payload has 43 bytes)...
      disabled: true

    - label: "DUT reads MeshLocalPrefix attribute value from TH."
      PICS: DGTHREAD.C.A0005
      verification: |
          ./chip-tool threadnetworkdiagnostics read mesh-local-prefix 54 0

          Verify "MeshLocalPrefix response" on the TH(All-cluster-app) Log:

          D: 1037614 [EM]Handling via exchange: 42980r, Delegate: 0x200070ec
          D: 1037620 [IM]Received Read request
          D: 1037624 [DMG]IM RH moving to [GeneratingReports]
          D: 1037628 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1037637 [DMG]<RE:Run> Cluster 35, Attribute 5 is dirty
          D: 1037642 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0005 (expanded=0)
          D: 1037652 [DMG]<RE> Sending report (payload has 45 bytes)...
      disabled: true

    - label: "DUT reads OverrunCount attribute value from TH."
      PICS: DGTHREAD.C.A0006
      verification: |
          ./chip-tool threadnetworkdiagnostics read overrun-count 54 0

          Verify "OverrunCount response" on the TH(All-cluster-app) Log:

          D: 1085229 [SC]Allocated SecureSession (0x20003680) - waiting for Sigma1 msg
          I: 1085236 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:86023668 on exchanr
          D: 1085246 [EM]Handling via exchange: 16079r, Delegate: 0x200070ec
          D: 1085252 [IM]Received Read request
          D: 1085256 [DMG]IM RH moving to [GeneratingReports]
          D: 1085261 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1085270 [DMG]<RE:Run> Cluster 35, Attribute 6 is dirty
          D: 1085275 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0006 (expanded=0)
          D: 1085284 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads NeighborTable attribute value from TH."
      PICS: DGTHREAD.C.A0007
      verification: |
          ./chip-tool threadnetworkdiagnostics read neighbor-table-list 54 0

          Verify "NeighborTableList response" on the TH(All-cluster-app) Log:

          D: 1133597 [SC]Allocated SecureSession (0x20003738) - waiting for Sigma1 msg
          I: 1133606 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:213814779 on exchar
          D: 1133616 [EM]Handling via exchange: 57703r, Delegate: 0x200070ec
          D: 1133622 [IM]Received Read request
          D: 1133626 [DMG]IM RH moving to [GeneratingReports]
          D: 1133631 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1133640 [DMG]<RE:Run> Cluster 35, Attribute 7 is dirty
          D: 1133645 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0007 (expanded=0)
          D: 1133654 [DMG]<RE> Sending report (payload has 110 bytes)..
      disabled: true

    - label: "DUT reads RouteTable attribute value from TH."
      PICS: DGTHREAD.C.A0008
      verification: |
          ./chip-tool threadnetworkdiagnostics read route-table-list 54 0

          Verify "RouteTableList response" on the TH(All-cluster-app) Log:

          D: 1193349 [SC]Allocated SecureSession (0x200037f0) - waiting for Sigma1 msg
          I: 1193357 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:137272867 on exchar
          D: 1193367 [EM]Handling via exchange: 5101r, Delegate: 0x200070ec
          D: 1193372 [IM]Received Read request
          D: 1193376 [DMG]IM RH moving to [GeneratingReports]
          D: 1193381 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1193390 [DMG]<RE:Run> Cluster 35, Attribute 8 is dirty
          D: 1193395 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0008 (expanded=0)
          D: 1193405 [DMG]<RE> Sending report (payload has 100 bytes)...
      disabled: true

    - label: "DUT reads PartitionId attribute value from TH"
      PICS: DGTHREAD.C.A0009
      verification: |
          ./chip-tool threadnetworkdiagnostics read partition-id 54 0

          Verify "PartitionId response" on the TH(All-cluster-app) Log:

          D: 1251223 [SC]Allocated SecureSession (0x20002c70) - waiting for Sigma1 msg
          I: 1251230 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:191202632 on exchar
          D: 1251241 [EM]Handling via exchange: 25875r, Delegate: 0x200070ec
          D: 1251247 [IM]Received Read request
          D: 1251251 [DMG]IM RH moving to [GeneratingReports]
          D: 1251256 [EM]Retransmitting MessageCounter:53367772 on exchange 25874r Send Cnt 1
          I: 1251265 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53367772 to 0x0000000000000000c
          D: 1251279 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1251288 [DMG]<RE:Run> Cluster 35, Attribute 9 is dirty
          D: 1251294 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0009 (expanded=0)
          D: 1251303 [DMG]<RE> Sending report (payload has 39 bytes)...
      disabled: true

    - label: "DUT reads Weighting attribute value from TH"
      PICS: DGTHREAD.C.A000a
      verification: |
          ./chip-tool threadnetworkdiagnostics read weighting 54 0

          Verify "weighting response" on the TH(All-cluster-app) Log:

          D: 1299900 [SC]Allocated SecureSession (0x20002de0) - waiting for Sigma1 msg
          I: 1299907 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:55560128 on exchanr
          D: 1299917 [EM]Handling via exchange: 45722r, Delegate: 0x200070ec
          D: 1299923 [IM]Received Read request
          D: 1299927 [DMG]IM RH moving to [GeneratingReports]
          D: 1299932 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1299941 [DMG]<RE:Run> Cluster 35, Attribute a is dirty
          D: 1299946 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_000A (expanded=0)
          D: 1299955 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads DataVersion attribute value from TH"
      PICS: DGTHREAD.C.A000b
      verification: |
          ./chip-tool threadnetworkdiagnostics read data-version 54 0

          Verify "DataVersion response" on the TH(All-cluster-app) Log:

          I: 1354333 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53367780 to 0x0000000000000000c
          I: 1354350 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:157453720 on exchar
          D: 1354362 [EM]Handling via exchange: 38823r, Delegate: 0x200070ec
          D: 1354368 [IM]Received Read request
          D: 1354372 [DMG]IM RH moving to [GeneratingReports]
          D: 1354376 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1354385 [DMG]<RE:Run> Cluster 35, Attribute b is dirty
          D: 1354390 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_000B (expanded=0)
          D: 1354400 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads StableDataVersion attribute value from TH"
      PICS: DGTHREAD.C.A000c
      verification: |
          ./chip-tool threadnetworkdiagnostics read stable-data-version 54 0

          Verify "StableDataVersion response" on the TH(All-cluster-app) Log:


          I: 1392842 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53367784 to 0x0000000000000000c
          I: 1392857 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:43531416 on exchanr
          D: 1392867 [EM]Handling via exchange: 51957r, Delegate: 0x200070ec
          D: 1392875 [IM]Received Read request
          D: 1392879 [DMG]IM RH moving to [GeneratingReports]
          D: 1392884 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1392894 [DMG]<RE:Run> Cluster 35, Attribute c is dirty
          D: 1392900 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_000C (expanded=0)
          D: 1392909 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads LeaderRouterId attribute value from TH"
      PICS: DGTHREAD.C.A000d
      verification: |
          ./chip-tool threadnetworkdiagnostics read leader-router-id 54 0

          Verify "LeaderRouterId response" on the TH(All-cluster-app) Log:


          D: 1455932 [SC]Allocated SecureSession (0x20002f50) - waiting for Sigma1 msg
          I: 1455940 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:149451326 on exchar
          D: 1455950 [EM]Handling via exchange: 39274r, Delegate: 0x200070ec
          D: 1455956 [IM]Received Read request
          D: 1455960 [DMG]IM RH moving to [GeneratingReports]
          D: 1455965 [EM]Retransmitting MessageCounter:53367788 on exchange 39273r Send Cnt 1
          I: 1455972 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53367788 to 0x0000000000000000c
          D: 1455988 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1455997 [DMG]<RE:Run> Cluster 35, Attribute d is dirty
          D: 1456002 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_000D (expanded=0)
          D: 1456013 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads DetachedRoleCount attribute value from TH"
      PICS: DGTHREAD.C.A000e
      verification: |
          ./chip-tool threadnetworkdiagnostics read detached-role-count 54 0

          Verify "DetachedRoleCount response" on the TH(All-cluster-app) Log:

          I: 1532319 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53367792 to 0x0000000000000000c
          I: 1532333 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:268029320 on exchar
          D: 1532344 [EM]Handling via exchange: 16217r, Delegate: 0x200070ec
          D: 1532350 [IM]Received Read request
          D: 1532354 [DMG]IM RH moving to [GeneratingReports]
          D: 1532361 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1532371 [DMG]<RE:Run> Cluster 35, Attribute e is dirty
          D: 1532376 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_000E (expanded=0)
          D: 1532385 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads ChildRoleCount attribute value from TH"
      PICS: DGTHREAD.C.A000f
      verification: |
          ./chip-tool threadnetworkdiagnostics read child-role-count 54 0

          Verify "ChildRoleCount response" on the TH(All-cluster-app) Log:

          D: 1566935 [SC]Allocated SecureSession (0x200030c0) - waiting for Sigma1 msg
          I: 1566943 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:48367315 on exchanr
          D: 1566953 [EM]Handling via exchange: 7022r, Delegate: 0x200070ec
          D: 1566958 [IM]Received Read request
          D: 1566962 [DMG]IM RH moving to [GeneratingReports]
          D: 1566967 [EM]Retransmitting MessageCounter:53367796 on exchange 7021r Send Cnt 1
          I: 1566975 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53367796 to 0x0000000000000000c
          D: 1566989 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1566998 [DMG]<RE:Run> Cluster 35, Attribute f is dirty
          D: 1567005 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_000F (expanded=0)
          D: 1567014 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads RouterRoleCount attribute value from TH"
      PICS: DGTHREAD.C.A0010
      verification: |
          ./chip-tool threadnetworkdiagnostics read router-role-count 54 0

          Verify "RouterRoleCount response" on the TH(All-cluster-app) Log:

          D: 1600012 [SC]Allocated SecureSession (0x20003178) - waiting for Sigma1 msg
          I: 1600020 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:78525212 on exchanr
          D: 1600030 [EM]Handling via exchange: 10230r, Delegate: 0x200070ec
          D: 1600036 [IM]Received Read request
          D: 1600040 [DMG]IM RH moving to [GeneratingReports]
          D: 1600045 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1600054 [DMG]<RE:Run> Cluster 35, Attribute 10 is dirty
          D: 1600059 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0010 (expanded=0)
          D: 1600068 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads LeaderRoleCount attribute value from TH"
      PICS: DGTHREAD.C.A0011
      verification: |
          ./chip-tool threadnetworkdiagnostics read leader-role-count 54 0

          Verify "LeaderRoleCount response" on the TH(All-cluster-app) Log:

          I: 1712400 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53367804 to 0x0000000000000000c
          I: 1712415 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:173936026 on exchar
          D: 1712425 [EM]Handling via exchange: 56738r, Delegate: 0x200070ec
          D: 1712431 [IM]Received Read request
          D: 1712436 [DMG]IM RH moving to [GeneratingReports]
          D: 1712440 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1712452 [DMG]<RE:Run> Cluster 35, Attribute 11 is dirty
          D: 1712459 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0011 (expanded=0)
          D: 1712468 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads AttachAttemptCount attribute value from TH"
      PICS: DGTHREAD.C.A0012
      verification: |
          ./chip-tool threadnetworkdiagnostics read attach-attempt-count 54 0

          Verify "AttachAttemptCount response" on the TH(All-cluster-app) Log:

          D: 1762338 [SC]Allocated SecureSession (0x200032e8) - waiting for Sigma1 msg
          I: 1762346 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:45359373 on exchanr
          D: 1762356 [EM]Handling via exchange: 7899r, Delegate: 0x200070ec
          D: 1762362 [IM]Received Read request
          D: 1762366 [DMG]IM RH moving to [GeneratingReports]
          D: 1762371 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1762381 [DMG]<RE:Run> Cluster 35, Attribute 12 is dirty
          D: 1762386 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0012 (expanded=0)
          D: 1762395 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads PartitionIdChangeCount attribute value from TH"
      PICS: DGTHREAD.C.A0013
      verification: |
          ./chip-tool threadnetworkdiagnostics read partition-id-change-count 54 0

          Verify "PartitionIdChangeCount response" on the TH(All-cluster-app) Log:

          D: 1988080 [SC]Allocated SecureSession (0x200033a0) - waiting for Sigma1 msg
          I: 1988087 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:211482637 on exchar
          D: 1988097 [EM]Handling via exchange: 39932r, Delegate: 0x200070ec
          D: 1988103 [IM]Received Read request
          D: 1988107 [DMG]IM RH moving to [GeneratingReports]
          D: 1988112 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 1988123 [DMG]<RE:Run> Cluster 35, Attribute 13 is dirty
          D: 1988128 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0013 (expanded=0)
          D: 1988137 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label:
          "DUT reads BetterPartitionAttachAttemptCount attribute value from TH"
      PICS: DGTHREAD.C.A0014
      verification: |
          ./chip-tool threadnetworkdiagnostics read better-partition-attach-attempt-count 54 0

          Verify "BetterPartitionAttachAttemptCount response" on the TH(All-cluster-app) Log:

          D: 2082976 [SC]Allocated SecureSession (0x20003458) - waiting for Sigma1 msg
          I: 2082984 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:221024802 on exchar
          D: 2082994 [EM]Handling via exchange: 41742r, Delegate: 0x200070ec
          D: 2083000 [IM]Received Read request
          D: 2083004 [DMG]IM RH moving to [GeneratingReports]
          D: 2083009 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 2083017 [DMG]<RE:Run> Cluster 35, Attribute 14 is dirty
          D: 2083023 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0014 (expanded=0)
          D: 2083032 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads ParentChangeCount attribute value from TH"
      PICS: DGTHREAD.C.A0015
      verification: |
          ./chip-tool threadnetworkdiagnostics read parent-change-count 54 0

          Verify "ParentChangeCount response" on the TH(All-cluster-app) Log:

          D: 2167609 [SC]Allocated SecureSession (0x20003510) - waiting for Sigma1 msg
          I: 2167617 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:197446435 on exchar
          D: 2167627 [EM]Handling via exchange: 13205r, Delegate: 0x200070ec
          D: 2167633 [IM]Received Read request
          D: 2167637 [DMG]IM RH moving to [GeneratingReports]
          D: 2167642 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 2167651 [DMG]<RE:Run> Cluster 35, Attribute 15 is dirty
          D: 2167656 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0015 (expanded=0)
          D: 2167665 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads ActiveTimestamp attribute value from TH"
      PICS: DGTHREAD.C.A0038
      verification: |
          ./chip-tool threadnetworkdiagnostics read active-timestamp 54 0

          Verify "ActiveTimestamp response" on the TH(All-cluster-app) Log:

          I: 2257044 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53367824 to 0x0000000000000000c
          I: 2257059 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:197064524 on exchar
          D: 2257070 [EM]Handling via exchange: 61923r, Delegate: 0x200070ec
          D: 2257077 [IM]Received Read request
          D: 2257083 [DMG]IM RH moving to [GeneratingReports]
          D: 2257088 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 2257097 [DMG]<RE:Run> Cluster 35, Attribute 38 is dirty
          D: 2257102 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0038 (expanded=0)
          D: 2257113 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads PendingTimestamp attribute value from TH"
      PICS: DGTHREAD.C.A0039
      verification: |
          ./chip-tool threadnetworkdiagnostics read pending-timestamp 54 0

          Verify "PendingTimestamp response" on the TH(All-cluster-app) Log:

          D: 2368307 [SC]Allocated SecureSession (0x20003680) - waiting for Sigma1 msg
          I: 2368315 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:262013622 on exchar
          D: 2368325 [EM]Handling via exchange: 17994r, Delegate: 0x200070ec
          D: 2368331 [IM]Received Read request
          D: 2368336 [DMG]IM RH moving to [GeneratingReports]
          D: 2368341 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 2368350 [DMG]<RE:Run> Cluster 35, Attribute 39 is dirty
          D: 2368355 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_0039 (expanded=0)
          D: 2368367 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads Delay attribute value from TH"
      PICS: DGTHREAD.C.A003a
      verification: |
          ./chip-tool threadnetworkdiagnostics read delay 54 0

          Verify "delay response" on the TH(All-cluster-app) Log:
           D: 2395612 [SC]Allocated SecureSession (0x20003738) - waiting for Sigma1 msg
          I: 2395619 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:102223401 on exchar
          D: 2395629 [EM]Handling via exchange: 39913r, Delegate: 0x200070ec
          D: 2395635 [IM]Received Read request
          D: 2395639 [DMG]IM RH moving to [GeneratingReports]
          D: 2395644 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 2395653 [DMG]<RE:Run> Cluster 35, Attribute 3a is dirty
          D: 2395658 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_003A (expanded=0)
          D: 2395670 [DMG]<RE> Sending report (payload has 36 bytes)...
      disabled: true

    - label: "DUT reads SecurityPolicy attribute value from TH"
      PICS: DGTHREAD.C.A003b
      verification: |
          ./chip-tool threadnetworkdiagnostics read security-policy 54 0

          Verify "SecurityPolicy response" on the TH(All-cluster-app) Log:

          D: 2430403 [SC]Allocated SecureSession (0x200037f0) - waiting for Sigma1 msg
          I: 2430410 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:23336336 on exchanr
          D: 2430420 [EM]Handling via exchange: 57373r, Delegate: 0x200070ec
          D: 2430426 [IM]Received Read request
          D: 2430430 [DMG]IM RH moving to [GeneratingReports]
          D: 2430437 [EM]Retransmitting MessageCounter:53367836 on exchange 57372r Send Cnt 1
          I: 2430445 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53367836 to 0x0000000000000000c
          D: 2430459 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 2430467 [DMG]<RE:Run> Cluster 35, Attribute 3b is dirty
          D: 2430473 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_003B (expanded=0)
          D: 2430486 [DMG]<RE> Sending report (payload has 44 bytes)...
      disabled: true

    - label: "DUT reads ChannelPage0Mask attribute value from TH"
      PICS: DGTHREAD.C.A003c
      verification: |
          ./chip-tool threadnetworkdiagnostics read channel-page0mask 54 0

          Verify ""channel-page0mask"" on the TH(All-cluster-app) Log:

          I: 2464057 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53367840 to 0x0000000000000000c
          I: 2464071 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:147354356 on exchar
          D: 2464082 [EM]Handling via exchange: 1863r, Delegate: 0x200070ec
          D: 2464088 [IM]Received Read request
          D: 2464092 [DMG]IM RH moving to [GeneratingReports]
          D: 2464099 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 2464107 [DMG]<RE:Run> Cluster 35, Attribute 3c is dirty
          D: 2464113 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_003C (expanded=0)
          D: 2464124 [DMG]<RE> Sending report (payload has 40 bytes)...
      disabled: true

    - label: "DUT reads OperationalDatasetComponents attribute from TH"
      PICS: DGTHREAD.C.A003d
      verification: |
          ./chip-tool threadnetworkdiagnostics read operational-dataset-components 54 0

          Verify "OperationalDatasetComponents response" on the TH(All-cluster-app) Log:

          D: 2559492 [SC]Allocated SecureSession (0x20002de0) - waiting for Sigma1 msg
          D: 2559499 [EM]Retransmitting MessageCounter:53367844 on exchange 11177r Send Cnt 1
          I: 2559507 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53367844 to 0x0000000000000000c
          I: 2559522 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:72374798 on exchanr
          D: 2559532 [EM]Handling via exchange: 11178r, Delegate: 0x200070ec
          D: 2559540 [IM]Received Read request
          D: 2559544 [DMG]IM RH moving to [GeneratingReports]
          D: 2559550 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 2559559 [DMG]<RE:Run> Cluster 35, Attribute 3d is dirty
          D: 2559564 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_003D (expanded=0)
          D: 2559576 [DMG]<RE> Sending report (payload has 60 bytes)...
      disabled: true

    - label: "DUT reads ActiveNetworkFaults attribute value from TH"
      PICS: DGTHREAD.C.A003e
      verification: |
          ./chip-tool threadnetworkdiagnostics read active-network-faults-list 54 0

          Verify "ActiveNetworkFaultsList response" on the TH(All-cluster-app) Log:

          D: 2608568 [SC]Allocated SecureSession (0x20002d28) - waiting for Sigma1 msg
          D: 2608575 [EM]Retransmitting MessageCounter:53367848 on exchange 40328r Send Cnt 1
          I: 2608583 [IN]Sending unauthenticated msg 0x2000489c with MessageCounter:53367848 to 0x0000000000000000c
          I: 2608598 [EM]Received message of type 0x2 with protocolId (0, 1) and MessageCounter:83976838 on exchanr
          D: 2608608 [EM]Handling via exchange: 40329r, Delegate: 0x200070ec
          D: 2608614 [IM]Received Read request
          D: 2608618 [DMG]IM RH moving to [GeneratingReports]
          D: 2608625 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          D: 2608633 [DMG]<RE:Run> Cluster 35, Attribute 3e is dirty
          D: 2608639 [DMG]Reading attribute: Cluster=0x0000_0035 Endpoint=0 AttributeId=0x0000_003E (expanded=0)
          D: 2608650 [DMG]<RE> Sending report (payload has 148 bytes)...
      disabled: true
