fix for hanging unit tests
diff --git a/openstack/storage/v1/containers/results.go b/openstack/storage/v1/containers/results.go
index 6a93b4d..283e44a 100644
--- a/openstack/storage/v1/containers/results.go
+++ b/openstack/storage/v1/containers/results.go
@@ -9,7 +9,11 @@
"strings"
)
-type Container map[string]interface{}
+type Container struct {
+ Bytes int
+ Count int
+ Name string
+}
type commonResult struct {
gophercloud.CommonResult
@@ -79,7 +83,11 @@
untyped := page.(ContainerPage).Body.([]interface{})
results := make([]Container, len(untyped))
for index, each := range untyped {
- results[index] = Container(each.(map[string]interface{}))
+ container := each.(map[string]interface{})
+ err := mapstructure.Decode(container, results[index])
+ if err != nil {
+ return results, err
+ }
}
return results, nil
}
@@ -98,7 +106,7 @@
names := make([]string, 0, len(parsed))
for _, container := range parsed {
- names = append(names, container["name"].(string))
+ names = append(names, container.Name)
}
return names, nil
case strings.HasPrefix(ct, "text/plain"):