Skip to content

Acceptance tests

Rustam Lotsmanenko (EPAM) requested to merge csv-acceptance-test into master

Description:

ADR: osdu/platform/ci-cd-pipelines#49

Important note:

CSV-Parser test modules use CSP implementations as direct dependencies:

image

They launch these implementations in code, so we had to decouple this one too:

image

This was achieved by using test containers. https://testcontainers.com/

This change requires that the test environment has a Docker daemon running. Tests now need to use a CSV-Parser container that was previously built in the same pipeline.

  1. Created the acceptance-test module.
  2. Implemented a CSP-Parser launcher using test containers.
  3. Added a common, standards-based configuration for token issuing, supporting both OIDC and direct token injection.
  4. Added a Readme file with the description of required variables to run tests.
  5. Removed classes that interact with low-level backends, such as TestBlobClient.class and TestCloudStorage.class, which were not used during tests.
  6. Deleted the feature files split-blob.feature and intermediate-storage.feature, as they had commented-out test cases.
  7. Test-containers were used for running CSV-Parser during tests, with no direct dependency.

How to test:

Locally.

Changes include:

  • Refactor (a non-breaking change that improves code maintainability).
  • Bugfix (a non-breaking change that solves an issue).
  • New feature (a non-breaking change that adds functionality).
  • Breaking change (a change that is not backward-compatible and/or changes current functionality).

Changes in:

  • Common code

Dev Checklist:

  • Added Unit Tests, wherever applicable.
  • Updated the Readme, if applicable.
  • Existing Tests pass
  • Verified functionality locally
  • Self Reviewed my code for formatting and complex business logic.

Other comments:

The sequence of a test job should be adjusted since we aim to use a previously built container.

Edited by Rustam Lotsmanenko (EPAM)

Merge request reports

Loading