Skip to content

Add support for configuring terms and conditions in device commissioning #173

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 20 commits into from
Dec 23, 2024

Conversation

swan-amazon
Copy link
Contributor

This commit introduces a new enhanced_setup_flow configuration property to the test harness backend, allowing device manufacturers to define the terms and conditions (T&C) that must be acknowledged and set during device commissioning. These values are critical for supporting the Terms and Conditions Certification Test Suite.

Key changes include:

  • Added the EnhancedSetupFlowConfig class to DutConfig, which allows specifying the T&C version and user response required during commissioning.
  • Updated generate_command_arguments in utils.py to append the necessary arguments for T&C validation and the device's commissioning method.
  • Adjusted model validation to ensure the enhanced_setup_flow field is processed correctly within DutConfig.

These changes ensure the test harness can enforce manufacturer-specific T&C values during the commissioning process, aligning with the broader requirements of T&C validation.

This commit introduces a new `enhanced_setup_flow` configuration
property to the test harness backend, allowing device manufacturers to
define the terms and conditions (T&C) that must be acknowledged and set
during device commissioning. These values are critical for supporting
the Terms and Conditions Certification Test Suite.

Key changes include:
- Added the `EnhancedSetupFlowConfig` class to `DutConfig`, which allows
  specifying the T&C version and user response required during
  commissioning.
- Updated `generate_command_arguments` in `utils.py` to append the
  necessary arguments for T&C validation and the device's commissioning
  method.
- Adjusted model validation to ensure the `enhanced_setup_flow` field is
  processed correctly within `DutConfig`.

These changes ensure the test harness can enforce manufacturer-specific
T&C values during the commissioning process, aligning with the broader
requirements of T&C validation.
@rquidute rquidute changed the base branch from main to v2.12+winter2024 December 17, 2024 17:14
@rquidute rquidute deleted the branch project-chip:v2.12 December 17, 2024 17:23
@rquidute rquidute closed this Dec 17, 2024
@rquidute rquidute reopened this Dec 17, 2024
@rquidute rquidute changed the base branch from v2.12+winter2024 to v2.12 December 17, 2024 17:26
Copy link
Contributor

@rquidute rquidute left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check some comments in the PR

@rquidute
Copy link
Contributor

rquidute commented Dec 17, 2024

Hi @swan-amazon I changed the target from main to v2.12.
Please check my comments in the PR and also check the Unit Tests tasks which is failing.
The Check spelling task you don't need to worry about it.
Thanks in advance.

@swan-amazon
Copy link
Contributor Author

Hi @swan-amazon I changed the target from main to v2.12. Please check my comments in the PR and also check the Unit Tests tasks which is failing. The Check spelling task you don't need to worry about it. Thanks in advance.

Hey @rquidute , I'm not sure why those spell checks weren't failing previously. I didn't add the words that it's flagging on now... I was asking Raju but he didn't know. I asked if something was recently enabled and he doesn't think so. What should we do?

Copy link
Contributor

@rquidute rquidute left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By now, just minor items and also the Unit Tests must be fixed.

@rquidute
Copy link
Contributor

Hi @swan-amazon I changed the target from main to v2.12. Please check my comments in the PR and also check the Unit Tests tasks which is failing. The Check spelling task you don't need to worry about it. Thanks in advance.

Hey @rquidute , I'm not sure why those spell checks weren't failing previously. I didn't add the words that it's flagging on now... I was asking Raju but he didn't know. I asked if something was recently enabled and he doesn't think so. What should we do?

Hi @swan-amazon don't worry about spelling issue in this PR. There is still just one spelling issue, but this is a temp code. This is something we need to fix.

…ning validation

Add new parameter to control commissioning flow during tests, allowing manual
validation of the commissioning process instead of auto-commissioning. This
enables test cases to verify terms and conditions acknowledgements during the
commissioning flow.

- Add in-test-commissioning-method parameter to test flags
- Support manual commissioning flow validation
- Enable testing of T&C acknowledgement scenarios
@rquidute
Copy link
Contributor

Hi @swan-amazon PR is approved.
Could you please update the User Guide according to this new added feature?

@rquidute rquidute merged commit f242fc4 into project-chip:v2.12 Dec 23, 2024
6 of 8 checks passed
rquidute added a commit that referenced this pull request Jan 23, 2025
…ing (#173)

* Add support for configuring terms and conditions in device commissioning

This commit introduces a new `enhanced_setup_flow` configuration
property to the test harness backend, allowing device manufacturers to
define the terms and conditions (T&C) that must be acknowledged and set
during device commissioning. These values are critical for supporting
the Terms and Conditions Certification Test Suite.

Key changes include:
- Added the `EnhancedSetupFlowConfig` class to `DutConfig`, which allows
  specifying the T&C version and user response required during
  commissioning.
- Updated `generate_command_arguments` in `utils.py` to append the
  necessary arguments for T&C validation and the device's commissioning
  method.
- Adjusted model validation to ensure the `enhanced_setup_flow` field is
  processed correctly within `DutConfig`.

These changes ensure the test harness can enforce manufacturer-specific
T&C values during the commissioning process, aligning with the broader
requirements of T&C validation.

* * Ran ./scripts/format.sh

* Update test_collections/matter/test_environment_config.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update app/user_prompt_support/uploaded_file_support.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update test_collections/matter/sdk_tests/support/performance_tests/utils.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update test_collections/matter/sdk_tests/support/python_testing/models/utils.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update test_collections/matter/sdk_tests/support/python_testing/models/utils.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update test_collections/matter/sdk_tests/support/python_testing/__init__.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Revert changes to test_collections/matter/sdk_tests/support/performance_tests/utils.py

* Restyle test_environment_config.py

* test: Add in-test-commissioning-method parameter for manual commissioning validation

Add new parameter to control commissioning flow during tests, allowing manual
validation of the commissioning process instead of auto-commissioning. This
enables test cases to verify terms and conditions acknowledgements during the
commissioning flow.

- Add in-test-commissioning-method parameter to test flags
- Support manual commissioning flow validation
- Enable testing of T&C acknowledgement scenarios

* Add new field "enhanced_setup_flow" to exception message

* Cherry-pick test_python_parser.py from origin/main

* Cherry-pick python_test_parser.py from origin/main

* Revert "Cherry-pick python_test_parser.py from origin/main"

This reverts commit 5d65ce5.

* Revert "Cherry-pick test_python_parser.py from origin/main"

This reverts commit 2cd99b7.

* Removed broken test `test_python_parser.py`

* Revert "Removed broken test `test_python_parser.py`"

This reverts commit 48c0e32.

---------

Co-authored-by: Romulo Quidute Filho <[email protected]>
rquidute added a commit that referenced this pull request Feb 28, 2025
* chore: upgrade Node.js from v18.x to v20.x (#177)

Updated Node.js installation source from setup_18.x to setup_20.x to
align with Ubuntu 22.04 base image requirements

* [FIX] Updating Performance Files (#182)

* Fixing the utils script, one calls and a import from the performance tests files

* Fixing isort and cspell checks

* Fixing Unit tests and removing unnecessary folder and file (jupyter)

* Fix starting backend without internet access. (#184)

* Remove unused file (#175)

* Remove unused file

* Updated cspell

* Add support for configuring terms and conditions in device commissioning (#173)

* Add support for configuring terms and conditions in device commissioning

This commit introduces a new `enhanced_setup_flow` configuration
property to the test harness backend, allowing device manufacturers to
define the terms and conditions (T&C) that must be acknowledged and set
during device commissioning. These values are critical for supporting
the Terms and Conditions Certification Test Suite.

Key changes include:
- Added the `EnhancedSetupFlowConfig` class to `DutConfig`, which allows
  specifying the T&C version and user response required during
  commissioning.
- Updated `generate_command_arguments` in `utils.py` to append the
  necessary arguments for T&C validation and the device's commissioning
  method.
- Adjusted model validation to ensure the `enhanced_setup_flow` field is
  processed correctly within `DutConfig`.

These changes ensure the test harness can enforce manufacturer-specific
T&C values during the commissioning process, aligning with the broader
requirements of T&C validation.

* * Ran ./scripts/format.sh

* Update test_collections/matter/test_environment_config.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update app/user_prompt_support/uploaded_file_support.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update test_collections/matter/sdk_tests/support/performance_tests/utils.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update test_collections/matter/sdk_tests/support/python_testing/models/utils.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update test_collections/matter/sdk_tests/support/python_testing/models/utils.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update test_collections/matter/sdk_tests/support/python_testing/__init__.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Revert changes to test_collections/matter/sdk_tests/support/performance_tests/utils.py

* Restyle test_environment_config.py

* test: Add in-test-commissioning-method parameter for manual commissioning validation

Add new parameter to control commissioning flow during tests, allowing manual
validation of the commissioning process instead of auto-commissioning. This
enables test cases to verify terms and conditions acknowledgements during the
commissioning flow.

- Add in-test-commissioning-method parameter to test flags
- Support manual commissioning flow validation
- Enable testing of T&C acknowledgement scenarios

* Add new field "enhanced_setup_flow" to exception message

* Cherry-pick test_python_parser.py from origin/main

* Cherry-pick python_test_parser.py from origin/main

* Revert "Cherry-pick python_test_parser.py from origin/main"

This reverts commit 5d65ce5.

* Revert "Cherry-pick test_python_parser.py from origin/main"

This reverts commit 2cd99b7.

* Removed broken test `test_python_parser.py`

* Revert "Removed broken test `test_python_parser.py`"

This reverts commit 48c0e32.

---------

Co-authored-by: Romulo Quidute Filho <[email protected]>

* [Feature] DO NOT require commissioning every test (#178)

* First implementation

* Implement prompt and copy files from/to contanier

* Unit tests

* Updated SKA SHA

* Unit test typo fixes

* Mypy flake8 fixes

* Mypy fixes

* Update test_collections/matter/sdk_tests/support/python_testing/models/utils.py

Co-authored-by: Carolina Lopes <[email protected]>

* Update test_collections/matter/sdk_tests/support/utils.py

Co-authored-by: Carolina Lopes <[email protected]>

* Code review

* Review fixes

* Remove unused import

---------

Co-authored-by: Carolina Lopes <[email protected]>

* Add logs for project config (#179)

* Add logs for project config

* Updated cspell.json

* Update app/test_engine/test_runner.py

Co-authored-by: hiltonlima <[email protected]>

* Fixed unit test

* Unit test

* Unit test

---------

Co-authored-by: hiltonlima <[email protected]>

* Implement rename test run execution name (#180)

* Fix the checking for storage-path (#183)

* [FIX] Updating Performance Files (#182)

* Fixing the utils script, one calls and a import from the performance tests files

* Fixing isort and cspell checks

* Fixing Unit tests and removing unnecessary folder and file (jupyter)

* Remove unused file (#175)

* Remove unused file

* Updated cspell

* Fix ci issues v 2 12 (#176)

* Fix CI issues from v2.12 branch

* Fixed merge

* Fix test case

* Updated SDK_DOCKER_IMAGE url

* Updated SDK_DOCKER_IMAGE url

* Add logs for project config (#179)

* Add logs for project config

* Updated cspell.json

* Update app/test_engine/test_runner.py

Co-authored-by: hiltonlima <[email protected]>

* Fixed unit test

* Unit test

* Unit test

---------

Co-authored-by: hiltonlima <[email protected]>

* Add logs for project config (#179)

* Add logs for project config

* Updated cspell.json

* Update app/test_engine/test_runner.py

Co-authored-by: hiltonlima <[email protected]>

* Fixed unit test

* Unit test

* Unit test

---------

Co-authored-by: hiltonlima <[email protected]>

* Add nfc-thread pairing mode (#185)

* Added nfc-thread pairing mode.
This mode doesn't need a discriminator.

* Changed after black

* Unit tests fixes

* Fixed code violations

---------

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Add logs for project config (#179)

* Add logs for project config

* Updated cspell.json

* Update app/test_engine/test_runner.py

Co-authored-by: hiltonlima <[email protected]>

* Fixed unit test

* Unit test

* Unit test

---------

Co-authored-by: hiltonlima <[email protected]>

* [Fix] Recommissioning Refactoring to V1.5 (#190)

* Refatoring prompts for recommissioning (#187)

* Refatoring prompts for recommissioning

* flake8 fixes

* Changes after code review

* Remove commissioning information when running YAML scripts (#189)

---------

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Change to be able to use NFC Commissioning in YAML test.
NB: Change for Python tests will be done in another PR.

* Fixed the error found by black and Flake8.

* Added comment

---------

Co-authored-by: James Swan <[email protected]>
Co-authored-by: antonio-amjr <[email protected]>
Co-authored-by: Romulo Quidute Filho <[email protected]>
Co-authored-by: Carolina Lopes <[email protected]>
Co-authored-by: hiltonlima <[email protected]>
Co-authored-by: Romulo Quidute Filho <[email protected]>
rquidute added a commit that referenced this pull request Mar 18, 2025
* Updated SDK SHA - revert

* Changed SDK_DOCKER_TAG to f2e5de7_latest

* Make all TH dependencies not static (#164)

* Updated package-dependency-list.txt

* Updated missing dependencies

* [FIX] Reverting the OTBR Start Script (#150)

* Reverting the BR_VARIANT option to the otbr start script

* Adding TODO to the script

* Adding missing comment char

* Updating Script Comment Year

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Adding switch parameters options to the script

---------

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Do not error while parsing SDK python tests (#141)

* replace erro with warning

* Update test_collections/matter/sdk_tests/support/python_testing/models/python_test_parser.py

Co-authored-by: Carolina Lopes <[email protected]>

* black error fix

* pr review

---------

Co-authored-by: Carolina Lopes <[email protected]>

* Add TC-IDM-10.5 test case to mandatory suite (#153)

* Check user prompt answer FAILED for DUT commissioning (#155)

* Handle Skip test fir old script python test cases (#154)

* [FIX] Intermittent Tests Start Error With No Information (#157)

* Fixing intermittent problem with Python's Base Manager

Creating the manager now only once in the SDK Container Init

* Refactoring and updating the unit tests with related mocks

* Update python_testing references after SDK refactoring (#162)

* Updated python_testing references after sdk refactoring

* Removed no wanted file changes

* Updated matter_testing references

* Fixed line too long

* Fixed code - black

* Updated SDK SHA

* Removed commented code

* Revert "[FIX] Intermittent Tests Start Error With No Information (#157)" (#166)

This reverts commit 316a934.

* 01 - Isolate SDK docker pull script (#142)

* Isolate SDK docker pull script

* Changes after code review

---------

Co-authored-by: Romulo Quidute Filho <[email protected]>

* 02 - Script to parser SDK python tests (#144)

* Isolate SDK docker pull script

* Rebasing

* Apply suggestions from code review

Co-authored-by: Carolina Lopes <[email protected]>

* Move call tp update-pull-sdk-docker-image.sh from setup.sh to update-sample-apps.sh

* Changes after code review

* Fixed CI issues

* Code review fixes

* Fixed unit tests

* Fixed mypy

---------

Co-authored-by: Romulo Quidute Filho <[email protected]>
Co-authored-by: Carolina Lopes <[email protected]>
Co-authored-by: Romulo Quidute Filho <[email protected]>

* Implemented changes for custom python test (#167)

* Implemented changes for custom python test

* code review

* Code review

* Code reviewd

* Fixed code violations

* Chanegs after code review

* Remove unused import

* Update update-sample-app script to copy apps from new origin (#148)

* Fix suite names for custom python tests (#168)

* Fix move update-pull-sdk-docker-image script content to update-sample-app script (#169)

* Fixed some python tests not listed (#172)

* Fixed some python tests not listed

* code review

* [Feature] Implement support to export project config (#171)

* Implement support to export project config

* Fix mypy

* Changed the returned schema and service endpoint name

* Added import project config

* Apply suggestions from code review

Co-authored-by: Carolina Lopes <[email protected]>

* code review

---------

Co-authored-by: Carolina Lopes <[email protected]>

* [FIX] Added support to negated PICS (#170)

* Added support to negated PICS

* Fixed flake

* Code review. No consider negatives PICS

* Update app/pics_applicable_test_cases.py

* Code review

* Fixes after merge

* Remove unused file (#175)

* Remove unused file

* Updated cspell

* Fix ci issues v 2 12 (#176)

* Fix CI issues from v2.12 branch

* Fixed merge

* Fix test case

* Updated SDK_DOCKER_IMAGE url

* Updated SDK_DOCKER_IMAGE url

* Add support for configuring terms and conditions in device commissioning (#173)

* Add support for configuring terms and conditions in device commissioning

This commit introduces a new `enhanced_setup_flow` configuration
property to the test harness backend, allowing device manufacturers to
define the terms and conditions (T&C) that must be acknowledged and set
during device commissioning. These values are critical for supporting
the Terms and Conditions Certification Test Suite.

Key changes include:
- Added the `EnhancedSetupFlowConfig` class to `DutConfig`, which allows
  specifying the T&C version and user response required during
  commissioning.
- Updated `generate_command_arguments` in `utils.py` to append the
  necessary arguments for T&C validation and the device's commissioning
  method.
- Adjusted model validation to ensure the `enhanced_setup_flow` field is
  processed correctly within `DutConfig`.

These changes ensure the test harness can enforce manufacturer-specific
T&C values during the commissioning process, aligning with the broader
requirements of T&C validation.

* * Ran ./scripts/format.sh

* Update test_collections/matter/test_environment_config.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update app/user_prompt_support/uploaded_file_support.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update test_collections/matter/sdk_tests/support/performance_tests/utils.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update test_collections/matter/sdk_tests/support/python_testing/models/utils.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update test_collections/matter/sdk_tests/support/python_testing/models/utils.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Update test_collections/matter/sdk_tests/support/python_testing/__init__.py

Co-authored-by: Romulo Quidute Filho <[email protected]>

* Revert changes to test_collections/matter/sdk_tests/support/performance_tests/utils.py

* Restyle test_environment_config.py

* test: Add in-test-commissioning-method parameter for manual commissioning validation

Add new parameter to control commissioning flow during tests, allowing manual
validation of the commissioning process instead of auto-commissioning. This
enables test cases to verify terms and conditions acknowledgements during the
commissioning flow.

- Add in-test-commissioning-method parameter to test flags
- Support manual commissioning flow validation
- Enable testing of T&C acknowledgement scenarios

* Add new field "enhanced_setup_flow" to exception message

* Cherry-pick test_python_parser.py from origin/main

* Cherry-pick python_test_parser.py from origin/main

* Revert "Cherry-pick python_test_parser.py from origin/main"

This reverts commit 5d65ce5.

* Revert "Cherry-pick test_python_parser.py from origin/main"

This reverts commit 2cd99b7.

* Removed broken test `test_python_parser.py`

* Revert "Removed broken test `test_python_parser.py`"

This reverts commit 48c0e32.

---------

Co-authored-by: Romulo Quidute Filho <[email protected]>

* chore: upgrade Node.js from v18.x to v20.x (#177)

Updated Node.js installation source from setup_18.x to setup_20.x to
align with Ubuntu 22.04 base image requirements

* [Feature] DO NOT require commissioning every test (#178)

* First implementation

* Implement prompt and copy files from/to contanier

* Unit tests

* Updated SKA SHA

* Unit test typo fixes

* Mypy flake8 fixes

* Mypy fixes

* Update test_collections/matter/sdk_tests/support/python_testing/models/utils.py

Co-authored-by: Carolina Lopes <[email protected]>

* Update test_collections/matter/sdk_tests/support/utils.py

Co-authored-by: Carolina Lopes <[email protected]>

* Code review

* Review fixes

* Remove unused import

---------

Co-authored-by: Carolina Lopes <[email protected]>

* Add logs for project config (#179)

* Add logs for project config

* Updated cspell.json

* Update app/test_engine/test_runner.py

Co-authored-by: hiltonlima <[email protected]>

* Fixed unit test

* Unit test

* Unit test

---------

Co-authored-by: hiltonlima <[email protected]>

* Implement rename test run execution name (#180)

* Fix the checking for storage-path (#183)

* Revert code changes related to SDK path refactoring (#186)

* Refatoring prompts for recommissioning (#187)

* Refatoring prompts for recommissioning

* flake8 fixes

* Changes after code review

* Revert "Utilities stress stability (#146)" (#188)

* Revert "Utilities stress stability (#146)"

This reverts commit 1e042fa.

* Fixing wrong reverts

* Fixing two more reverts

* Remove commissioning information when running YAML scripts (#189)

* Fix CONTAINER_TH_CLIENT_EXEC path (#191)

* Fix CONTAINER_TH_CLIENT_EXEC path

* Code formating

* Updated SDK SHA and Python Tests JSON (#192)

* Removed unused count field at test_case_metadata (#193)

* Add apps folder when copying apps from container to host

* Version v2.12-beta2+spring2025

* Version v2.12-beta3+spring2025

* Add apps folder when copying apps from container to host (#194)

* Add apps folder when copying apps from container to host

* Version v2.12-beta2+spring2025

* Version v2.12-beta2+spring2025

* Version v2.12+spring2025

* Updating the SDK SHA to 91eab26 and updating the python_tests_info json file

---------

Co-authored-by: antonio-amjr <[email protected]>
Co-authored-by: hiltonlima <[email protected]>
Co-authored-by: Carolina Lopes <[email protected]>
Co-authored-by: James Swan <[email protected]>
Co-authored-by: Antonio Melo Jr. <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants