use generic parameter building functions; pagination in unit tests
diff --git a/acceptance/openstack/storage/v1/objects_test.go b/acceptance/openstack/storage/v1/objects_test.go
index 066a223..239b4d5 100644
--- a/acceptance/openstack/storage/v1/objects_test.go
+++ b/acceptance/openstack/storage/v1/objects_test.go
@@ -33,18 +33,14 @@
// Create a container to hold the test objects.
cName := tools.RandomString("test-container-", 8)
- _, err = containers.Create(client, containers.CreateOpts{
- Name: cName,
- })
+ _, err = containers.Create(client, cName, containers.CreateOpts{})
if err != nil {
t.Error(err)
return
}
// Defer deletion of the container until after testing.
defer func() {
- err = containers.Delete(client, containers.DeleteOpts{
- Name: cName,
- })
+ err = containers.Delete(client, cName)
if err != nil {
t.Error(err)
return
@@ -55,11 +51,7 @@
oContents := make([]*bytes.Buffer, numObjects)
for i := 0; i < numObjects; i++ {
oContents[i] = bytes.NewBuffer([]byte(tools.RandomString("", 10)))
- err = objects.Create(client, objects.CreateOpts{
- Container: cName,
- Name: oNames[i],
- Content: oContents[i],
- })
+ err = objects.Create(client, cName, oNames[i], oContents[i], objects.CreateOpts{})
if err != nil {
t.Error(err)
return
@@ -68,14 +60,11 @@
// Delete the objects after testing.
defer func() {
for i := 0; i < numObjects; i++ {
- err = objects.Delete(client, objects.DeleteOpts{
- Container: cName,
- Name: oNames[i],
- })
+ err = objects.Delete(client, cName, oNames[i], objects.DeleteOpts{})
}
}()
- pager := objects.List(client, objects.ListOpts{Full: false, Container: cName})
+ pager := objects.List(client, cName, objects.ListOpts{Full: false})
ons := make([]string, 0, len(oNames))
err = pager.EachPage(func(page pagination.Page) (bool, error) {
names, err := objects.ExtractNames(page)
@@ -95,7 +84,7 @@
return
}
- pager = objects.List(client, objects.ListOpts{Full: true, Container: cName})
+ pager = objects.List(client, cName, objects.ListOpts{Full: true})
ois := make([]objects.Object, 0, len(oNames))
err = pager.EachPage(func(page pagination.Page) (bool, error) {
info, err := objects.ExtractInfo(page)
@@ -117,42 +106,20 @@
}
// Copy the contents of one object to another.
- err = objects.Copy(client, objects.CopyOpts{
- Container: cName,
- Name: oNames[0],
- NewContainer: cName,
- NewName: oNames[1],
- })
+ err = objects.Copy(client, cName, oNames[0], objects.CopyOpts{Destination: cName + "/" + oNames[1]})
if err != nil {
t.Error(err)
return
}
// Download one of the objects that was created above.
- dr, err := objects.Download(client, objects.DownloadOpts{
- Container: cName,
- Name: oNames[1],
- })
+ o1Content, err := objects.Download(client, cName, oNames[0], objects.DownloadOpts{}).ExtractContent()
if err != nil {
t.Error(err)
return
}
- // Extract the content from the 'Download' response of object.
- o2Content, err := objects.ExtractContent(dr)
- if err != nil {
- t.Error(err)
- }
// Download the another object that was create above.
- dr, err = objects.Download(client, objects.DownloadOpts{
- Container: cName,
- Name: oNames[0],
- })
- if err != nil {
- t.Error(err)
- return
- }
- // Extract the content from the 'Download' response of other object.
- o1Content, err := objects.ExtractContent(dr)
+ o2Content, err := objects.Download(client, cName, oNames[1], objects.DownloadOpts{}).ExtractContent()
if err != nil {
t.Error(err)
return
@@ -164,11 +131,7 @@
}
// Update an object's metadata.
- err = objects.Update(client, objects.UpdateOpts{
- Container: cName,
- Name: oNames[0],
- Metadata: metadata,
- })
+ err = objects.Update(client, cName, oNames[0], objects.UpdateOpts{Metadata: metadata})
if err != nil {
t.Error(err)
return
@@ -179,11 +142,7 @@
for k := range metadata {
tempMap[k] = ""
}
- err = objects.Update(client, objects.UpdateOpts{
- Container: cName,
- Name: oNames[0],
- Metadata: tempMap,
- })
+ err = objects.Update(client, cName, oNames[0], objects.UpdateOpts{Metadata: tempMap})
if err != nil {
t.Error(err)
return
@@ -191,13 +150,11 @@
}()
// Retrieve an object's metadata.
- gr, err := objects.Get(client, objects.GetOpts{})
+ om, err := objects.Get(client, cName, oNames[0], objects.GetOpts{}).ExtractMetadata()
if err != nil {
t.Error(err)
return
}
- // Extract the custom metadata from the 'Get' response.
- om := objects.ExtractMetadata(gr)
for k := range metadata {
if om[k] != metadata[strings.Title(k)] {
t.Errorf("Expected custom metadata with key: %s", k)