63 lines
1.8 KiB
ReStructuredText
63 lines
1.8 KiB
ReStructuredText
======================================
|
|
python-glanceclient functional testing
|
|
======================================
|
|
|
|
Idea
|
|
----
|
|
|
|
Run real client/server requests in the gate to catch issues which
|
|
are difficult to catch with a purely unit test approach.
|
|
|
|
Many projects (nova, keystone...) already have this form of testing in
|
|
the gate.
|
|
|
|
|
|
Testing Theory
|
|
--------------
|
|
|
|
Since python-glanceclient has two uses, CLI and python API, we should
|
|
have two sets of functional tests. CLI and python API. The python API
|
|
tests should never use the CLI. But the CLI tests can use the python API
|
|
where adding native support to the CLI for the required functionality
|
|
would involve a non trivial amount of work.
|
|
|
|
|
|
Functional Test Guidelines
|
|
--------------------------
|
|
|
|
The functional tests require:
|
|
|
|
1) A working Glance/Keystone installation (for example, devstack)
|
|
2) A yaml file containing valid credentials
|
|
|
|
If you are using devstack, a yaml file will have been created for you
|
|
with the name /etc/openstack/clouds.yaml. The test code knows where
|
|
to find it, so if you're using devstack, you don't need to do anything
|
|
else.
|
|
|
|
If you are not using devstack you should create a yaml file
|
|
with the following format:
|
|
|
|
clouds:
|
|
devstack-admin:
|
|
auth:
|
|
auth_url: http://10.0.0.1:35357/v2.0
|
|
password: example
|
|
project_domain_id: default
|
|
project_name: admin
|
|
user_domain_id: default
|
|
username: admin
|
|
identity_api_version: '2.0'
|
|
region_name: RegionOne
|
|
|
|
The tests will look for a file named 'clouds.yaml' in the
|
|
following locations (in this order, first found wins):
|
|
|
|
* current directory
|
|
* ~/.config/openstack
|
|
* /etc/openstack
|
|
|
|
You may also set the environment variable OS_CLIENT_CONFIG_FILE
|
|
to the absolute pathname of a file and that location will be
|
|
inserted at the front of the search list.
|