Repair A1 integration tests
[ric-plt/a1.git] / tox-integration.ini
1 # ==================================================================================
2 #       Copyright (c) 2019-2020 Nokia
3 #       Copyright (c) 2018-2020 AT&T Intellectual Property.
4 #
5 #   Licensed under the Apache License, Version 2.0 (the "License");
6 #   you may not use this file except in compliance with the License.
7 #   You may obtain a copy of the License at
8 #
9 #          http://www.apache.org/licenses/LICENSE-2.0
10 #
11 #   Unless required by applicable law or agreed to in writing, software
12 #   distributed under the License is distributed on an "AS IS" BASIS,
13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 #   See the License for the specific language governing permissions and
15 #   limitations under the License.
16 # ==================================================================================
17 [tox]
18 envlist = int
19
20 [testenv:int]
21 whitelist_externals=
22     sleep
23     helm
24     ab
25     echo
26     pkill
27     kubectl
28     getlogs.sh
29 passenv = *
30 deps =
31     tavern == 0.34.0 # version 1.0 uses different schema; body -> json
32 changedir=integration_tests
33 commands_pre=
34     echo "WARNING: make sure you are running with latest docker builds!"
35 # Fish function that builds and tags the 3 receivers. Run from integration_tests/testxappcode/
36 #function a1intbuild
37 #    docker build  -t a1:latest .
38 #    cd integration_tests/testxappcode
39 #    docker build -t testreceiver:latest  . -f Dockerfile-test-receiver
40 #    docker build -t delayreceiver:latest . -f Dockerfile-delay-receiver
41 #    docker build -t queryreceiver:latest . -f Dockerfile-query-receiver
42 #    cd ../..
43 #end
44     sleep 3
45 # helm v3 is helm install [name] [chart]
46     echo "linting"
47     helm lint a1mediator
48     helm lint testreceiver
49     helm lint dbaas-service
50     helm install --devel testreceiver testreceiver
51     helm install --devel a1 a1mediator
52     helm install --devel dbaas dbaas-service
53     kubectl get pods --namespace=default
54     echo "wait for pods to start"
55     sleep 30
56     kubectl get pods --namespace=default
57     echo "forward ports"
58     ./portforward.sh
59     echo "wait for port forward"
60     sleep 5
61 commands=
62     echo "running tavern via pytest"
63     pytest --version
64     # --tavern-beta-new-traceback for 0.34.0; fails in 1.0.0
65     pytest --tavern-beta-new-traceback test_a1.tavern.yaml
66     echo "running apache bench (ab) on healthcheck endpoint"
67     # use -v 4 to make ab chatty
68     ab -n 100 -c 10 -v 0 http://localhost:10000/a1-p/healthcheck
69 commands_post=
70     echo "log collection"
71     ./getlogs.sh
72     echo "teardown"
73     helm delete testreceiver
74     helm delete a1
75     helm delete dbaas
76     pkill -9 kubectl
77     sleep 10