blob: f65a77f7581378eeae169c27ce129373f9e0369c [file] [log] [blame] [view]
Jamie Hannaforde8ab7b42014-09-09 16:40:06 +02001# Gophercloud Acceptance tests
2
3The purpose of these acceptance tests is to validate that SDK features meet
4the requirements of a contract - to consumers, other parts of the library, and
5to a remote API.
6
7> **Note:** Because every test will be run against a real API endpoint, you
Jamie Hannaford2a2a1462014-09-10 14:05:45 +02008> may incur bandwidth and service charges for all the resource usage. These
9> tests *should* remove their remote products automatically. However, there may
10> be certain cases where this does not happen; always double-check to make sure
11> you have no stragglers left behind.
Jamie Hannaforde8ab7b42014-09-09 16:40:06 +020012
13### Step 1. Set environment variables
14
Ash Wilson9d0abb22014-10-20 15:15:58 -040015A lot of tests rely on environment variables for configuration - so you will need
Jamie Hannaford0fd67522014-09-09 17:00:22 +020016to set them before running the suite. If you're testing against pure OpenStack APIs,
Ash Wilson9d0abb22014-10-20 15:15:58 -040017you can download a file that contains all of these variables for you: just visit
18the `project/access_and_security` page in your control panel and click the "Download
19OpenStack RC File" button at the top right. For all other providers, you will need
Jamie Hannaford0fd67522014-09-09 17:00:22 +020020to set them manually.
21
Jamie Hannaforde8ab7b42014-09-09 16:40:06 +020022#### Authentication
23
24|Name|Description|
25|---|---|
26|`OS_USERNAME`|Your API username|
27|`OS_PASSWORD`|Your API password|
28|`OS_AUTH_URL`|The identity URL you need to authenticate|
29|`OS_TENANT_NAME`|Your API tenant name|
30|`OS_TENANT_ID`|Your API tenant ID|
Ash Wilson9d0abb22014-10-20 15:15:58 -040031|`RS_USERNAME`|Your Rackspace username|
32|`RS_APIKEY`|Your Rackspace API key|
Jamie Hannaforde8ab7b42014-09-09 16:40:06 +020033
34#### General
35
36|Name|Description|
37|---|---|
38|`OS_REGION_NAME`|The region you want your resources to reside in|
Ash Wilson9d0abb22014-10-20 15:15:58 -040039|`RS_REGION`|Rackspace region you want your resource to reside in|
Jamie Hannaforde8ab7b42014-09-09 16:40:06 +020040
41#### Compute
42
43|Name|Description|
44|---|---|
45|`OS_IMAGE_ID`|The ID of the image your want your server to be based on|
46|`OS_FLAVOR_ID`|The ID of the flavor you want your server to be based on|
47|`OS_FLAVOR_ID_RESIZE`|The ID of the flavor you want your server to be resized to|
Ash Wilson9d0abb22014-10-20 15:15:58 -040048|`RS_IMAGE_ID`|The ID of the image you want servers to be created with|
49|`RS_FLAVOR_ID`|The ID of the flavor you want your server to be created with|
Jamie Hannaforde8ab7b42014-09-09 16:40:06 +020050
51### 2. Run the test suite
52
Ash Wilson9d0abb22014-10-20 15:15:58 -040053Run:
Jamie Hannaforde8ab7b42014-09-09 16:40:06 +020054
55```
Ash Wilson9d0abb22014-10-20 15:15:58 -040056script/acceptancetest
57```
58
59Or manually with:
60
61```
62go test -v -tags 'acceptance fixtures' github.com/rackspace/gophercloud/...
Jamie Hannaforde8ab7b42014-09-09 16:40:06 +020063```
64
65Alternatively, you can execute the above from your nested git folder (i.e. the
66 workspace visible when browsing the Github repository) by replacing
67 `github.com/rackspace/gophercloud/...` with `./...`