blob: ec184a0b8dab5c53d9b62c60e890677ecde52105 [file] [log] [blame]
Ash Wilsondd7188d2014-09-05 14:02:42 -04001package v3
2
3import (
4 "testing"
5
6 "github.com/rackspace/gophercloud"
7 "github.com/rackspace/gophercloud/openstack"
8 "github.com/rackspace/gophercloud/openstack/utils"
9)
10
11func createAuthenticatedClient(t *testing.T) *gophercloud.ServiceClient {
12 // Obtain credentials from the environment.
13 ao, err := utils.AuthOptions()
14 if err != nil {
15 t.Fatalf("Unable to acquire credentials: %v", err)
16 }
17
18 // Trim out unused fields.
19 ao.Username, ao.TenantID, ao.TenantName = "", "", ""
20
Ash Wilson7083d022014-09-09 14:10:43 -040021 if ao.UserID == "" {
22 t.Logf("Skipping identity v3 tests because no OS_USERID is present.")
23 return nil
24 }
25
26 // Create a client and manually authenticate against v3.
27 providerClient, err := openstack.NewClient(ao.IdentityEndpoint)
Ash Wilsondd7188d2014-09-05 14:02:42 -040028 if err != nil {
29 t.Fatalf("Unable to instantiate client: %v", err)
30 }
31
Ash Wilson7083d022014-09-09 14:10:43 -040032 err = openstack.AuthenticateV3(providerClient, ao)
33 if err != nil {
34 t.Fatalf("Unable to authenticate against identity v3: %v", err)
35 }
36
Ash Wilsondd7188d2014-09-05 14:02:42 -040037 // Create a service client.
38 return openstack.NewIdentityV3(providerClient)
39}