github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/vpc/v1/vpc_test.go (about) 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/networking/v1/vpcs" 9 th "github.com/opentelekomcloud/gophertelekomcloud/testhelper" 10 ) 11 12 func TestVPCListing(t *testing.T) { 13 client, err := clients.NewNetworkV1Client() 14 th.AssertNoErr(t, err) 15 16 createOpts := vpcs.CreateOpts{ 17 Name: tools.RandomString("vpc-acc-", 3), 18 } 19 vpc, err := vpcs.Create(client, createOpts).Extract() 20 th.AssertNoErr(t, err) 21 t.Cleanup(func() { 22 err = vpcs.Delete(client, vpc.ID).ExtractErr() 23 th.AssertNoErr(t, err) 24 }) 25 26 cases := map[string]vpcs.ListOpts{ 27 "ID": { 28 ID: vpc.ID, 29 }, 30 "Name": { 31 Name: vpc.Name, 32 }, 33 } 34 for name, opts := range cases { 35 t.Run(name, func(t *testing.T) { 36 opts := opts 37 t.Parallel() 38 39 list, err := vpcs.List(client, opts) 40 th.AssertNoErr(t, err) 41 th.AssertEquals(t, 1, len(list)) 42 th.AssertEquals(t, vpc.ID, list[0].ID) 43 }) 44 } 45 } 46 47 func TestVPCLifecycle(t *testing.T) { 48 client, err := clients.NewNetworkV1Client() 49 th.AssertNoErr(t, err) 50 51 name := tools.RandomString("vpc-acc-", 3) 52 createOpts := vpcs.CreateOpts{ 53 Name: name, 54 Description: "some interesting description", 55 } 56 57 vpc, err := vpcs.Create(client, createOpts).Extract() 58 th.AssertNoErr(t, err) 59 th.AssertEquals(t, vpc.EnableSharedSnat, false) 60 th.AssertEquals(t, vpc.Description, "some interesting description") 61 th.AssertEquals(t, vpc.Name, name) 62 63 t.Cleanup(func() { 64 err = vpcs.Delete(client, vpc.ID).ExtractErr() 65 th.AssertNoErr(t, err) 66 }) 67 68 snatEnable := true 69 name = tools.RandomString("vpc-acc-update-", 3) 70 description := "some interesting description (update)" 71 updateOpts := vpcs.UpdateOpts{ 72 Name: name, 73 Description: &description, 74 EnableSharedSnat: &snatEnable, 75 } 76 77 vpc, err = vpcs.Update(client, vpc.ID, updateOpts).Extract() 78 th.AssertNoErr(t, err) 79 th.AssertEquals(t, vpc.EnableSharedSnat, snatEnable) 80 th.AssertEquals(t, vpc.Description, description) 81 th.AssertEquals(t, vpc.Name, name) 82 }