-
Notifications
You must be signed in to change notification settings - Fork 5
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 integraton tests #316
Add integraton tests #316
Conversation
deff90b
to
535d3c7
Compare
@lukasfrank currently the |
@adracus I am using go build tags to separate the integration tests from other unit tests. I am not sure if that is the most elegant way to do that. Maybe you have a better idea on how to do that. |
7fbed2a
to
282f625
Compare
- Start a ceph cluster using microceph inside GH runner instance - Instanciate GRPC server - Instanciate ORI client - Ensure the correct behaviour by calling the corresponding ORI methods - Ensure that the resources have been correctly created using the ceph-go rados client
- Modify the `integration-tests` target in the `Makefile` to use the `-- -ginkgo.label-filter="integration"` flag - Remove the `//go:build integration` and `// +build integration` comments from the `integration_suite_test.go` file - Modify the `TestIntegration_GRPCServer` function in the `integration_suite_test.go` file to include the `Label("integration")` option when calling `RunSpecs` - Remove the `//go:build integration` and `// +build integration` comments from the `volume_craete_integration_test.go` file Signed-off-by: Andreas Fritzler <[email protected]>
- Modify the test command to include a ginkgo label filter to exclude integration tests Signed-off-by: Andreas Fritzler <[email protected]>
6318f34
to
a889c77
Compare
For now we share the |
26defba
to
ce3486a
Compare
adfcc27
to
b92b2b3
Compare
- Add an `integration-tests` label to the `release-drafter.yml` file - Add a file matching pattern for integration tests in the `release-drafter.yml` file - Remove an unnecessary line of code in the `volume_craete_integration_test.go` file Signed-off-by: Andreas Fritzler <[email protected]>
b92b2b3
to
022a96d
Compare
* Add integraton tests - Start a ceph cluster using microceph inside GH runner instance - Instanciate GRPC server - Instanciate ORI client - Ensure the correct behaviour by calling the corresponding ORI methods - Ensure that the resources have been correctly created using the ceph-go rados client * Bump onmetal-api * test: refactor integration testing configuration and annotations - Modify the `integration-tests` target in the `Makefile` to use the `-- -ginkgo.label-filter="integration"` flag - Remove the `//go:build integration` and `// +build integration` comments from the `integration_suite_test.go` file - Modify the `TestIntegration_GRPCServer` function in the `integration_suite_test.go` file to include the `Label("integration")` option when calling `RunSpecs` - Remove the `//go:build integration` and `// +build integration` comments from the `volume_craete_integration_test.go` file Signed-off-by: Andreas Fritzler <[email protected]> * test: exclude integration tests from the test command - Modify the test command to include a ginkgo label filter to exclude integration tests Signed-off-by: Andreas Fritzler <[email protected]> * refactor release-drafter.yml and integration tests configuration - Add an `integration-tests` label to the `release-drafter.yml` file - Add a file matching pattern for integration tests in the `release-drafter.yml` file - Remove an unnecessary line of code in the `volume_craete_integration_test.go` file Signed-off-by: Andreas Fritzler <[email protected]> --------- Signed-off-by: Andreas Fritzler <[email protected]>
Proposed Changes
onmetal-api
depsThe integration workflow only runs when the
integration-tests
label is added to a PR.The
integration
package contains a test suite and a first integration test for theVolume
creation flow. The basic idea is to call ORI volume provided methods and ensure via aceph
client that the resources have been correctly created in the cluster.To run the integration tests locally you need to pass the
integration
label to ginkgo:Fixes #315