@@ -3,73 +3,25 @@ package v1
33import (
44 "testing"
55
6- golangsdk "github.com/opentelekomcloud/gophertelekomcloud"
76 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients"
87 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/tools"
98 "github.com/opentelekomcloud/gophertelekomcloud/openstack/networking/v1/bandwidths"
10- "github.com/opentelekomcloud/gophertelekomcloud/openstack/networking/v1/eips "
9+ th "github.com/opentelekomcloud/gophertelekomcloud/testhelper "
1110)
1211
13- func TestBandwidthsUpdate (t * testing.T ) {
14- client , err := clients .NewNetworkV1Client ()
15- if err != nil {
16- t .Fatalf ("Unable to create NetworkV1 client: %v" , err )
17- }
18- bandwidthSize := 100
19-
20- // Create eip/bandwidth
21- eip , err := createEipResource (t , client , bandwidthSize )
22- if err != nil {
23- t .Fatalf ("Unable to create eip/banwidth pair: %s" , err )
24- }
25-
26- // Delete an eip
27- defer deleteEipResource (t , client , eip .ID )
28-
29- tools .PrintResource (t , eip )
30-
31- // Update a bandwidth
32- newBandWidthSize := bandwidthSize / 2
33- updateOpts := bandwidths.UpdateOpts {
34- Size : newBandWidthSize ,
35- }
36- updatedBand , err := bandwidths .Update (client , eip .BandwidthID , updateOpts ).Extract ()
37- if err != nil {
38- t .Fatalf ("Unable to update bandwidth: %s" , err )
39- }
40-
41- // Query a bandwidth
42- newBandWidth , err := bandwidths .Get (client , updatedBand .ID ).Extract ()
43- if err != nil {
44- t .Fatalf ("Unable to retrieve bandwidth: %s" , err )
45- }
46-
47- tools .PrintResource (t , newBandWidth )
48- }
49-
5012func TestBandwidthsList (t * testing.T ) {
5113 client , err := clients .NewNetworkV1Client ()
52- if err != nil {
53- t .Fatalf ("Unable to create NetworkV1 client: %v" , err )
54- }
55- bandwidthSize := 1
14+ th .AssertNoErr (t , err )
5615
5716 // Create eip/bandwidth
58- eip , err := createEipResource (t , client , bandwidthSize )
59- if err != nil {
60- t .Fatalf ("Unable to create eip/banwidth pair: %s" , err )
61- }
62-
63- // Delete an eip
64- defer deleteEipResource (t , client , eip .ID )
17+ eip := createEip (t , client , 1 )
18+ defer deleteEip (t , client , eip .ID )
6519
6620 // Query a bandwidth
6721 existingBandwidths , err := bandwidths .List (client , bandwidths.ListOpts {
6822 ShareType : "PER" ,
6923 }).Extract ()
70- if err != nil {
71- t .Fatalf ("Unable to list bandwidths: %s" , err )
72- }
24+ th .AssertNoErr (t , err )
7325
7426 for _ , b := range existingBandwidths {
7527 if b .ID == eip .BandwidthID {
@@ -80,82 +32,28 @@ func TestBandwidthsList(t *testing.T) {
8032 t .Errorf ("Failed to find created bandwidth" )
8133}
8234
83- func createEipResource (t * testing.T , nwClient * golangsdk.ServiceClient , bandwidthSize int ) (* eips.PublicIp , error ) {
84- bandName := tools .RandomString ("testacc-" , 8 )
85-
86- t .Logf ("Attempting to create eip/bandwidth: %s" , bandName )
87- eipCreateOpts := eips.ApplyOpts {
88- IP : eips.PublicIpOpts {
89- Type : "5_bgp" ,
90- },
91- Bandwidth : eips.BandwidthOpts {
92- ShareType : "PER" ,
93- Name : bandName ,
94- Size : bandwidthSize ,
95- },
96- }
97-
98- eip , err := eips .Apply (nwClient , eipCreateOpts ).Extract ()
99- if err != nil {
100- return nil , err
101- }
102-
103- // wait to be DOWN
104- t .Logf ("Waiting for eip %s to be active" , eip .ID )
105- if err := waitForEipToActive (nwClient , eip .ID , 600 ); err != nil {
106- t .Fatalf ("Error creating eip: %s" , err )
107- }
108- newEip , err := eips .Get (nwClient , eip .ID ).Extract ()
109- if err != nil {
110- t .Fatalf ("Error reading eip: %s" , err )
111- }
112-
113- t .Logf ("Created eip/bandwidth: %s" , bandName )
114-
115- return & newEip , nil
116- }
35+ func TestBandwidthsLifecycle (t * testing.T ) {
36+ client , err := clients .NewNetworkV1Client ()
37+ th .AssertNoErr (t , err )
11738
118- func deleteEipResource (t * testing.T , nwClient * golangsdk.ServiceClient , eipId string ) {
119- t .Logf ("Attempting to delete eip/bandwidth: %s" , eipId )
39+ bandwidthSize := 100
40+ // Create eip/bandwidth
41+ eip := createEip (t , client , bandwidthSize )
42+ defer deleteEip (t , client , eip .ID )
12043
121- err := eips .Delete (nwClient , eipId ).ExtractErr ()
122- if err != nil {
123- t .Fatalf ("Error delete eip: %s" , eipId )
124- }
44+ tools .PrintResource (t , eip )
12545
126- // wait to be deleted
127- t . Logf ( "Waitting for eip %s to be deleted" , eipId )
128- if err := waitForEipToDelete ( nwClient , eipId , 600 ); err != nil {
129- t . Fatalf ( "Error wait for deleting eip: %s" , err )
46+ // Update a bandwidth
47+ newBandWidthSize := bandwidthSize / 2
48+ updateOpts := bandwidths. UpdateOpts {
49+ Size : newBandWidthSize ,
13050 }
51+ updatedBand , err := bandwidths .Update (client , eip .BandwidthID , updateOpts ).Extract ()
52+ th .AssertNoErr (t , err )
13153
132- t .Logf ("Deleted eip/bandwidth: %s" , eipId )
133- }
134-
135- func waitForEipToActive (client * golangsdk.ServiceClient , eipId string , secs int ) error {
136- return golangsdk .WaitFor (secs , func () (bool , error ) {
137- eip , err := eips .Get (client , eipId ).Extract ()
138- if err != nil {
139- return false , err
140- }
141- if eip .Status == "DOWN" {
142- return true , nil
143- }
144-
145- return false , nil
146- })
147- }
148-
149- func waitForEipToDelete (client * golangsdk.ServiceClient , eipId string , secs int ) error {
150- return golangsdk .WaitFor (secs , func () (bool , error ) {
151- _ , err := eips .Get (client , eipId ).Extract ()
152- if err != nil {
153- if _ , ok := err .(golangsdk.ErrDefault404 ); ok {
154- return true , nil
155- }
156- return false , err
157- }
54+ // Query a bandwidth
55+ newBandWidth , err := bandwidths .Get (client , updatedBand .ID ).Extract ()
56+ th .AssertNoErr (t , err )
15857
159- return false , nil
160- })
58+ tools .PrintResource (t , newBandWidth )
16159}
0 commit comments