74 lines
2.6 KiB
Plaintext
74 lines
2.6 KiB
Plaintext
This directory provides Amulet tests that focus on verification of Glance
|
|
deployments.
|
|
|
|
test_* methods are called in lexical sort order.
|
|
|
|
Test name convention to ensure desired test order:
|
|
1xx service and endpoint checks
|
|
2xx relation checks
|
|
3xx config checks
|
|
4xx functional checks
|
|
9xx restarts and other final checks
|
|
|
|
In order to run tests, you'll need charm-tools installed (in addition to
|
|
juju, of course):
|
|
sudo add-apt-repository ppa:juju/stable
|
|
sudo apt-get update
|
|
sudo apt-get install charm-tools
|
|
|
|
If you use a web proxy server to access the web, you'll need to set the
|
|
AMULET_HTTP_PROXY environment variable to the http URL of the proxy server.
|
|
|
|
The following examples demonstrate different ways that tests can be executed.
|
|
All examples are run from the charm's root directory.
|
|
|
|
* To run all tests (starting with 00-setup):
|
|
|
|
make test
|
|
|
|
* To run a specific test module (or modules):
|
|
|
|
juju test -v -p AMULET_HTTP_PROXY 15-basic-trusty-icehouse
|
|
|
|
* To run a specific test module (or modules), and keep the environment
|
|
deployed after a failure:
|
|
|
|
juju test --set-e -v -p AMULET_HTTP_PROXY 15-basic-trusty-icehouse
|
|
|
|
* To re-run a test module against an already deployed environment (one
|
|
that was deployed by a previous call to 'juju test --set-e'):
|
|
|
|
./tests/15-basic-trusty-icehouse
|
|
|
|
|
|
For debugging and test development purposes, all code should be idempotent.
|
|
In other words, the code should have the ability to be re-run without changing
|
|
the results beyond the initial run. This enables editing and re-running of a
|
|
test module against an already deployed environment, as described above.
|
|
|
|
|
|
Notes for additional test writing:
|
|
|
|
* Use DEBUG to turn on debug logging, use ERROR otherwise.
|
|
u = OpenStackAmuletUtils(ERROR)
|
|
u = OpenStackAmuletUtils(DEBUG)
|
|
|
|
* To interact with the deployed environment:
|
|
export OS_USERNAME=admin
|
|
export OS_PASSWORD=openstack
|
|
export OS_TENANT_NAME=admin
|
|
export OS_REGION_NAME=RegionOne
|
|
export OS_AUTH_URL=${OS_AUTH_PROTOCOL:-http}://`juju-deployer -e trusty -f keystone`:5000/v2.0
|
|
keystone user-list
|
|
glance image-list
|
|
|
|
* Preserving the deployed environment:
|
|
Even with juju --set-e, amulet will tear down the juju environment
|
|
when all tests pass. This force_fail 'test' can be used in basic_deployment.py
|
|
to simulate a failed test and keep the environment.
|
|
|
|
def test_zzzz_fake_fail(self):
|
|
'''Force a fake fail to keep juju environment after a successful test run'''
|
|
# Useful in test writing, when used with: juju test --set-e
|
|
amulet.raise_status(amulet.FAIL, msg='using fake fail to keep juju environment')
|