github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/loadbalancer/v2/flavors_test.go (about) 1 //go:build acceptance || networking || loadbalancer || flavors 2 // +build acceptance networking loadbalancer flavors 3 4 package v2 5 6 import ( 7 "testing" 8 9 "github.com/gophercloud/gophercloud/internal/acceptance/clients" 10 "github.com/gophercloud/gophercloud/internal/acceptance/tools" 11 "github.com/gophercloud/gophercloud/openstack/loadbalancer/v2/flavors" 12 th "github.com/gophercloud/gophercloud/testhelper" 13 ) 14 15 func TestFlavorsList(t *testing.T) { 16 client, err := clients.NewLoadBalancerV2Client() 17 if err != nil { 18 t.Fatalf("Unable to create a loadbalancer client: %v", err) 19 } 20 21 allPages, err := flavors.List(client, nil).AllPages() 22 if err != nil { 23 t.Fatalf("Unable to list flavors: %v", err) 24 } 25 26 allFlavors, err := flavors.ExtractFlavors(allPages) 27 if err != nil { 28 t.Fatalf("Unable to extract flavors: %v", err) 29 } 30 31 for _, flavor := range allFlavors { 32 tools.PrintResource(t, flavor) 33 } 34 } 35 36 func TestFlavorsCRUD(t *testing.T) { 37 lbClient, err := clients.NewLoadBalancerV2Client() 38 th.AssertNoErr(t, err) 39 40 flavorProfile, err := CreateFlavorProfile(t, lbClient) 41 th.AssertNoErr(t, err) 42 defer DeleteFlavorProfile(t, lbClient, flavorProfile) 43 44 tools.PrintResource(t, flavorProfile) 45 46 th.AssertEquals(t, "amphora", flavorProfile.ProviderName) 47 48 flavor, err := CreateFlavor(t, lbClient, flavorProfile) 49 th.AssertNoErr(t, err) 50 defer DeleteFlavor(t, lbClient, flavor) 51 52 tools.PrintResource(t, flavor) 53 54 th.AssertEquals(t, flavor.FlavorProfileId, flavorProfile.ID) 55 56 flavorUpdateOpts := flavors.UpdateOpts{ 57 Name: tools.RandomString("TESTACCTUP-", 8), 58 } 59 60 flavorUpdated, err := flavors.Update(lbClient, flavor.ID, flavorUpdateOpts).Extract() 61 th.AssertNoErr(t, err) 62 63 th.AssertEquals(t, flavorUpdateOpts.Name, flavorUpdated.Name) 64 65 t.Logf("Successfully updated flavor %s", flavorUpdated.Name) 66 }