1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
16 - Flask with Gevent serving
22 This project follows semver. When changes are made, the versions are in:
24 1) ``docs/release-notes.rst``
28 3) ``container-tag.yaml``
30 4) ``integration_tests/a1mediator/Chart.yaml``
32 5) ``a1/openapi.yaml`` (this is an API version, not a software version; no need to bump on patch changes)
34 6) in the ric-plt repo that contains a1 helm chart, ``values.yaml``, ``Chart.yml``
39 As of 2020/02/13, A1 (Dockerfile), Dockerfile-Unit-Test, and all three integration test receivers use a base image from o-ran-sc.
40 The rmr version is in that base image.
41 When version changes are made in that image, rebuilding those 5 containers in the A1 repo will pick it up (or just A1 itself for prod usage).
43 However, there are two items in this repo that must be kept in sync: ``rmr-version.yaml``, which controls what rmr gets installed for unit testing in Jenkins, and ``integration_tests/install_rmr.sh`` which is a useful script for a variety of local testing.
45 Version bumping python itself
46 -----------------------------
47 If you want to update the version of python itself (ie just done from 37 to 38):
51 2) ``Dockerfile-Unit-Test``
57 Note, before this will work, for the first time on the machine running the tests, run ``./install_deps.sh``. This is only needed once on the machine.
58 Also, this requires the python packages ``tox`` and ``pytest``.
63 open htmlcov/index.html
65 Alternatively, you can run the unit tests in Docker (this is somewhat less nice because you don't get the pretty HTML)
69 docker build --no-cache -t a1test:latest -f Dockerfile-Unit-Test
73 This tests A1’s external API with three test receivers. This depends on helm+k8s.
75 Build all the containers:
79 docker build -t a1:latest .; cd integration_tests/; docker build -t testreceiver:latest . -f Dockerfile-test-delay-receiver; docker build -t queryreceiver:latest . -f Dockerfile-query-receiver; cd ..
82 Then, run all the tests from the root (this requires the python packages ``tox``, ``pytest``, and ``tavern``).
86 tox -c tox-integration.ini
89 1. Deploys 3 helm charts (5 containers) into a local kubernetes installation
90 2. Port forwards a pod ClusterIP to localhost
91 3. Uses “tavern” to run some tests against the server
92 4. Barrages the server with apache bench
93 5. Tears everything down