X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=tests%2FREADME.md;fp=tests%2FREADME.md;h=0000000000000000000000000000000000000000;hp=4d6e64ea56f63975d40a36946f2a79098f1a7032;hb=8776f051f855ed6d5e3b25c07848da93ab04d03c;hpb=76bb000f7c6174a38fb0f7e5adff07124a0b854d;ds=sidebyside diff --git a/tests/README.md b/tests/README.md deleted file mode 100644 index 4d6e64e..0000000 --- a/tests/README.md +++ /dev/null @@ -1,68 +0,0 @@ - - -# N2VC Testing - - -# Preparation -## Environment variables - -The test currently requires some environment variables set in order to run, but these will be deprecated as soon as possible. - -## LXD - -LXD should be installed via snap. - -The connection to the LXD API server expects to use a self-signed SSL certificate, generated by lxc (`lxc list`, et al) is first one. - -## Juju - -Juju is expected to be installed via snap and bootstrapped. - -Run `juju status -m controller` and capture the IP address of machine 0. This is the Juju controller, specified in VCA_HOST - -export VCA_HOST=1.2.3.4 -export VCA_USER=admin -export VCA_SECRET=admin -export VCA_CACERT=$(juju controllers --format json | jq -r '.controllers["osm"]["ca-cert"]'| base64 | tr -d \\n) -export VCA_PUBLIC_KEY=$(cat ~/.local/share/juju/ssh/juju_id_rsa.pub) - -# Running tests - -Tests are written with pytest, driven by tox. All tests are run from the root directory of the repository. - -## Run one test - -To run a single integration test, we tell tox which environment we need, and then the path to the test. - -```bash -tox -e integration -- tests/integration/test_non-string_parameter.py -``` - -## Running all tests - -`make test` will invoke tox to run all unit tests. Alternatively, you can limit this to a specific type of test by invoking tox manually: -```bash -tox -e integration -- tests/integration/ -``` - -# TODO -- Update CI environment to have Juju and LXD available via snap -- Investigate running via Docker -- Remove the requirement for setting environment variables -- Integrate into Jenkins so that tests run against every commit -- Add global timeout to abort tests that are hung -- Only build a charm once per test run, i.e., if two or more tests use the same charm, we should only call `charm build` once.