return slice (!map) from ExtractNetworkAddresses
diff --git a/acceptance/openstack/compute/v2/servers_test.go b/acceptance/openstack/compute/v2/servers_test.go
index ec63c12..d77d34a 100644
--- a/acceptance/openstack/compute/v2/servers_test.go
+++ b/acceptance/openstack/compute/v2/servers_test.go
@@ -154,13 +154,13 @@
pager = servers.ListAddressesByNetwork(client, server.ID, "public")
pager.EachPage(func(page pagination.Page) (bool, error) {
- network, err := servers.ExtractNetworkAddresses(page)
+ addresses, err := servers.ExtractNetworkAddresses(page)
if err != nil {
return false, err
}
- for n, a := range network {
- t.Logf("%s: %+v\n", n, a)
+ for _, a := range addresses {
+ t.Logf("%+v\n", a)
}
return true, nil
})
diff --git a/openstack/compute/v2/servers/fixtures.go b/openstack/compute/v2/servers/fixtures.go
index baa756f..e47bc0e 100644
--- a/openstack/compute/v2/servers/fixtures.go
+++ b/openstack/compute/v2/servers/fixtures.go
@@ -619,16 +619,14 @@
}
// ListNetworkAddressesExpected represents an expected repsonse from a ListAddressesByNetwork request.
-var ListNetworkAddressesExpected = map[string][]Address{
- "public": []Address{
- Address{
- Version: 4,
- Address: "80.56.136.39",
- },
- Address{
- Version: 6,
- Address: "2001:4800:790e:510:be76:4eff:fe04:82a8",
- },
+var ListNetworkAddressesExpected = []Address{
+ Address{
+ Version: 4,
+ Address: "50.56.176.35",
+ },
+ Address{
+ Version: 6,
+ Address: "2001:4800:780e:510:be76:4eff:fe04:84a8",
},
}
diff --git a/openstack/compute/v2/servers/requests_test.go b/openstack/compute/v2/servers/requests_test.go
index abfdec7..3527428 100644
--- a/openstack/compute/v2/servers/requests_test.go
+++ b/openstack/compute/v2/servers/requests_test.go
@@ -302,8 +302,8 @@
actual, err := ExtractNetworkAddresses(page)
th.AssertNoErr(t, err)
- if len(actual) != 1 {
- t.Fatalf("Expected 1 network, got %d", len(actual))
+ if len(actual) != 2 {
+ t.Fatalf("Expected 2 addresses, got %d", len(actual))
}
th.CheckDeepEquals(t, expected, actual)
diff --git a/openstack/compute/v2/servers/results.go b/openstack/compute/v2/servers/results.go
index 1fe6b4a..e2be6ba 100644
--- a/openstack/compute/v2/servers/results.go
+++ b/openstack/compute/v2/servers/results.go
@@ -328,8 +328,8 @@
}
// ExtractNetworkAddresses interprets the results of a single page from a ListAddressesByNetwork() call,
-// producing a map of addresses.
-func ExtractNetworkAddresses(page pagination.Page) (map[string][]Address, error) {
+// producing a slice of addresses.
+func ExtractNetworkAddresses(page pagination.Page) ([]Address, error) {
casted := page.(NetworkAddressPage).Body
var response map[string][]Address
@@ -338,5 +338,10 @@
return nil, err
}
- return response, err
+ var key string
+ for k := range response {
+ key = k
+ }
+
+ return response[key], err
}
diff --git a/rackspace/compute/v2/servers/delegate.go b/rackspace/compute/v2/servers/delegate.go
index a0cc05b..8adfed5 100644
--- a/rackspace/compute/v2/servers/delegate.go
+++ b/rackspace/compute/v2/servers/delegate.go
@@ -82,6 +82,6 @@
}
// ExtractNetworkAddresses interprets the results of a single page from a ListAddressesByNetwork() call, producing a map of Address slices.
-func ExtractNetworkAddresses(page pagination.Page) (map[string][]os.Address, error) {
+func ExtractNetworkAddresses(page pagination.Page) ([]os.Address, error) {
return os.ExtractNetworkAddresses(page)
}
diff --git a/rackspace/compute/v2/servers/delegate_test.go b/rackspace/compute/v2/servers/delegate_test.go
index 5e90a5a..03e7ace 100644
--- a/rackspace/compute/v2/servers/delegate_test.go
+++ b/rackspace/compute/v2/servers/delegate_test.go
@@ -170,8 +170,8 @@
actual, err := ExtractNetworkAddresses(page)
th.AssertNoErr(t, err)
- if len(actual) != 1 {
- t.Fatalf("Expected 1 network, got %d", len(actual))
+ if len(actual) != 2 {
+ t.Fatalf("Expected 2 addresses, got %d", len(actual))
}
th.CheckDeepEquals(t, expected, actual)