Update tests/platform-ci/README.md how to run platform tests
[leap_platform.git] / tests / platform-ci / README.md
1 # Continuous integration tests for the leap_platform code
2
3 # Setup
4
5     cd tests/platform-ci
6     ./setup.sh
7
8 # Run syntax checks and test if catalog compiles
9     
10     bin/rake test:syntax
11     bin/rake catalog
12
13 For a list of all tasks:
14
15     bin/rake -T
16
17 # Full integration test
18
19 You can create a virtual provider using AWS, run tests on it, then tear it down
20 when the tests succeed.
21 In order to do so, you need to set your AWS credentials as environment variables:
22
23     export AWS_ACCESS_KEY='...'
24     export AWS_SECRET_KEY='...'
25
26 If you want to login to this machine during or after the deploy you need to 
27
28     export SSH_PRIVATE_KEY=$(cat ~/.ssh/id_rsa)
29
30 then start the deply test with
31
32     ./ci-build.sh
33
34 # Running tests with docker and gitlab-runner
35
36 Another possibility to run the platform tests is to use [gitlab-runner](https://docs.gitlab.com/runner/)
37 together with [Docker](https://www.docker.com/).
38
39 Export `AWS_ACCESS_KEY`, `AWS_SECRET_KEY` and `SSH_PRIVATE_KEY` as shown above.
40 From the root dir of this repo run:
41
42     gitlab-runner exec docker --env AWS_ACCESS_KEY="$AWS_ACCESS_KEY" --env AWS_SECRET_KEY="$AWS_SECRET_KEY" --env SSH_PRIVATE_KEY="$SSH_PRIVATE_KEY" deploy_test
43
44 See `.gitlab-ci.yml` for all the different test jobs.
45
46 To ssh into the VM you first need to enter the docker container:
47
48     docker exec -u cirunner -it $(docker ps --latest -q) bash
49
50 From there you can access the test provider config directory and ssh into the VM:
51
52       cd /builds/project-0/tests/platform-ci/provider/
53       leap ssh citest0