fabric8
fabric8 copied to clipboard
refactor the implementation of fabric8-arquilian out into a separate library so its easy to reuse elsewhere
so it'd be awesome to add the behaviour of fabric8-arquillian to Kubernetes Workflow so that folks can get the same kind of ability in the Jenkinsfile but using any language to write tests.
e.g.
- take a folder or list of files of JSON/YAML as the kubernetes resources
- either create a new namespace for the duration of the test; or use a named namespace (maybe allowing the logical name like "UAT" to be used which is then resolved via the fabric8.yaml?)
- provision all the kubernetes resources and assert they all correctly startup and keep running for a configurable time period to warm up (e.g. 30 seconds?)
- then run an arbitrary block of Java code
- finally, if enabled, tear down the resources that were created by default (and destroy the temporary namespace)
In Kubernetes Workflow it'd be nice to be able to then run any docker command or CLI for the 'test' steps.
e.g. something like
systemTest(resources: "myKubeResourcesDirectory" environment: "UAT", deleteAfterTest: true) {
// all the resources will have been provisioned/updated in the UAT namespace
// and asserted they are valid before this is run
sh "gulp system-test-thingy"
// this fails the build if the tests fail etc and things are torn down
}