| // +build acceptance |
| |
| package v3 |
| |
| import ( |
| "testing" |
| |
| services3 "github.com/gophercloud/gophercloud/openstack/identity/v3/services" |
| "github.com/gophercloud/gophercloud/pagination" |
| ) |
| |
| func TestListServices(t *testing.T) { |
| // Create a service client. |
| serviceClient := createAuthenticatedClient(t) |
| if serviceClient == nil { |
| return |
| } |
| |
| // Use the client to list all available services. |
| pager := services3.List(serviceClient, services3.ListOpts{}) |
| err := pager.EachPage(func(page pagination.Page) (bool, error) { |
| parts, err := services3.ExtractServices(page) |
| if err != nil { |
| return false, err |
| } |
| |
| t.Logf("--- Page ---") |
| for _, service := range parts { |
| t.Logf("Service: %32s %15s %10s %s", service.ID, service.Type, service.Name, *service.Description) |
| } |
| return true, nil |
| }) |
| if err != nil { |
| t.Errorf("Unexpected error traversing pages: %v", err) |
| } |
| } |