github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/identity/v3/endpoint_test.go (about) 1 package v3 2 3 import ( 4 "testing" 5 6 golangsdk "github.com/opentelekomcloud/gophertelekomcloud" 7 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients" 8 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/tools" 9 "github.com/opentelekomcloud/gophertelekomcloud/openstack/identity/v3/endpoints" 10 "github.com/opentelekomcloud/gophertelekomcloud/openstack/identity/v3/services" 11 th "github.com/opentelekomcloud/gophertelekomcloud/testhelper" 12 ) 13 14 func TestEndpointsList(t *testing.T) { 15 client, err := clients.NewIdentityV3Client() 16 th.AssertNoErr(t, err) 17 18 allPages, err := endpoints.List(client, nil).AllPages() 19 th.AssertNoErr(t, err) 20 21 allEndpoints, err := endpoints.ExtractEndpoints(allPages) 22 th.AssertNoErr(t, err) 23 24 for _, endpoint := range allEndpoints { 25 tools.PrintResource(t, endpoint) 26 } 27 } 28 29 func TestEndpointsNavigateCatalog(t *testing.T) { 30 client, err := clients.NewIdentityV3Client() 31 th.AssertNoErr(t, err) 32 33 // Discover the service we're interested in. 34 serviceListOpts := services.ListOpts{ 35 ServiceType: "compute", 36 } 37 38 allPages, err := services.List(client, serviceListOpts).AllPages() 39 th.AssertNoErr(t, err) 40 41 allServices, err := services.ExtractServices(allPages) 42 th.AssertNoErr(t, err) 43 44 if len(allServices) != 1 { 45 t.Fatalf("Expected one service, got %d", len(allServices)) 46 } 47 48 computeService := allServices[0] 49 tools.PrintResource(t, computeService) 50 51 // Enumerate the endpoints available for this service. 52 endpointListOpts := endpoints.ListOpts{ 53 Availability: golangsdk.AvailabilityPublic, 54 ServiceID: computeService.ID, 55 } 56 57 allPages, err = endpoints.List(client, endpointListOpts).AllPages() 58 th.AssertNoErr(t, err) 59 60 allEndpoints, err := endpoints.ExtractEndpoints(allPages) 61 th.AssertNoErr(t, err) 62 63 th.AssertEquals(t, allEndpoints[0].Region, "eu-de") 64 th.AssertEquals(t, allEndpoints[1].Region, "eu-nl") 65 th.CheckEquals(t, 2, len(allEndpoints)) 66 tools.PrintResource(t, allEndpoints) 67 68 }