Skip to content

Commit 4872ad7

Browse files
authored
Small refactoring (#91)
Small refactoring Remove exceed eip tags implementation Refactoring networking tests === RUN TestBandwidthsList --- PASS: TestBandwidthsList (11.21s) === RUN TestBandwidthsLifecycle === RUN TestEipList --- PASS: TestEipList (2.02s) === RUN TestEipLifecycle --- PASS: TestEipLifecycle (11.03s) === RUN TestEipTagsLifecycle --- PASS: TestEipTagsLifecycle (14.92s) === RUN TestSubnetList --- PASS: TestSubnetList (2.96s) === RUN TestSubnetsLifecycle --- PASS: TestSubnetsLifecycle (20.92s) === RUN TestVpcList --- PASS: TestVpcList (2.65s) === RUN TestVpcLifecycle --- PASS: TestVpcLifecycle (9.19s) PASS ok github.com/opentelekomcloud/gophertelekomcloud/acceptance/openstack/networking/v1 87.710s Process finished with exit code 0 Reviewed-by: None <None> Reviewed-by: Anton Kachurin <katchuring@gmail.com> Reviewed-by: Rodion Gyrbu <fpsoff@outlook.com>
1 parent ada063c commit 4872ad7

File tree

15 files changed

+416
-659
lines changed

15 files changed

+416
-659
lines changed

acceptance/openstack/networking/v1/bandwidths_test.go

Lines changed: 23 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -3,73 +3,25 @@ package v1
33
import (
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-
5012
func 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
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package v1
2+
3+
import (
4+
"testing"
5+
6+
"github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients"
7+
"github.com/opentelekomcloud/gophertelekomcloud/acceptance/tools"
8+
"github.com/opentelekomcloud/gophertelekomcloud/openstack/common/tags"
9+
"github.com/opentelekomcloud/gophertelekomcloud/openstack/networking/v1/eips"
10+
th "github.com/opentelekomcloud/gophertelekomcloud/testhelper"
11+
)
12+
13+
func TestEipList(t *testing.T) {
14+
client, err := clients.NewNetworkV1Client()
15+
th.AssertNoErr(t, err)
16+
17+
listOpts := eips.ListOpts{}
18+
eipPages, err := eips.List(client, listOpts).AllPages()
19+
th.AssertNoErr(t, err)
20+
21+
eipList, err := eips.ExtractEips(eipPages)
22+
th.AssertNoErr(t, err)
23+
24+
for _, eip := range eipList {
25+
tools.PrintResource(t, eip)
26+
}
27+
}
28+
29+
func TestEipLifecycle(t *testing.T) {
30+
client, err := clients.NewNetworkV1Client()
31+
th.AssertNoErr(t, err)
32+
33+
eip := createEip(t, client, 100)
34+
defer deleteEip(t, client, eip.ID)
35+
36+
tools.PrintResource(t, eip)
37+
}
38+
39+
func TestEipTagsLifecycle(t *testing.T) {
40+
client, err := clients.NewNetworkV1Client()
41+
th.AssertNoErr(t, err)
42+
43+
eip := createEip(t, client, 100)
44+
defer deleteEip(t, client, eip.ID)
45+
46+
networkV2Client, err := clients.NewNetworkV2Client()
47+
th.AssertNoErr(t, err)
48+
49+
eipTags := []tags.ResourceTag{
50+
{
51+
Key: "muh",
52+
Value: "lala",
53+
},
54+
{
55+
Key: "kuh",
56+
Value: "lala",
57+
},
58+
{
59+
Key: "luh",
60+
Value: "lala",
61+
},
62+
}
63+
createEipTags(t, networkV2Client, eip.ID, eipTags)
64+
defer deleteEipTags(t, networkV2Client, eip.ID, eipTags)
65+
66+
newTags, err := tags.Get(networkV2Client, "publicips", eip.ID).Extract()
67+
th.AssertNoErr(t, err)
68+
69+
t.Logf("Assert of length between `createOptsTags` and `tags.Get()`")
70+
th.AssertEquals(t, len(eipTags), len(newTags))
71+
}

0 commit comments

Comments
 (0)