[ICD] Update ICDM 2.1 test (#30319)
* update ICDM 2.1 test
* Restyled by autopep8
* fix logger object
* Restyled by autopep8
* Restyled by isort
---------
Co-authored-by: Restyled.io <commits@restyled.io>
diff --git a/src/python_testing/TC_ICDM_2_1.py b/src/python_testing/TC_ICDM_2_1.py
index bf6f2a3..20770c4 100644
--- a/src/python_testing/TC_ICDM_2_1.py
+++ b/src/python_testing/TC_ICDM_2_1.py
@@ -14,10 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
+import logging
+
import chip.clusters as Clusters
from matter_testing_support import MatterBaseTest, async_test_body, default_matter_test_main
from mobly import asserts
+logger = logging.getLogger('PythonMatterControllerTEST')
+logger.setLevel(logging.INFO)
+
class TC_ICDM_2_1(MatterBaseTest):
async def read_icdm_attribute_expect_success(self, endpoint, attribute):
@@ -27,13 +32,17 @@
@async_test_body
async def test_TC_ICDM_2_1(self):
+ if not self.check_pics("ICDM.S"):
+ logger.info("Test skipped because PICS ICDM.S is not set")
+ return
+
endpoint = self.user_params.get("endpoint", 0)
self.print_step(1, "Commissioning, already done")
attributes = Clusters.IcdManagement.Attributes
idleModeDuration = 0
- # Idle Mode Interval attribute test
+ # Idle Mode Duration attribute test
if (self.check_pics("ICDM.S.A0000")):
self.print_step(2, "Read IdleModeDuration Attribute")
@@ -44,7 +53,7 @@
else:
asserts.assert_true(False, "IdleModeDuration is a mandatory attribute and must be present in the PICS file")
- # Active Mode Interval attribute test
+ # Active Mode Duration attribute test
if (self.check_pics("ICDM.S.A0001")):
self.print_step(2, "Read ActiveModeDuration Attribute")
@@ -80,8 +89,10 @@
if (self.check_pics("ICDM.S.A0003")):
self.print_step(2, "Read ICDCounter Attribute")
- await self.read_icdm_attribute_expect_success(endpoint=endpoint,
- attribute=attributes.ICDCounter)
+ ICDCounter = await self.read_icdm_attribute_expect_success(endpoint=endpoint,
+ attribute=attributes.ICDCounter)
+ asserts.assert_true(0 <= ICDCounter <= 4294967295,
+ "ICDCounter attribute does not fit in a uint32.")
# ClientsSupportedPerFabric attribute test
if (self.check_pics("ICDM.S.A0003")):
@@ -89,8 +100,10 @@
clientsSupportedPerFabric = await self.read_icdm_attribute_expect_success(endpoint=endpoint,
attribute=attributes.ClientsSupportedPerFabric)
+ asserts.assert_true(0 <= clientsSupportedPerFabric <= 65535,
+ "ActiveModeThreshold ClientsSupportedPerFabric does not fit in a uint16.")
asserts.assert_greater_equal(clientsSupportedPerFabric, 1,
- "ActiveModeThreshold attribute is smaller than minimum value (300).")
+ "ClientsSupportedPerFabric attribute is smaller than minimum value (1).")
if __name__ == "__main__":