github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/internal/acceptance/openstack/compute/v2/services_test.go (about) 1 //go:build acceptance || compute || services 2 3 package v2 4 5 import ( 6 "context" 7 "testing" 8 9 "github.com/vnpaycloud-console/gophercloud/v2/internal/acceptance/clients" 10 "github.com/vnpaycloud-console/gophercloud/v2/internal/acceptance/tools" 11 "github.com/vnpaycloud-console/gophercloud/v2/openstack/compute/v2/services" 12 th "github.com/vnpaycloud-console/gophercloud/v2/testhelper" 13 ) 14 15 func TestServicesList(t *testing.T) { 16 clients.RequireAdmin(t) 17 18 client, err := clients.NewComputeV2Client() 19 th.AssertNoErr(t, err) 20 21 allPages, err := services.List(client, nil).AllPages(context.TODO()) 22 th.AssertNoErr(t, err) 23 24 allServices, err := services.ExtractServices(allPages) 25 th.AssertNoErr(t, err) 26 27 var found bool 28 for _, service := range allServices { 29 tools.PrintResource(t, service) 30 31 if service.Binary == "nova-scheduler" { 32 found = true 33 } 34 } 35 36 th.AssertEquals(t, true, found) 37 } 38 39 func TestServicesListWithOpts(t *testing.T) { 40 clients.RequireAdmin(t) 41 42 client, err := clients.NewComputeV2Client() 43 th.AssertNoErr(t, err) 44 45 opts := services.ListOpts{ 46 Binary: "nova-scheduler", 47 } 48 49 allPages, err := services.List(client, opts).AllPages(context.TODO()) 50 th.AssertNoErr(t, err) 51 52 allServices, err := services.ExtractServices(allPages) 53 th.AssertNoErr(t, err) 54 55 var found bool 56 for _, service := range allServices { 57 tools.PrintResource(t, service) 58 th.AssertEquals(t, "nova-scheduler", service.Binary) 59 60 if service.Binary == "nova-scheduler" { 61 found = true 62 } 63 } 64 65 th.AssertEquals(t, true, found) 66 }