diff --git a/src/python_testing/TC_ECOINFO_2_1.py b/src/python_testing/TC_ECOINFO_2_1.py index 8d96dc5b2d083e..da4c50bfe483f7 100644 --- a/src/python_testing/TC_ECOINFO_2_1.py +++ b/src/python_testing/TC_ECOINFO_2_1.py @@ -66,8 +66,8 @@ from chip.clusters.Types import NullValue from chip.interaction_model import Status from chip.testing.apps import AppServerSubprocess -from chip.testing.matter_testing import (MatterBaseTest, SetupParameters, TestStep, async_test_body, default_matter_test_main, - type_matches) +from chip.testing.commissioning import SetupParameters +from chip.testing.matter_testing import MatterBaseTest, TestStep, async_test_body, default_matter_test_main, type_matches from chip.tlv import uint from mobly import asserts diff --git a/src/python_testing/TC_ECOINFO_2_2.py b/src/python_testing/TC_ECOINFO_2_2.py index 0e53f0f52932dd..34f1f9e55025c8 100644 --- a/src/python_testing/TC_ECOINFO_2_2.py +++ b/src/python_testing/TC_ECOINFO_2_2.py @@ -65,7 +65,8 @@ import chip.clusters as Clusters from chip.interaction_model import Status from chip.testing.apps import AppServerSubprocess -from chip.testing.matter_testing import MatterBaseTest, SetupParameters, TestStep, async_test_body, default_matter_test_main +from chip.testing.commissioning import SetupParameters +from chip.testing.matter_testing import MatterBaseTest, TestStep, async_test_body, default_matter_test_main from mobly import asserts _DEVICE_TYPE_AGGREGATOR = 0x000E diff --git a/src/python_testing/TC_MCORE_FS_1_2.py b/src/python_testing/TC_MCORE_FS_1_2.py index 6d8474a224a28d..ceb5733e83f709 100644 --- a/src/python_testing/TC_MCORE_FS_1_2.py +++ b/src/python_testing/TC_MCORE_FS_1_2.py @@ -69,8 +69,8 @@ import chip.clusters as Clusters from chip import ChipDeviceCtrl from chip.testing.apps import AppServerSubprocess -from chip.testing.matter_testing import (MatterBaseTest, SetupParameters, TestStep, async_test_body, default_matter_test_main, - type_matches) +from chip.testing.commissioning import SetupParameters +from chip.testing.matter_testing import MatterBaseTest, TestStep, async_test_body, default_matter_test_main, type_matches from ecdsa.curves import NIST256p from mobly import asserts from TC_SC_3_6 import AttributeChangeAccumulator diff --git a/src/python_testing/TC_MCORE_FS_1_5.py b/src/python_testing/TC_MCORE_FS_1_5.py index 8b585d7c09165d..c659065d1e71e3 100755 --- a/src/python_testing/TC_MCORE_FS_1_5.py +++ b/src/python_testing/TC_MCORE_FS_1_5.py @@ -69,8 +69,8 @@ import chip.clusters as Clusters from chip import ChipDeviceCtrl from chip.testing.apps import AppServerSubprocess -from chip.testing.matter_testing import (MatterBaseTest, SetupParameters, TestStep, async_test_body, default_matter_test_main, - type_matches) +from chip.testing.commissioning import SetupParameters +from chip.testing.matter_testing import MatterBaseTest, TestStep, async_test_body, default_matter_test_main, type_matches from ecdsa.curves import NIST256p from mobly import asserts from TC_SC_3_6 import AttributeChangeAccumulator diff --git a/src/python_testing/matter_testing_infrastructure/chip/testing/commissioning.py b/src/python_testing/matter_testing_infrastructure/chip/testing/commissioning.py index 6835681a234103..c54baf13966013 100644 --- a/src/python_testing/matter_testing_infrastructure/chip/testing/commissioning.py +++ b/src/python_testing/matter_testing_infrastructure/chip/testing/commissioning.py @@ -320,3 +320,37 @@ def default_controller(self) -> ChipDeviceCtrl.ChipDeviceController: @default_controller.setter def default_controller(self, tmp_default_controller): self._default_controller = tmp_default_controller + + +@dataclass +class SetupParameters: + """ + Specifies configuration parameters for commissioning. + + Args: + passcode (int): The setup passcode of the device. + vendor_id (Optional[int]): Identification number specific tothe vendor. + product_id (Optional[int]): Identification number specific to the product. + discriminator (Optional[int]): The long discriminator for the DNS-SD advertisement. Valid range: 0-4095. + custom_flow (Optional[int]): The custom flow type. + capabilities (Optional[int]): Device capabilities. + version (Optional[int]): Version number. + + """ + passcode: int + vendor_id: int = 0xFFF1 + product_id: int = 0x8001 + discriminator: int = 3840 + custom_flow: int = 0 + capabilities: int = 0b0100 + version: int = 0 + + @property + def qr_code(self): + return SetupPayload().GenerateQrCode(self.passcode, self.vendor_id, self.product_id, self.discriminator, + self.custom_flow, self.capabilities, self.version) + + @property + def manual_code(self): + return SetupPayload().GenerateManualPairingCode(self.passcode, self.vendor_id, self.product_id, self.discriminator, + self.custom_flow, self.capabilities, self.version) diff --git a/src/python_testing/matter_testing_infrastructure/chip/testing/matter_testing.py b/src/python_testing/matter_testing_infrastructure/chip/testing/matter_testing.py index 3e8f775caec66b..9e1a332f14de00 100644 --- a/src/python_testing/matter_testing_infrastructure/chip/testing/matter_testing.py +++ b/src/python_testing/matter_testing_infrastructure/chip/testing/matter_testing.py @@ -61,7 +61,6 @@ from chip.ChipStack import ChipStack from chip.clusters import Attribute, ClusterObjects from chip.interaction_model import InteractionModelError, Status -from chip.setup_payload import SetupPayload from chip.storage import PersistentStorage from chip.testing.commissioning import (CommissioningInfo, CustomCommissioningParameters, SetupPayloadInfo, commission_devices, get_setup_payload_info_config) @@ -184,7 +183,6 @@ def matches(self, report: AttributeValue) -> bool: return AttributeMatcherFromCallable(description, matcher) -@dataclass class SetupParameters: passcode: int vendor_id: int = 0xFFF1