blob: 59457c11352d09b9773c8186f8796c33e0e61788 [file] [log] [blame]
Jon Perritta77ba0d2014-10-17 01:15:29 -05001// +build acceptance rackspace objectstorage v1
Jon Perritt8abd2c22014-10-16 20:28:51 -05002
3package v1
4
5import (
6 "os"
7 "testing"
8
9 "github.com/rackspace/gophercloud"
10 "github.com/rackspace/gophercloud/rackspace"
11 th "github.com/rackspace/gophercloud/testhelper"
12)
13
14func rackspaceAuthOptions(t *testing.T) gophercloud.AuthOptions {
15 // Obtain credentials from the environment.
Ash Wilsona6ddde72014-10-22 15:26:42 -040016 options, err := rackspace.AuthOptionsFromEnv()
17 th.AssertNoErr(t, err)
18 options = tools.OnlyRS(options)
Jon Perritt8abd2c22014-10-16 20:28:51 -050019
20 if options.Username == "" {
21 t.Fatal("Please provide a Rackspace username as RS_USERNAME.")
22 }
23 if options.APIKey == "" {
Ash Wilsona6ddde72014-10-22 15:26:42 -040024 t.Fatal("Please provide a Rackspace API key as RS_API_KEY.")
Jon Perritt8abd2c22014-10-16 20:28:51 -050025 }
26
27 return options
28}
29
30func createClient(t *testing.T, cdn bool) (*gophercloud.ServiceClient, error) {
31 region := os.Getenv("RS_REGION")
32 if region == "" {
33 t.Fatal("Please provide a Rackspace region as RS_REGION")
34 }
35
36 ao := rackspaceAuthOptions(t)
37
38 provider, err := rackspace.NewClient(ao.IdentityEndpoint)
39 th.AssertNoErr(t, err)
40
41 err = rackspace.Authenticate(provider, ao)
42 th.AssertNoErr(t, err)
43
44 if cdn {
45 return rackspace.NewObjectCDNV1(provider, gophercloud.EndpointOpts{
46 Region: region,
47 })
48 }
49
50 return rackspace.NewObjectStorageV1(provider, gophercloud.EndpointOpts{
51 Region: region,
52 })
53}