// ExtractExtensions interprets a Page as a slice of Extensions. func ExtractExtensions(page pagination.Page) ([]Extension, error) { inner, err := common.ExtractExtensions(page) if err != nil { return nil, err } outer := make([]Extension, len(inner)) for index, ext := range inner { outer[index] = Extension{ext} } return outer, nil }
func TestList(t *testing.T) { th.SetupHTTP() defer th.TeardownHTTP() HandleListExtensionsSuccessfully(t) count := 0 extensions.List(client.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) { count++ actual, err := extensions.ExtractExtensions(page) th.AssertNoErr(t, err) th.AssertDeepEquals(t, ExpectedExtensions, actual) return true, nil }) th.CheckEquals(t, 1, count) }
func TestExtensionsList(t *testing.T) { client, err := clients.NewNetworkV2Client() if err != nil { t.Fatalf("Unable to create a network client: %v", err) } allPages, err := extensions.List(client).AllPages() if err != nil { t.Fatalf("Unable to list extensions: %v", err) } allExtensions, err := extensions.ExtractExtensions(allPages) if err != nil { t.Fatalf("Unable to extract extensions: %v", err) } for _, extension := range allExtensions { openstack.PrintExtension(t, &extension) } }
// ExtractExtensions interprets a Page as a slice of Extensions. func ExtractExtensions(page pagination.Page) ([]common.Extension, error) { return common.ExtractExtensions(page) }