Skip to content
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

Add support for integration testing of cloud features #15891

Closed
3 tasks done
jsoriano opened this issue Jan 28, 2020 · 3 comments · Fixed by #17480
Closed
3 tasks done

Add support for integration testing of cloud features #15891

jsoriano opened this issue Jan 28, 2020 · 3 comments · Fixed by #17480
Assignees
Labels
enhancement Team:Platforms Label for the Integrations - Platforms team :Testing

Comments

@jsoriano
Copy link
Member

jsoriano commented Jan 28, 2020

We need to add support for better integration testing of cloud features, mainly to avoid regressions while further changes are introduced.

Some cloud features already have integration testing, but tests are skipped if no configuration is provided, so they are useful for local development, but they don't run in CI. Also there is no way to reproduce scenarios where these tests should pass.

As an initial step, add integration testing functionality to some AWS feature.

  • Formalize some general way of defining, deploying and destroying testing scenarios (probably using terraform).
  • Add build tags on the test files for each one of the cloud features, and make existing tests fail if the tag is provided but without credentials, so we can detect misconfigurations in CI environments.
  • Add job to the Jenkinsfile, that obtains valid credentials, starts an scenario in a cloud provider, runs the tests related to this provider and destroys the scenario.

Additional considerations.

  • We should be able to deploy the same scenario several times in the same account without conflicts.
  • We should be able to detect and clean leftovers.

Related issues:

@jsoriano jsoriano added enhancement :Testing [zube]: In Progress Team:Platforms Label for the Integrations - Platforms team labels Jan 28, 2020
@jsoriano jsoriano self-assigned this Jan 28, 2020
@jsoriano jsoriano changed the title Add support for integration testing of cloud features in local and in CI Add support for integration testing of cloud features Jan 28, 2020
@exekias
Copy link
Contributor

exekias commented Jan 28, 2020

cc @kaiyan-sheng @narph

@kaiyan-sheng
Copy link
Contributor

Thanks @jsoriano for starting on this! Should we also consider how frequent these cloud integration tests are ran in CI? Maybe these tests can only run once per day instead of for each PR to save on cost and etc.

@jsoriano
Copy link
Member Author

Thanks @jsoriano for starting on this! Should we also consider how frequent these cloud integration tests are ran in CI? Maybe these tests can only run once per day instead of for each PR to save on cost and etc.

Yes, good point, this is something to have into consideration. There are some options that we could combine:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Team:Platforms Label for the Integrations - Platforms team :Testing
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants