Merge pull request #267 from smashwilson/unbreak-acceptance
Unbreak Acceptance Again
diff --git a/acceptance/openstack/objectstorage/v1/accounts_test.go b/acceptance/openstack/objectstorage/v1/accounts_test.go
index b55f2a6..f7c01a7 100644
--- a/acceptance/openstack/objectstorage/v1/accounts_test.go
+++ b/acceptance/openstack/objectstorage/v1/accounts_test.go
@@ -13,12 +13,11 @@
func TestAccounts(t *testing.T) {
// Create a provider client for making the HTTP requests.
// See common.go in this directory for more information.
- client, err := newClient()
- th.AssertNoErr(t, err)
+ client := newClient(t)
// Update an account's metadata.
- res = accounts.Update(client, accounts.UpdateOpts{Metadata: metadata})
- th.AssertNoErr(t, res.Err)
+ updateres := accounts.Update(client, accounts.UpdateOpts{Metadata: metadata})
+ th.AssertNoErr(t, updateres.Err)
// Defer the deletion of the metadata set above.
defer func() {
@@ -26,15 +25,16 @@
for k := range metadata {
tempMap[k] = ""
}
- res = accounts.Update(client, accounts.UpdateOpts{Metadata: tempMap})
- th.AssertNoErr(t, res.Err)
+ updateres = accounts.Update(client, accounts.UpdateOpts{Metadata: tempMap})
+ th.AssertNoErr(t, updateres.Err)
}()
// Retrieve account metadata.
- res := accounts.Get(client, accounts.GetOpts{})
- th.AssertNoErr(res.Err)
+ getres := accounts.Get(client, nil)
+ th.AssertNoErr(t, getres.Err)
// Extract the custom metadata from the 'Get' response.
- am := accounts.ExtractMetadata(gr)
+ am, err := getres.ExtractMetadata()
+ th.AssertNoErr(t, err)
for k := range metadata {
if am[k] != metadata[strings.Title(k)] {
t.Errorf("Expected custom metadata with key: %s", k)
diff --git a/acceptance/openstack/objectstorage/v1/common.go b/acceptance/openstack/objectstorage/v1/common.go
index fd1deda..1eac681 100644
--- a/acceptance/openstack/objectstorage/v1/common.go
+++ b/acceptance/openstack/objectstorage/v1/common.go
@@ -4,6 +4,7 @@
import (
"os"
+ "testing"
"github.com/rackspace/gophercloud"
"github.com/rackspace/gophercloud/openstack"
@@ -12,14 +13,16 @@
var metadata = map[string]string{"gopher": "cloud"}
-func newClient() (*gophercloud.ServiceClient, error) {
+func newClient(t *testing.T) *gophercloud.ServiceClient {
ao, err := openstack.AuthOptionsFromEnv()
th.AssertNoErr(t, err)
client, err := openstack.AuthenticatedClient(ao)
th.AssertNoErr(t, err)
- return openstack.NewObjectStorageV1(client, gophercloud.EndpointOpts{
+ c, err := openstack.NewObjectStorageV1(client, gophercloud.EndpointOpts{
Region: os.Getenv("OS_REGION_NAME"),
- }), nil
+ })
+ th.AssertNoErr(t, err)
+ return c
}
diff --git a/acceptance/openstack/objectstorage/v1/containers_test.go b/acceptance/openstack/objectstorage/v1/containers_test.go
index b2c91c5..d6832f1 100644
--- a/acceptance/openstack/objectstorage/v1/containers_test.go
+++ b/acceptance/openstack/objectstorage/v1/containers_test.go
@@ -17,8 +17,7 @@
func TestContainers(t *testing.T) {
// Create a new client to execute the HTTP requests. See common.go for newClient body.
- client, err := newClient()
- th.AssertNoErr(err)
+ client := newClient(t)
// Create a slice of random container names.
cNames := make([]string, numContainers)
@@ -29,21 +28,21 @@
// Create numContainers containers.
for i := 0; i < len(cNames); i++ {
res := containers.Create(client, cNames[i], nil)
- th.AssertNoErr(res.Err)
+ th.AssertNoErr(t, res.Err)
}
// Delete the numContainers containers after function completion.
defer func() {
for i := 0; i < len(cNames); i++ {
- res = containers.Delete(client, cNames[i])
- th.AssertNoErr(res.Err)
+ res := containers.Delete(client, cNames[i])
+ th.AssertNoErr(t, res.Err)
}
}()
// List the numContainer names that were just created. To just list those,
// the 'prefix' parameter is used.
- err = containers.List(client, &containers.ListOpts{Full: true, Prefix: "gophercloud-test-container-"}).EachPage(func(page pagination.Page) (bool, error) {
+ err := containers.List(client, &containers.ListOpts{Full: true, Prefix: "gophercloud-test-container-"}).EachPage(func(page pagination.Page) (bool, error) {
containerList, err := containers.ExtractInfo(page)
- th.AssertNoErr(err)
+ th.AssertNoErr(t, err)
for _, n := range containerList {
t.Logf("Container: Name [%s] Count [%d] Bytes [%d]",
@@ -52,36 +51,36 @@
return true, nil
})
- th.AssertNoErr(err)
+ th.AssertNoErr(t, err)
// List the info for the numContainer containers that were created.
err = containers.List(client, &containers.ListOpts{Full: false, Prefix: "gophercloud-test-container-"}).EachPage(func(page pagination.Page) (bool, error) {
containerList, err := containers.ExtractNames(page)
- th.AssertNoErr(err)
+ th.AssertNoErr(t, err)
for _, n := range containerList {
t.Logf("Container: Name [%s]", n)
}
return true, nil
})
- th.AssertNoErr(err)
+ th.AssertNoErr(t, err)
// Update one of the numContainer container metadata.
- res = containers.Update(client, cNames[0], &containers.UpdateOpts{Metadata: metadata})
- th.AssertNoErr(res.Err)
+ updateres := containers.Update(client, cNames[0], &containers.UpdateOpts{Metadata: metadata})
+ th.AssertNoErr(t, updateres.Err)
// After the tests are done, delete the metadata that was set.
defer func() {
tempMap := make(map[string]string)
for k := range metadata {
tempMap[k] = ""
}
- res = containers.Update(client, cNames[0], &containers.UpdateOpts{Metadata: tempMap})
- th.AssertNoErr(res.Err)
+ res := containers.Update(client, cNames[0], &containers.UpdateOpts{Metadata: tempMap})
+ th.AssertNoErr(t, res.Err)
}()
// Retrieve a container's metadata.
cm, err := containers.Get(client, cNames[0]).ExtractMetadata()
- th.AssertNoErr(err)
+ th.AssertNoErr(t, err)
for k := range metadata {
if cm[k] != metadata[strings.Title(k)] {
t.Errorf("Expected custom metadata with key: %s", k)
diff --git a/acceptance/openstack/objectstorage/v1/objects_test.go b/acceptance/openstack/objectstorage/v1/objects_test.go
index 1454063..987f733 100644
--- a/acceptance/openstack/objectstorage/v1/objects_test.go
+++ b/acceptance/openstack/objectstorage/v1/objects_test.go
@@ -20,8 +20,7 @@
func TestObjects(t *testing.T) {
// Create a provider client for executing the HTTP request.
// See common.go for more information.
- client, err := newClient()
- th.AssertNoErr(err)
+ client := newClient(t)
// Make a slice of length numObjects to hold the random object names.
oNames := make([]string, numObjects)
@@ -31,79 +30,71 @@
// Create a container to hold the test objects.
cName := tools.RandomString("test-container-", 8)
- res = containers.Create(client, cName, nil)
- th.AssertNoErr(res.Err)
+ createres := containers.Create(client, cName, nil)
+ th.AssertNoErr(t, createres.Err)
// Defer deletion of the container until after testing.
defer func() {
- res = containers.Delete(client, cName)
- th.AssertNoErr(res.Err)
+ res := containers.Delete(client, cName)
+ th.AssertNoErr(t, res.Err)
}()
// Create a slice of buffers to hold the test object content.
oContents := make([]*bytes.Buffer, numObjects)
for i := 0; i < numObjects; i++ {
oContents[i] = bytes.NewBuffer([]byte(tools.RandomString("", 10)))
- res = objects.Create(client, cName, oNames[i], oContents[i], nil)
- th.AssertNoErr(res.Err)
+ res := objects.Create(client, cName, oNames[i], oContents[i], nil)
+ th.AssertNoErr(t, res.Err)
}
// Delete the objects after testing.
defer func() {
for i := 0; i < numObjects; i++ {
- res = objects.Delete(client, cName, oNames[i], nil)
+ res := objects.Delete(client, cName, oNames[i], nil)
+ th.AssertNoErr(t, res.Err)
}
}()
ons := make([]string, 0, len(oNames))
- err = objects.List(client, cName, &objects.ListOpts{Full: false, Prefix: "test-object-"}).EachPage(func(page pagination.Page) (bool, error) {
+ err := objects.List(client, cName, &objects.ListOpts{Full: false, Prefix: "test-object-"}).EachPage(func(page pagination.Page) (bool, error) {
names, err := objects.ExtractNames(page)
- th.AssertNoErr(err)
+ th.AssertNoErr(t, err)
ons = append(ons, names...)
return true, nil
})
- th.AssertNoErr(err)
- if len(ons) != len(oNames) {
- t.Errorf("Expected %d names and got %d", len(oNames), len(ons))
- return
- }
+ th.AssertNoErr(t, err)
+ th.AssertEquals(t, len(ons), len(oNames))
ois := make([]objects.Object, 0, len(oNames))
err = objects.List(client, cName, &objects.ListOpts{Full: true, Prefix: "test-object-"}).EachPage(func(page pagination.Page) (bool, error) {
info, err := objects.ExtractInfo(page)
- th.AssertNoErr(err)
+ th.AssertNoErr(t, err)
ois = append(ois, info...)
return true, nil
})
- th.AssertNoErr(err)
- if len(ois) != len(oNames) {
- t.Errorf("Expected %d containers and got %d", len(oNames), len(ois))
- return
- }
+ th.AssertNoErr(t, err)
+ th.AssertEquals(t, len(ois), len(oNames))
// Copy the contents of one object to another.
- res = objects.Copy(client, cName, oNames[0], &objects.CopyOpts{Destination: cName + "/" + oNames[1]})
- th.AssertNoErr(res.Err)
+ copyres := objects.Copy(client, cName, oNames[0], &objects.CopyOpts{Destination: cName + "/" + oNames[1]})
+ th.AssertNoErr(t, copyres.Err)
// Download one of the objects that was created above.
o1Content, err := objects.Download(client, cName, oNames[0], nil).ExtractContent()
- th.AssertNoErr(err)
+ th.AssertNoErr(t, err)
// Download the another object that was create above.
o2Content, err := objects.Download(client, cName, oNames[1], nil).ExtractContent()
- th.AssertNoErr(err)
+ th.AssertNoErr(t, err)
// Compare the two object's contents to test that the copy worked.
- if string(o2Content) != string(o1Content) {
- t.Errorf("Copy failed. Expected\n%s\nand got\n%s", string(o1Content), string(o2Content))
- return
- }
+ th.AssertEquals(t, string(o2Content), string(o1Content))
// Update an object's metadata.
- res = objects.Update(client, cName, oNames[0], &objects.UpdateOpts{Metadata: metadata})
- th.AssertNoErr(res.Err)
+ updateres := objects.Update(client, cName, oNames[0], &objects.UpdateOpts{Metadata: metadata})
+ th.AssertNoErr(t, updateres.Err)
// Delete the object's metadata after testing.
defer func() {
@@ -111,13 +102,13 @@
for k := range metadata {
tempMap[k] = ""
}
- res = objects.Update(client, cName, oNames[0], &objects.UpdateOpts{Metadata: tempMap})
- th.AssertNoErr(res.Err)
+ res := objects.Update(client, cName, oNames[0], &objects.UpdateOpts{Metadata: tempMap})
+ th.AssertNoErr(t, res.Err)
}()
// Retrieve an object's metadata.
om, err := objects.Get(client, cName, oNames[0], nil).ExtractMetadata()
- th.AssertNoErr(err)
+ th.AssertNoErr(t, err)
for k := range metadata {
if om[k] != metadata[strings.Title(k)] {
t.Errorf("Expected custom metadata with key: %s", k)
diff --git a/acceptance/rackspace/identity/v2/identity_test.go b/acceptance/rackspace/identity/v2/identity_test.go
index 576e40f..1182982 100644
--- a/acceptance/rackspace/identity/v2/identity_test.go
+++ b/acceptance/rackspace/identity/v2/identity_test.go
@@ -6,6 +6,7 @@
"testing"
"github.com/rackspace/gophercloud"
+ "github.com/rackspace/gophercloud/acceptance/tools"
"github.com/rackspace/gophercloud/rackspace"
th "github.com/rackspace/gophercloud/testhelper"
)
diff --git a/acceptance/rackspace/objectstorage/v1/accounts_test.go b/acceptance/rackspace/objectstorage/v1/accounts_test.go
index 3a05646..145e4e0 100644
--- a/acceptance/rackspace/objectstorage/v1/accounts_test.go
+++ b/acceptance/rackspace/objectstorage/v1/accounts_test.go
@@ -13,23 +13,19 @@
c, err := createClient(t, false)
th.AssertNoErr(t, err)
- headers, err := raxAccounts.Update(c, raxAccounts.UpdateOpts{Metadata: map[string]string{"white": "mountains"}}).ExtractHeaders()
- th.AssertNoErr(t, err)
- t.Logf("Headers from Update Account request: %+v\n", headers)
+ updateres := raxAccounts.Update(c, raxAccounts.UpdateOpts{Metadata: map[string]string{"white": "mountains"}})
+ th.AssertNoErr(t, updateres.Err)
+ t.Logf("Headers from Update Account request: %+v\n", updateres.Header)
defer func() {
- _, err := raxAccounts.Update(c, raxAccounts.UpdateOpts{Metadata: map[string]string{"white": ""}}).ExtractHeaders()
- th.AssertNoErr(t, err)
+ updateres = raxAccounts.Update(c, raxAccounts.UpdateOpts{Metadata: map[string]string{"white": ""}})
+ th.AssertNoErr(t, updateres.Err)
metadata, err := raxAccounts.Get(c).ExtractMetadata()
th.AssertNoErr(t, err)
t.Logf("Metadata from Get Account request (after update reverted): %+v\n", metadata)
th.CheckEquals(t, metadata["White"], "")
}()
- getResult := raxAccounts.Get(c)
- headers, err = getResult.ExtractHeaders()
- th.AssertNoErr(t, err)
- t.Logf("Headers from Get Account request (after update): %+v\n", headers)
- metadata, err := getResult.ExtractMetadata()
+ metadata, err := raxAccounts.Get(c).ExtractMetadata()
th.AssertNoErr(t, err)
t.Logf("Metadata from Get Account request (after update): %+v\n", metadata)
diff --git a/acceptance/rackspace/objectstorage/v1/cdncontainers_test.go b/acceptance/rackspace/objectstorage/v1/cdncontainers_test.go
index 2765f00..e1bf38b 100644
--- a/acceptance/rackspace/objectstorage/v1/cdncontainers_test.go
+++ b/acceptance/rackspace/objectstorage/v1/cdncontainers_test.go
@@ -16,20 +16,20 @@
raxClient, err := createClient(t, false)
th.AssertNoErr(t, err)
- headers, err := raxContainers.Create(raxClient, "gophercloud-test", nil).ExtractHeaders()
- th.AssertNoErr(t, err)
- t.Logf("Headers from Create Container request: %+v\n", headers)
+ createres := raxContainers.Create(raxClient, "gophercloud-test", nil)
+ th.AssertNoErr(t, createres.Err)
+ t.Logf("Headers from Create Container request: %+v\n", createres.Header)
defer func() {
- _, err := raxContainers.Delete(raxClient, "gophercloud-test").ExtractHeaders()
- th.AssertNoErr(t, err)
+ res := raxContainers.Delete(raxClient, "gophercloud-test")
+ th.AssertNoErr(t, res.Err)
}()
raxCDNClient, err := createClient(t, true)
th.AssertNoErr(t, err)
- headers, err = raxCDNContainers.Enable(raxCDNClient, "gophercloud-test", raxCDNContainers.EnableOpts{CDNEnabled: true, TTL: 900}).ExtractHeaders()
- th.AssertNoErr(t, err)
- t.Logf("Headers from Enable CDN Container request: %+v\n", headers)
+ r := raxCDNContainers.Enable(raxCDNClient, "gophercloud-test", raxCDNContainers.EnableOpts{CDNEnabled: true, TTL: 900})
+ th.AssertNoErr(t, r.Err)
+ t.Logf("Headers from Enable CDN Container request: %+v\n", r.Header)
t.Logf("Container Names available to the currently issued token:")
count := 0
@@ -48,14 +48,14 @@
})
th.AssertNoErr(t, err)
if count == 0 {
- t.Errorf("No containers listed for your current token.")
+ t.Errorf("No CDN containers listed for your current token.")
}
- headers, err = raxCDNContainers.Update(raxCDNClient, "gophercloud-test", raxCDNContainers.UpdateOpts{CDNEnabled: false}).ExtractHeaders()
- th.AssertNoErr(t, err)
- t.Logf("Headers from Update CDN Container request: %+v\n", headers)
+ updateres := raxCDNContainers.Update(raxCDNClient, "gophercloud-test", raxCDNContainers.UpdateOpts{CDNEnabled: false})
+ th.AssertNoErr(t, updateres.Err)
+ t.Logf("Headers from Update CDN Container request: %+v\n", updateres.Header)
- headers, err = raxCDNContainers.Get(raxCDNClient, "gophercloud-test").ExtractHeaders()
+ metadata, err := raxCDNContainers.Get(raxCDNClient, "gophercloud-test").ExtractMetadata()
th.AssertNoErr(t, err)
- t.Logf("Headers from Get CDN Container request (after update): %+v\n", headers)
+ t.Logf("Headers from Get CDN Container request (after update): %+v\n", metadata)
}
diff --git a/acceptance/rackspace/objectstorage/v1/cdnobjects_test.go b/acceptance/rackspace/objectstorage/v1/cdnobjects_test.go
index 2d816f0..dfc2dca 100644
--- a/acceptance/rackspace/objectstorage/v1/cdnobjects_test.go
+++ b/acceptance/rackspace/objectstorage/v1/cdnobjects_test.go
@@ -17,30 +17,30 @@
raxClient, err := createClient(t, false)
th.AssertNoErr(t, err)
- headers, err := raxContainers.Create(raxClient, "gophercloud-test", nil).ExtractHeaders()
- th.AssertNoErr(t, err)
- t.Logf("Headers from Create Container request: %+v\n", headers)
+ createContResult := raxContainers.Create(raxClient, "gophercloud-test", nil)
+ th.AssertNoErr(t, createContResult.Err)
+ t.Logf("Headers from Create Container request: %+v\n", createContResult.Header)
defer func() {
- _, err := raxContainers.Delete(raxClient, "gophercloud-test").ExtractHeaders()
- th.AssertNoErr(t, err)
+ deleteResult := raxContainers.Delete(raxClient, "gophercloud-test")
+ th.AssertNoErr(t, deleteResult.Err)
}()
- headers, err = raxObjects.Create(raxClient, "gophercloud-test", "test-object", bytes.NewBufferString("gophercloud cdn test"), nil).ExtractHeaders()
- th.AssertNoErr(t, err)
- t.Logf("Headers from Create Object request: %+v\n", headers)
+ createObjResult := raxObjects.Create(raxClient, "gophercloud-test", "test-object", bytes.NewBufferString("gophercloud cdn test"), nil)
+ th.AssertNoErr(t, createObjResult.Err)
+ t.Logf("Headers from Create Object request: %+v\n", createObjResult.Header)
defer func() {
- _, err := raxObjects.Delete(raxClient, "gophercloud-test", "test-object", nil).ExtractHeaders()
- th.AssertNoErr(t, err)
+ deleteResult := raxObjects.Delete(raxClient, "gophercloud-test", "test-object", nil)
+ th.AssertNoErr(t, deleteResult.Err)
}()
raxCDNClient, err := createClient(t, true)
th.AssertNoErr(t, err)
- headers, err = raxCDNContainers.Enable(raxCDNClient, "gophercloud-test", raxCDNContainers.EnableOpts{CDNEnabled: true, TTL: 900}).ExtractHeaders()
- th.AssertNoErr(t, err)
- t.Logf("Headers from Enable CDN Container request: %+v\n", headers)
+ enableResult := raxCDNContainers.Enable(raxCDNClient, "gophercloud-test", raxCDNContainers.EnableOpts{CDNEnabled: true, TTL: 900})
+ th.AssertNoErr(t, enableResult.Err)
+ t.Logf("Headers from Enable CDN Container request: %+v\n", enableResult.Header)
- headers, err = raxCDNObjects.Delete(raxCDNClient, "gophercloud-test", "test-object", nil).ExtractHeaders()
- th.AssertNoErr(t, err)
- t.Logf("Headers from Delete CDN Object request: %+v\n", headers)
+ deleteResult := raxCDNObjects.Delete(raxCDNClient, "gophercloud-test", "test-object", nil)
+ th.AssertNoErr(t, deleteResult.Err)
+ t.Logf("Headers from Delete CDN Object request: %+v\n", deleteResult.Err)
}
diff --git a/acceptance/rackspace/objectstorage/v1/common.go b/acceptance/rackspace/objectstorage/v1/common.go
index 59457c1..1ae0727 100644
--- a/acceptance/rackspace/objectstorage/v1/common.go
+++ b/acceptance/rackspace/objectstorage/v1/common.go
@@ -7,6 +7,7 @@
"testing"
"github.com/rackspace/gophercloud"
+ "github.com/rackspace/gophercloud/acceptance/tools"
"github.com/rackspace/gophercloud/rackspace"
th "github.com/rackspace/gophercloud/testhelper"
)
diff --git a/acceptance/rackspace/objectstorage/v1/containers_test.go b/acceptance/rackspace/objectstorage/v1/containers_test.go
index d22057b..a7339cf 100644
--- a/acceptance/rackspace/objectstorage/v1/containers_test.go
+++ b/acceptance/rackspace/objectstorage/v1/containers_test.go
@@ -57,30 +57,28 @@
t.Errorf("No containers listed for your current token.")
}
- headers, err := raxContainers.Create(c, "gophercloud-test", nil).ExtractHeaders()
- th.AssertNoErr(t, err)
+ createres := raxContainers.Create(c, "gophercloud-test", nil)
+ th.AssertNoErr(t, createres.Err)
defer func() {
- _, err := raxContainers.Delete(c, "gophercloud-test").ExtractHeaders()
- th.AssertNoErr(t, err)
+ res := raxContainers.Delete(c, "gophercloud-test")
+ th.AssertNoErr(t, res.Err)
}()
- headers, err = raxContainers.Update(c, "gophercloud-test", raxContainers.UpdateOpts{Metadata: map[string]string{"white": "mountains"}}).ExtractHeaders()
- th.AssertNoErr(t, err)
- t.Logf("Headers from Update Account request: %+v\n", headers)
+ updateres := raxContainers.Update(c, "gophercloud-test", raxContainers.UpdateOpts{Metadata: map[string]string{"white": "mountains"}})
+ th.AssertNoErr(t, updateres.Err)
+ t.Logf("Headers from Update Account request: %+v\n", updateres.Header)
defer func() {
- _, err := raxContainers.Update(c, "gophercloud-test", raxContainers.UpdateOpts{Metadata: map[string]string{"white": ""}}).ExtractHeaders()
- th.AssertNoErr(t, err)
+ res := raxContainers.Update(c, "gophercloud-test", raxContainers.UpdateOpts{Metadata: map[string]string{"white": ""}})
+ th.AssertNoErr(t, res.Err)
metadata, err := raxContainers.Get(c, "gophercloud-test").ExtractMetadata()
th.AssertNoErr(t, err)
t.Logf("Metadata from Get Account request (after update reverted): %+v\n", metadata)
th.CheckEquals(t, metadata["White"], "")
}()
- getResult := raxContainers.Get(c, "gophercloud-test")
- headers, err = getResult.ExtractHeaders()
- th.AssertNoErr(t, err)
- t.Logf("Headers from Get Account request (after update): %+v\n", headers)
- metadata, err := getResult.ExtractMetadata()
+ getres := raxContainers.Get(c, "gophercloud-test")
+ t.Logf("Headers from Get Account request (after update): %+v\n", getres.Header)
+ metadata, err := getres.ExtractMetadata()
th.AssertNoErr(t, err)
t.Logf("Metadata from Get Account request (after update): %+v\n", metadata)
th.CheckEquals(t, metadata["White"], "mountains")
diff --git a/acceptance/rackspace/objectstorage/v1/objects_test.go b/acceptance/rackspace/objectstorage/v1/objects_test.go
index 749f6d3..462f284 100644
--- a/acceptance/rackspace/objectstorage/v1/objects_test.go
+++ b/acceptance/rackspace/objectstorage/v1/objects_test.go
@@ -17,21 +17,21 @@
c, err := createClient(t, false)
th.AssertNoErr(t, err)
- _, err = raxContainers.Create(c, "gophercloud-test", nil).ExtractHeaders()
- th.AssertNoErr(t, err)
+ res := raxContainers.Create(c, "gophercloud-test", nil)
+ th.AssertNoErr(t, res.Err)
defer func() {
- _, err := raxContainers.Delete(c, "gophercloud-test").ExtractHeaders()
- th.AssertNoErr(t, err)
+ res := raxContainers.Delete(c, "gophercloud-test")
+ th.AssertNoErr(t, res.Err)
}()
content := bytes.NewBufferString("Lewis Carroll")
options := &osObjects.CreateOpts{ContentType: "text/plain"}
- _, err = raxObjects.Create(c, "gophercloud-test", "o1", content, options).ExtractHeaders()
- th.AssertNoErr(t, err)
+ createres := raxObjects.Create(c, "gophercloud-test", "o1", content, options)
+ th.AssertNoErr(t, createres.Err)
defer func() {
- _, err := raxObjects.Delete(c, "gophercloud-test", "o1", nil).ExtractHeaders()
- th.AssertNoErr(t, err)
+ res := raxObjects.Delete(c, "gophercloud-test", "o1", nil)
+ th.AssertNoErr(t, res.Err)
}()
t.Logf("Objects Info available to the currently issued token:")
@@ -77,11 +77,11 @@
t.Errorf("No objects listed for your current token.")
}
- _, err = raxObjects.Copy(c, "gophercloud-test", "o1", &raxObjects.CopyOpts{Destination: "gophercloud-test/o2"}).ExtractHeaders()
- th.AssertNoErr(t, err)
+ copyres := raxObjects.Copy(c, "gophercloud-test", "o1", &raxObjects.CopyOpts{Destination: "gophercloud-test/o2"})
+ th.AssertNoErr(t, copyres.Err)
defer func() {
- _, err := raxObjects.Delete(c, "gophercloud-test", "o2", nil).ExtractHeaders()
- th.AssertNoErr(t, err)
+ res := raxObjects.Delete(c, "gophercloud-test", "o2", nil)
+ th.AssertNoErr(t, res.Err)
}()
o1Content, err := raxObjects.Download(c, "gophercloud-test", "o1", nil).ExtractContent()
@@ -90,23 +90,22 @@
th.AssertNoErr(t, err)
th.AssertEquals(t, string(o2Content), string(o1Content))
- headers, err := raxObjects.Update(c, "gophercloud-test", "o2", osObjects.UpdateOpts{Metadata: map[string]string{"white": "mountains"}}).ExtractHeaders()
- th.AssertNoErr(t, err)
- t.Logf("Headers from Update Account request: %+v\n", headers)
+ updateres := raxObjects.Update(c, "gophercloud-test", "o2", osObjects.UpdateOpts{Metadata: map[string]string{"white": "mountains"}})
+ th.AssertNoErr(t, updateres.Err)
+ t.Logf("Headers from Update Account request: %+v\n", updateres.Header)
defer func() {
- _, err := raxObjects.Update(c, "gophercloud-test", "o2", osObjects.UpdateOpts{Metadata: map[string]string{"white": ""}}).ExtractHeaders()
- th.AssertNoErr(t, err)
+ res := raxObjects.Update(c, "gophercloud-test", "o2", osObjects.UpdateOpts{Metadata: map[string]string{"white": ""}})
+ th.AssertNoErr(t, res.Err)
metadata, err := raxObjects.Get(c, "gophercloud-test", "o2", nil).ExtractMetadata()
th.AssertNoErr(t, err)
t.Logf("Metadata from Get Account request (after update reverted): %+v\n", metadata)
th.CheckEquals(t, metadata["White"], "")
}()
- getResult := raxObjects.Get(c, "gophercloud-test", "o2", nil)
- headers, err = getResult.ExtractHeaders()
- th.AssertNoErr(t, err)
- t.Logf("Headers from Get Account request (after update): %+v\n", headers)
- metadata, err := getResult.ExtractMetadata()
+ getres := raxObjects.Get(c, "gophercloud-test", "o2", nil)
+ th.AssertNoErr(t, getres.Err)
+ t.Logf("Headers from Get Account request (after update): %+v\n", getres.Header)
+ metadata, err := getres.ExtractMetadata()
th.AssertNoErr(t, err)
t.Logf("Metadata from Get Account request (after update): %+v\n", metadata)
th.CheckEquals(t, metadata["White"], "mountains")
diff --git a/openstack/objectstorage/v1/accounts/requests_test.go b/openstack/objectstorage/v1/accounts/requests_test.go
index 0ad8d33..d6dc26b 100644
--- a/openstack/objectstorage/v1/accounts/requests_test.go
+++ b/openstack/objectstorage/v1/accounts/requests_test.go
@@ -15,8 +15,8 @@
HandleGetAccountSuccessfully(t)
options := &UpdateOpts{Metadata: map[string]string{"gophercloud-test": "accounts"}}
- _, err := Update(fake.ServiceClient(), options).Extract()
- th.AssertNoErr(t, err)
+ res := Update(fake.ServiceClient(), options)
+ th.AssertNoErr(t, res.Err)
}
func TestGetAccount(t *testing.T) {
diff --git a/openstack/objectstorage/v1/accounts/results.go b/openstack/objectstorage/v1/accounts/results.go
index e42577a..ba379eb 100644
--- a/openstack/objectstorage/v1/accounts/results.go
+++ b/openstack/objectstorage/v1/accounts/results.go
@@ -1,7 +1,6 @@
package accounts
import (
- "net/http"
"strings"
"github.com/rackspace/gophercloud"
@@ -33,9 +32,3 @@
type UpdateResult struct {
gophercloud.Result
}
-
-// Extract returns the unmodified HTTP headers and any error conditions encountered during the
-// metadata update.
-func (ur UpdateResult) Extract() (http.Header, error) {
- return ur.Header, ur.Err
-}
diff --git a/openstack/objectstorage/v1/containers/results.go b/openstack/objectstorage/v1/containers/results.go
index 780d4ae..c00a4bc 100644
--- a/openstack/objectstorage/v1/containers/results.go
+++ b/openstack/objectstorage/v1/containers/results.go
@@ -2,7 +2,6 @@
import (
"fmt"
- "net/http"
"strings"
"github.com/rackspace/gophercloud"
@@ -97,9 +96,13 @@
}
}
+type commonResult struct {
+ gophercloud.Result
+}
+
// GetResult represents the result of a get operation.
type GetResult struct {
- gophercloud.Result
+ commonResult
}
// ExtractMetadata is a function that takes a GetResult (of type *http.Response)
@@ -118,32 +121,23 @@
return metadata, nil
}
-type headerResult struct {
- gophercloud.Result
-}
-
-// Extract pulls the unmodified headers from a Create, Update, or Delete result.
-func (result headerResult) Extract() (http.Header, error) {
- return result.Header, result.Err
-}
-
// CreateResult represents the result of a create operation. To extract the
// the headers from the HTTP response, you can invoke the 'ExtractHeaders'
// method on the result struct.
type CreateResult struct {
- headerResult
+ commonResult
}
// UpdateResult represents the result of an update operation. To extract the
// the headers from the HTTP response, you can invoke the 'ExtractHeaders'
// method on the result struct.
type UpdateResult struct {
- headerResult
+ commonResult
}
// DeleteResult represents the result of a delete operation. To extract the
// the headers from the HTTP response, you can invoke the 'ExtractHeaders'
// method on the result struct.
type DeleteResult struct {
- headerResult
+ commonResult
}
diff --git a/openstack/objectstorage/v1/objects/results.go b/openstack/objectstorage/v1/objects/results.go
index e662b69..f85f1ac 100644
--- a/openstack/objectstorage/v1/objects/results.go
+++ b/openstack/objectstorage/v1/objects/results.go
@@ -2,7 +2,6 @@
import (
"fmt"
- "net/http"
"strings"
"github.com/rackspace/gophercloud"
@@ -96,9 +95,13 @@
}
}
+type commonResult struct {
+ gophercloud.Result
+}
+
// DownloadResult is a *http.Response that is returned from a call to the Download function.
type DownloadResult struct {
- gophercloud.Result
+ commonResult
}
// ExtractContent is a function that takes a DownloadResult (of type *http.Response)
@@ -112,7 +115,7 @@
// GetResult is a *http.Response that is returned from a call to the Get function.
type GetResult struct {
- gophercloud.Result
+ commonResult
}
// ExtractMetadata is a function that takes a GetResult (of type *http.Response)
@@ -131,32 +134,22 @@
return metadata, nil
}
-type headerResult struct {
- gophercloud.Result
-}
-
-// Extract returns the unmodified HTTP response headers from a Create, Update, or Delete call, as
-// well as any errors that occurred during the call.
-func (result headerResult) Extract() (http.Header, error) {
- return result.Header, result.Err
-}
-
// CreateResult represents the result of a create operation.
type CreateResult struct {
- headerResult
+ commonResult
}
// UpdateResult represents the result of an update operation.
type UpdateResult struct {
- headerResult
+ commonResult
}
// DeleteResult represents the result of a delete operation.
type DeleteResult struct {
- headerResult
+ commonResult
}
// CopyResult represents the result of a copy operation.
type CopyResult struct {
- headerResult
+ commonResult
}