Add an error return to the EachPage closure.
Because the Extract functions, at the very least, have an error parameter, and it's
kind of a pain to capture it outside the closure.
diff --git a/openstack/identity/v3/endpoints/requests_test.go b/openstack/identity/v3/endpoints/requests_test.go
index 70dfd8e..f988770 100644
--- a/openstack/identity/v3/endpoints/requests_test.go
+++ b/openstack/identity/v3/endpoints/requests_test.go
@@ -128,12 +128,12 @@
client := serviceClient()
count := 0
- List(client, ListOpts{}).EachPage(func(page gophercloud.Page) bool {
+ List(client, ListOpts{}).EachPage(func(page gophercloud.Page) (bool, error) {
count++
actual, err := ExtractEndpoints(page)
if err != nil {
t.Errorf("Failed to extract endpoints: %v", err)
- return false
+ return false, err
}
expected := []Endpoint{
@@ -159,7 +159,7 @@
t.Errorf("Expected %#v, got %#v", expected, actual)
}
- return true
+ return true, nil
})
if count != 1 {
t.Errorf("Expected 1 page, got %d", count)
diff --git a/openstack/identity/v3/services/requests_test.go b/openstack/identity/v3/services/requests_test.go
index 9fea519..59cefe3 100644
--- a/openstack/identity/v3/services/requests_test.go
+++ b/openstack/identity/v3/services/requests_test.go
@@ -99,12 +99,11 @@
client := serviceClient()
count := 0
- List(client, ListOpts{}).EachPage(func(page gophercloud.Page) bool {
+ err := List(client, ListOpts{}).EachPage(func(page gophercloud.Page) (bool, error) {
count++
actual, err := ExtractServices(page)
if err != nil {
- t.Errorf("Unexpected error extracting services: %v", err)
- return false
+ return false, err
}
desc0 := "Service One"
@@ -128,8 +127,11 @@
t.Errorf("Expected %#v, got %#v", expected, actual)
}
- return true
+ return true, nil
})
+ if err != nil {
+ t.Errorf("Unexpected error while paging: %v", err)
+ }
if count != 1 {
t.Errorf("Expected 1 page, got %d", count)
}