You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A new smoke test python workflow would be introduced as part of smoke test framework we designed. The smoke test runner is python will be implemented.
The new introduced smoke test runner automates OpenSearch cluster deployment, loads test manifests, sends API requests, and validates responses against the OpenSearch API specification with third-party OpenAPI-core python client. It ensures all key components function immediately after a build.
Acceptance criteria of the Smoke Test python workflow.
Cluster Deployment: The smoke test python runner will automate the deployment of the OpenSearch cluster using the distribution generated by the CI/CD pipeline. The runner will ensure that the cluster is fully operational, providing an endpoint (e.g., https://localhost:9200) where smoke tests can be run.
Test Manifest Interpretation: Once the cluster is running, the smoke test runner will load the test manifest provided during execution. This manifest contains a list of components (e.g., OpenSearch core, plugins like alerting or anomaly detection) and the corresponding smoke test specifications. The runner will parse these manifest entries to determine which components to test. For each component listed in the test manifest, the runner will reference the corresponding component spec YAML file (e.g., opensearch.yml, alerting.yml) to extract API paths that need validation. These paths, which are stored in the YAML specification, represent critical OpenSearch operations (e.g., /, /_cat/indices).
API Request Execution: The runner will send requests to these endpoints using requests. It will also handle authentication and security configuration if required (e.g., with or without security plugin). In our example, the request URL will be https://localhost:9200/ & https://localhost:9200/_cat/plugins
OpenAPI Specification Validation: After sending the API requests, the smoke test runner will validate both the requests and the responses against the OpenSearch API specification. This validation ensures that the API responses adhere to the expected structure defined in the opensearch-api-specification.
The runner will import the OpenAPI-Core Python client for validation, which allows us to:
Validate requests: Ensures the requests made to the API are formatted correctly and valid, including parameters and headers.
Validate responses: Compares the API responses against the expected schema in the OpenSearch API specification. If any deviations are found, the smoke test will flag the response as invalid.
The text was updated successfully, but these errors were encountered:
Subtask from #4551
A new smoke test python workflow would be introduced as part of smoke test framework we designed. The smoke test runner is python will be implemented.
The new introduced smoke test runner automates OpenSearch cluster deployment, loads test manifests, sends API requests, and validates responses against the OpenSearch API specification with third-party OpenAPI-core python client. It ensures all key components function immediately after a build.
Acceptance criteria of the Smoke Test python workflow.
The runner will import the OpenAPI-Core Python client for validation, which allows us to:
The text was updated successfully, but these errors were encountered: