blob: 95c174d1de77fba24ecbe8daf490270adc957008 [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
Jamie Hannaford0fd67522014-09-09 17:00:22 +020015A lot of tests rely on environment variables for configuration - so you will need
16to set them before running the suite. If you're testing against pure OpenStack APIs,
17you 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
20to 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|
31
32#### General
33
34|Name|Description|
35|---|---|
36|`OS_REGION_NAME`|The region you want your resources to reside in|
37
38#### Compute
39
40|Name|Description|
41|---|---|
42|`OS_IMAGE_ID`|The ID of the image your want your server to be based on|
43|`OS_FLAVOR_ID`|The ID of the flavor you want your server to be based on|
44|`OS_FLAVOR_ID_RESIZE`|The ID of the flavor you want your server to be resized to|
45
46### 2. Run the test suite
47
Jamie Hannaford2a2a1462014-09-10 14:05:45 +020048From any directory, run:
Jamie Hannaforde8ab7b42014-09-09 16:40:06 +020049
50```
51go test -v -tags acceptance github.com/rackspace/gophercloud/...
52```
53
54Alternatively, you can execute the above from your nested git folder (i.e. the
55 workspace visible when browsing the Github repository) by replacing
56 `github.com/rackspace/gophercloud/...` with `./...`