tree 942cb492d7111994d3636aefbf89654ad57af65c
parent 162b599a9f7c30dec1e4b8ead66ac0820ff054b8
author Jake Ororke <jororke@csa-iot.org> 1729189925 -0700
committer GitHub <noreply@github.com> 1729189925 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJnEVglCRC1aQ7uu5UhlAAA6NkQAD+pe1y5eJ8LPtKAcfQMfMyu
 kG8jkG/A18JKdOx871gr78KpRBmm8glx1Ve9FyZPEaqIXf16pwfpWAw0GEa0Lusw
 lhykI3ovAPGY1nHn3yN/vHKtVlseWEqCpryvq3r6slNEOcPbXMziNzMMbQQQyf7B
 4XZVbfwwJ6pSWwvg7SD20ZCSjcG87P8Ea97VeVT+5Q1Rsqaqnrh2i2n1DyXRW/5V
 YQf7m5mPDytVzH6dCC1He0JGcOHYwcvpeWYAJmIAmfozPP5bf5V5CpTfVcL16aOY
 KDm2uaODH3GMzVw1c5iAjKqX6r95nbQGHelpT9urtWZL1HG/rUCX48YNEGdk9TwC
 lLCdlcCRtI0f7tZZ4NbMM+5WxUYxIdOI/SiFzm/kzkEMLN0niXm6hF9aXP7cBddk
 k+4iXnF2VXZ/5ZuTuca4vMWO/kM4/Ot6liaZcWEVTlPg6p0m6oSVZlvByKmfESmI
 HirQJdK+Kq/AMPsyg0IuTmS5v59Hjdf2v0tbAzdHcjgdzWEkL4EPlkzbv/XzP824
 PXvo8KYpHsH4TGoBy3tSBhZe3oJeEPlcx9DJFmhbzpqH6sEVRLWd6mheJbZWx+N4
 K7Y8YSps3VKHU7nqhdoZxLnjqAWDza3Q+If0gCZa2KZ7xCVxNggAXK7bkziGwnsF
 rr2g0VY7PVv5MM+AWy/s
 =u+Jp
 -----END PGP SIGNATURE-----
 

[ Test ] Creating test module TC_CADMIN_1_11 (#34760)

* Creating test module TC_CADMIN_1_11:
- Test module created following matter-test-scripts task (https://github.com/project-chip/matter-test-scripts/issues/286):
-- Open commissioning window on DUT twice using ECM then BCM [DUT - Commissionee]
-- Commission DUT to TH_CR1 (can be skipped if done in a preceding test)
-- TH_CR1 reads the BasicCommissioningInfo attribute from the General Commissioning cluster on EP0 and saves the MaxCumulativeFailsafeSeconds as timeout
-- TH_CR1 sends an OpenCommissioningWindow command to the DUT with the CommissioningTimeout set to timeout
-- TH_CR2 fully commissions the DUT
-- TH_CR1 sends an OpenCommissioningWindow command to the DUT with the CommissioningTimeout set to timeout
-- TH_CR1 sends an OpenCommissioningWindow command to the DUT with the CommissioningTimeout set to timeout
-- TH_CR2 sends an OpenCommissioningWindow command to the DUT with the CommissioningTimeout set to timeout
-- TH_CR1 sends an RevokeCommissioning command to the DUT
-- TH_CR1 reads the FeatureMap from the Administrator Commissioning Cluster. If the feature map includes the BC feature bit, repeat steps 5-8 using the OpenBasicCommissioningWindow command
-- TH_CR2 reads the CurrentFabricIndex attribute from the Node Operational Credentials cluster and saves as th2_idx
-- TH_CR1 sends the RemoveFabric command to the DUT with the FabricIndex set to th2_idx

* Restyled by autopep8

* Update tests.yaml

* Update TC_CADMIN_1_11.py

Updated OpenbasicCommissioningWindow to update to using correct variables.

* Updated TC_CADMIN_1_11 test module:
- Removed unneccessary count variable due to no longer being needed
- Added expectations to TestSteps
- Replaced elif with else statements in OpenCommissioningWindow and OpenBasicCommissioningWindow functions
- Set busy_enum var using Clusters.AdministratorCommissioning.Enums.StatusCode.kBusy enum value
- Changed method to check features for administrator commissioning cluster to check if BC bit value is contained in features

* Restyled by autopep8

* Updated TC_CADMIN_1_11:
- Removed unneeded prints from the code output

* Restyled by autopep8

* Apply suggestions from code review

Co-authored-by: C Freeman <cecille@google.com>

* Update TC_CADMIN_1_11.py

-Added Optional function from typing library to resolve issue with latest code change

* Update TC_CADMIN_1_11.py

- Due to recent changes, had to update to using PyChipError for ctx.exception.err in order to handle error raised during commissioning properly

* Updating TC_CADMIN_1_11:
- Updated method for OpenBasicCommissiongWindow with BC feature enabled

* Restyled by autopep8

* Update src/python_testing/TC_CADMIN_1_11.py

Co-authored-by: C Freeman <cecille@google.com>

* Updated TC_CADMIN_1_11 test module:
- Removed useTestCommissioner when creating self.th2
- Changed to using None instead of 0 as variable value for OpenCommissioningWindow()
- Removed generate_unique_randow_value() as not needed in this test module

* Updating TC_CADMIN_1_11 test module:
- Resolved linting error

* Updated TC_CADMIN_1_11:
- Updated due to latest changes to matter_testing support module

* Restyled by autopep8

* Removed TC_CADMIN_1_11.yaml and updated TC_CADMIN_1_11:
- Removed Test_TC_CADMIN_1_11.yaml
- Updated TC_CADMIN_1_11 python test module to enable verbose output in CI/CD pipeline.

* Updated TC_CADMIN_1_11 test module:
- Updated CI/CD nominclature for this test to match latest version

* Updated src/app/tests/suites/manualTests.json:
- Removed Test_TC_CADMIN_1_11 from MultipleFabrics section

---------

Co-authored-by: Restyled.io <commits@restyled.io>
Co-authored-by: C Freeman <cecille@google.com>