Files
wlan-testing/tests
YashSaxenaCT df016b29c1 WIFI-13443: Add: Schema Validation (#913)
* Added Schema Validation.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Added schema_validation/base.txt

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Modified static commit-id in base.txt and sub-suites in schema_validation.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Updated base.text commit-id to check scenario of no new firmware found.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Add: Schema Validation through AP Terminal (State Messages)

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Modified: Schema Validation using AP State Messages.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Add/Modify: Marker and Description to Schema Validation test plan.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Modify: Allure reporting for Schema Validation through AP Terminal testcase.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Modify Schema Validation reporting.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Modify: Fail message in allure for schema validation.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Add: --commit-id parameter in CLI and modified schema validation through Github test case.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Remove unused function from schema validation.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Modify: Allure reporting for schema validation. Fix: bug in schema_validation through github.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Modify: Schema Validation through GitHub.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Modify: Schema Validation Testplan.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Moved SV files from test/ -> basic/

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Added ow_sanity_lf marker to Schema Validation tests.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Modified schema validation code to handle cases where 'properties' or 'items' are missing from schema.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Modified the Schema Validation through Github to bypass wlan-ap repo and directly fetch latest commit from wlan-ucentral-schema repo.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Modified Schema Validation through github to not report properties key missing when patternProperties or  key present.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Increased time before fetching state message and added additional checks.

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

---------

Co-authored-by: jitendracandela <jitendra.kushavah@candelatech.com>
2024-06-06 13:58:03 +05:30
..
2024-06-01 11:13:16 +05:30
2021-06-15 15:13:45 +05:30
2022-11-24 14:03:17 +03:00
2023-11-10 15:42:36 +05:30

Test Case Execution Suite

Run on 1.X SDK

pytest -m sanity and not interop -s -vvv --testbed=basic-01 -o build=<firmware URL> --1.x
pytest -m sanity and interop -s -vvv --testbed=basic-01 -o build=<firmware URL> --1.x
pytest -m sanity_55 -s -vvv --testbed=basic-01 -o build=<firmware URL> --1.x  
pytest -m performance -s -vvv --testbed=basic-01 -o build=<firmware URL> --1.x
pytest -m firmware -s -vvv --testbed=basic-01 -o build=<firmware URL> --1.x

Run on 2.X SDK

pytest -m uc_sanity -s -vvv --testbed=basic-03 -o build=<firmware URL> 
pytest -m "performance and dataplane_throughput_test" -s -vvv --testbed=basic-03 -o build=<firmware URL>


You can customize the markets with and/or/not logical options

wlan-testing framework Information

pytest uses setup > test > tear_down
Fixtures : Code that needs to be part of more than 1 test cases, Setup and teardown is Implemented in Fixtures

Test cases are structured across different directories

├── wlan-testing                 
    ├── tests       /* Root directory for tests  */                

We have 3 main resource types:

  1. Controller
  2. Access Points
  3. Traffic Generator

Controller is meant to Provision the Access-Point

├── tests                       /* Pytest cases Directory */
    ├── controller_tests    /* controller has the REST API*/
        ├── conftest.py     /* Fixtures to be used by controller tests */        
        ├── test_api_login.py
        ├── test_api_customer.py
        ├── test_api_location.py
        ├── test_api_equipment.py
        ├── test_api_equipment_gateway.py
        ├── test_api_profile.py
        ├── test_api_firmware_management.py 
               

Access-Point is meant to be connected to controller, as well as should be able to provide wired and wireless connectivity to Both real and virtual Clients

├── tests                       /* Pytest cases Directory */
    ├── access_point_tests            
        ├── conftest.py     /* Fixtures to be used by access point tests */
        ├── test_connectivity.py
        ├── test_radio.py
        ├── test_featureA.py    To be added 
        ├── test_featureB.py

e2e (End to End) test cases are further structured into test case physical environment

Each Environment differs in testbed setup

            Controller      AP      Traffic Generator   PDU     Attenuator
basic  :        1           1           1 LANforge       1       0 Atten
advanced :      1           1           1 LANforge       1       1 Atten
interOp :       1           -           8 Perfecto       0       1 Atten
MDU  :          1           -           - LANforge       0
Scale  :        1           -           - LANforge       0
├── tests              /* Pytest cases Directory */
    ├── conftest.py    /* Global Fixtures for tests */        
├── tests            - /* Pytest cases Directory */
      ├── e2e
          ├── advanced
            ├── conftest.py     /* Fixtures specific to advanced LAB Environment */
          ├── basic
            ├── conftest.py     /* Fixtures specific to basic LAB Environment */     
          ├── interOp
            ├── conftest.py     /* Fixtures specific to interOp LAB Environment */
          ├── mdu
            ├── conftest.py     /* Fixtures specific to mdu LAB Environment */
          |── mesh
            ├── conftest.py     /* Fixtures specific to mesh LAB Environment */
          |── scale
            ├── conftest.py     /* Fixtures specific to scale LAB Environment */

Read the README.md in each e2e directory to get sample test case.

For any Clarifications, regarding Framework,
Email : shivam.thakur@candelatech.com