Skip to content

Commit 4e2a178

Browse files
committed
Merge pull request rackspace#235 from jrperritt/cloud-files
Cloud files v1
2 parents fa02455 + 3525c64 commit 4e2a178

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1860
-491
lines changed

acceptance/openstack/client_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func TestAuthenticatedClient(t *testing.T) {
3030
t.Logf("Client successfully acquired a token: %v", client.TokenID)
3131

3232
// Find the storage service in the service catalog.
33-
storage, err := openstack.NewStorageV1(client, gophercloud.EndpointOpts{
33+
storage, err := openstack.NewObjectStorageV1(client, gophercloud.EndpointOpts{
3434
Region: os.Getenv("OS_REGION_NAME"),
3535
})
3636
if err != nil {

acceptance/openstack/compute/v2/servers_test.go

Lines changed: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,15 @@ package v2
44

55
import (
66
"fmt"
7+
"os"
78
"testing"
89

910
"github.com/rackspace/gophercloud"
1011
"github.com/rackspace/gophercloud/acceptance/tools"
12+
"github.com/rackspace/gophercloud/openstack"
1113
"github.com/rackspace/gophercloud/openstack/compute/v2/servers"
14+
"github.com/rackspace/gophercloud/openstack/networking/v2/networks"
15+
"github.com/rackspace/gophercloud/openstack/utils"
1216
"github.com/rackspace/gophercloud/pagination"
1317
)
1418

@@ -42,14 +46,59 @@ func TestListServers(t *testing.T) {
4246
fmt.Printf("--------\n%d servers listed on %d pages.\n", count, pages)
4347
}
4448

49+
func networkingClient() (*gophercloud.ServiceClient, error) {
50+
opts, err := utils.AuthOptions()
51+
if err != nil {
52+
return nil, err
53+
}
54+
55+
provider, err := openstack.AuthenticatedClient(opts)
56+
if err != nil {
57+
return nil, err
58+
}
59+
60+
return openstack.NewNetworkV2(provider, gophercloud.EndpointOpts{
61+
Name: "neutron",
62+
Region: os.Getenv("OS_REGION_NAME"),
63+
})
64+
}
65+
4566
func createServer(t *testing.T, client *gophercloud.ServiceClient, choices *ComputeChoices) (*servers.Server, error) {
67+
var network networks.Network
68+
69+
networkingClient, err := networkingClient()
70+
if err != nil {
71+
t.Fatalf("Unable to create a networking client: %v", err)
72+
}
73+
74+
pager := networks.List(networkingClient, networks.ListOpts{Name: "public", Limit: 1})
75+
pager.EachPage(func(page pagination.Page) (bool, error) {
76+
networks, err := networks.ExtractNetworks(page)
77+
if err != nil {
78+
t.Errorf("Failed to extract networks: %v", err)
79+
return false, err
80+
}
81+
82+
if len(networks) == 0 {
83+
t.Fatalf("No networks to attach to server")
84+
return false, err
85+
}
86+
87+
network = networks[0]
88+
89+
return false, nil
90+
})
91+
4692
name := tools.RandomString("ACPTTEST", 16)
4793
t.Logf("Attempting to create server: %s\n", name)
4894

4995
server, err := servers.Create(client, servers.CreateOpts{
5096
Name: name,
5197
FlavorRef: choices.FlavorID,
5298
ImageRef: choices.ImageID,
99+
Networks: []servers.Network{
100+
servers.Network{UUID: network.ID},
101+
},
53102
}).Extract()
54103
if err != nil {
55104
t.Fatalf("Unable to create server: %v", err)
@@ -69,9 +118,6 @@ func TestCreateDestroyServer(t *testing.T) {
69118
t.Fatalf("Unable to create a compute client: %v", err)
70119
}
71120

72-
name := tools.RandomString("ACPTTEST", 16)
73-
t.Logf("Attempting to create server: %s\n", name)
74-
75121
server, err := createServer(t, client, choices)
76122
if err != nil {
77123
t.Fatalf("Unable to create server: %v", err)
@@ -157,7 +203,7 @@ func TestActionChangeAdminPassword(t *testing.T) {
157203
}
158204

159205
randomPassword := tools.MakeNewPassword(server.AdminPass)
160-
res = servers.ChangeAdminPassword(client, server.ID, randomPassword)
206+
res := servers.ChangeAdminPassword(client, server.ID, randomPassword)
161207
if res.Err != nil {
162208
t.Fatal(err)
163209
}
@@ -194,7 +240,7 @@ func TestActionReboot(t *testing.T) {
194240
t.Fatal(err)
195241
}
196242

197-
res = servers.Reboot(client, server.ID, "aldhjflaskhjf")
243+
res := servers.Reboot(client, server.ID, "aldhjflaskhjf")
198244
if res.Err == nil {
199245
t.Fatal("Expected the SDK to provide an ArgumentError here")
200246
}
@@ -271,7 +317,7 @@ func resizeServer(t *testing.T, client *gophercloud.ServiceClient, server *serve
271317
t.Logf("Attempting to resize server [%s]", server.ID)
272318

273319
if res := servers.Resize(client, server.ID, choices.FlavorIDResize); res.Err != nil {
274-
t.Fatal(err)
320+
t.Fatal(res.Err)
275321
}
276322

277323
if err := waitForStatus(client, server, "VERIFY_RESIZE"); err != nil {

acceptance/openstack/networking/v2/extensions/security_test.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ func TestSecurityGroups(t *testing.T) {
2121
// create security group
2222
groupID := createSecGroup(t)
2323

24+
// delete security group
25+
defer deleteSecGroup(t, groupID)
26+
2427
// list security group
2528
listSecGroups(t)
2629

@@ -30,14 +33,11 @@ func TestSecurityGroups(t *testing.T) {
3033
// create port with security group
3134
networkID, portID := createPort(t, groupID)
3235

33-
// delete port
34-
deletePort(t, portID)
35-
36-
// delete security group
37-
deleteSecGroup(t, groupID)
38-
3936
// teardown
40-
deleteNetwork(t, networkID)
37+
defer deleteNetwork(t, networkID)
38+
39+
// delete port
40+
defer deletePort(t, portID)
4141
}
4242

4343
func TestSecurityGroupRules(t *testing.T) {
@@ -47,6 +47,8 @@ func TestSecurityGroupRules(t *testing.T) {
4747
// create security group
4848
groupID := createSecGroup(t)
4949

50+
defer deleteSecGroup(t, groupID)
51+
5052
// create security group rule
5153
ruleID := createSecRule(t, groupID)
5254

acceptance/openstack/objectstorage/v1/accounts_test.go

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,46 +7,32 @@ import (
77
"testing"
88

99
"github.com/rackspace/gophercloud/openstack/objectstorage/v1/accounts"
10+
th "github.com/rackspace/gophercloud/testhelper"
1011
)
1112

1213
func TestAccounts(t *testing.T) {
1314
// Create a provider client for making the HTTP requests.
1415
// See common.go in this directory for more information.
1516
client, err := newClient()
16-
if err != nil {
17-
t.Error(err)
18-
return
19-
}
17+
th.AssertNoErr(t, err)
2018

2119
// Update an account's metadata.
22-
err = accounts.Update(client, accounts.UpdateOpts{
23-
Metadata: metadata,
24-
})
25-
if err != nil {
26-
t.Error(err)
27-
return
28-
}
20+
res = accounts.Update(client, accounts.UpdateOpts{Metadata: metadata})
21+
th.AssertNoErr(t, res.Err)
22+
2923
// Defer the deletion of the metadata set above.
3024
defer func() {
3125
tempMap := make(map[string]string)
3226
for k := range metadata {
3327
tempMap[k] = ""
3428
}
35-
err = accounts.Update(client, accounts.UpdateOpts{
36-
Metadata: tempMap,
37-
})
38-
if err != nil {
39-
t.Error(err)
40-
return
41-
}
29+
res = accounts.Update(client, accounts.UpdateOpts{Metadata: tempMap})
30+
th.AssertNoErr(t, res.Err)
4231
}()
4332

4433
// Retrieve account metadata.
45-
gr, err := accounts.Get(client, accounts.GetOpts{})
46-
if err != nil {
47-
t.Error(err)
48-
return
49-
}
34+
res := accounts.Get(client, accounts.GetOpts{})
35+
th.AssertNoErr(res.Err)
5036
// Extract the custom metadata from the 'Get' response.
5137
am := accounts.ExtractMetadata(gr)
5238
for k := range metadata {

acceptance/openstack/objectstorage/v1/common.go

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,24 @@
33
package v1
44

55
import (
6+
"os"
7+
68
"github.com/rackspace/gophercloud"
79
"github.com/rackspace/gophercloud/openstack"
810
"github.com/rackspace/gophercloud/openstack/utils"
9-
"os"
11+
th "github.com/rackspace/gophercloud/testhelper"
1012
)
1113

1214
var metadata = map[string]string{"gopher": "cloud"}
1315

1416
func newClient() (*gophercloud.ServiceClient, error) {
1517
ao, err := utils.AuthOptions()
16-
if err != nil {
17-
return nil, err
18-
}
18+
th.AssertNoErr(t, err)
1919

2020
client, err := openstack.AuthenticatedClient(ao)
21-
if err != nil {
22-
return nil, err
23-
}
21+
th.AssertNoErr(t, err)
2422

25-
return openstack.NewStorageV1(client, gophercloud.EndpointOpts{
23+
return openstack.NewObjectStorageV1(client, gophercloud.EndpointOpts{
2624
Region: os.Getenv("OS_REGION_NAME"),
27-
})
25+
}), nil
2826
}

acceptance/openstack/objectstorage/v1/containers_test.go

Lines changed: 16 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/rackspace/gophercloud/acceptance/tools"
1010
"github.com/rackspace/gophercloud/openstack/objectstorage/v1/containers"
1111
"github.com/rackspace/gophercloud/pagination"
12+
th "github.com/rackspace/gophercloud/testhelper"
1213
)
1314

1415
// numContainers is the number of containers to create for testing.
@@ -17,9 +18,7 @@ var numContainers = 2
1718
func TestContainers(t *testing.T) {
1819
// Create a new client to execute the HTTP requests. See common.go for newClient body.
1920
client, err := newClient()
20-
if err != nil {
21-
t.Error(err)
22-
}
21+
th.AssertNoErr(err)
2322

2423
// Create a slice of random container names.
2524
cNames := make([]string, numContainers)
@@ -29,77 +28,60 @@ func TestContainers(t *testing.T) {
2928

3029
// Create numContainers containers.
3130
for i := 0; i < len(cNames); i++ {
32-
_, err := containers.Create(client, cNames[i], nil).ExtractHeaders()
33-
if err != nil {
34-
t.Error(err)
35-
}
31+
res := containers.Create(client, cNames[i], nil)
32+
th.AssertNoErr(res.Err)
3633
}
3734
// Delete the numContainers containers after function completion.
3835
defer func() {
3936
for i := 0; i < len(cNames); i++ {
40-
_, err = containers.Delete(client, cNames[i]).ExtractHeaders()
41-
if err != nil {
42-
t.Error(err)
43-
}
37+
res = containers.Delete(client, cNames[i])
38+
th.AssertNoErr(res.Err)
4439
}
4540
}()
4641

4742
// List the numContainer names that were just created. To just list those,
4843
// the 'prefix' parameter is used.
4944
err = containers.List(client, &containers.ListOpts{Full: true, Prefix: "gophercloud-test-container-"}).EachPage(func(page pagination.Page) (bool, error) {
5045
containerList, err := containers.ExtractInfo(page)
51-
if err != nil {
52-
t.Error(err)
53-
}
46+
th.AssertNoErr(err)
47+
5448
for _, n := range containerList {
5549
t.Logf("Container: Name [%s] Count [%d] Bytes [%d]",
5650
n.Name, n.Count, n.Bytes)
5751
}
5852

5953
return true, nil
6054
})
61-
if err != nil {
62-
t.Error(err)
63-
}
55+
th.AssertNoErr(err)
6456

6557
// List the info for the numContainer containers that were created.
6658
err = containers.List(client, &containers.ListOpts{Full: false, Prefix: "gophercloud-test-container-"}).EachPage(func(page pagination.Page) (bool, error) {
6759
containerList, err := containers.ExtractNames(page)
68-
if err != nil {
69-
return false, err
70-
}
60+
th.AssertNoErr(err)
7161
for _, n := range containerList {
7262
t.Logf("Container: Name [%s]", n)
7363
}
7464

7565
return true, nil
7666
})
77-
if err != nil {
78-
t.Error(err)
79-
}
67+
th.AssertNoErr(err)
8068

8169
// Update one of the numContainer container metadata.
82-
_, err = containers.Update(client, cNames[0], &containers.UpdateOpts{Metadata: metadata}).ExtractHeaders()
83-
if err != nil {
84-
t.Error(err)
85-
}
70+
res = containers.Update(client, cNames[0], &containers.UpdateOpts{Metadata: metadata})
71+
th.AssertNoErr(res.Err)
8672
// After the tests are done, delete the metadata that was set.
8773
defer func() {
8874
tempMap := make(map[string]string)
8975
for k := range metadata {
9076
tempMap[k] = ""
9177
}
92-
_, err = containers.Update(client, cNames[0], &containers.UpdateOpts{Metadata: tempMap}).ExtractHeaders()
93-
if err != nil {
94-
t.Error(err)
95-
}
78+
res = containers.Update(client, cNames[0], &containers.UpdateOpts{Metadata: tempMap})
79+
th.AssertNoErr(res.Err)
9680
}()
9781

9882
// Retrieve a container's metadata.
9983
cm, err := containers.Get(client, cNames[0]).ExtractMetadata()
100-
if err != nil {
101-
t.Error(err)
102-
}
84+
th.AssertNoErr(err)
10385
for k := range metadata {
10486
if cm[k] != metadata[strings.Title(k)] {
10587
t.Errorf("Expected custom metadata with key: %s", k)

0 commit comments

Comments
 (0)