github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/networking/v2/extensions/snatrules_test.go (about) 1 package extensions 2 3 import ( 4 "testing" 5 6 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients" 7 "github.com/opentelekomcloud/gophertelekomcloud/openstack/networking/v2/extensions/snatrules" 8 th "github.com/opentelekomcloud/gophertelekomcloud/testhelper" 9 ) 10 11 func TestSnatRuleLifeCycle(t *testing.T) { 12 client, err := clients.NewNatV2Client() 13 th.AssertNoErr(t, err) 14 15 natGateway := createNatGateway(t, client) 16 defer deleteNatGateway(t, client, natGateway.ID) 17 18 elasticIp := createEip(t) 19 defer deleteEip(t, elasticIp.ID) 20 21 t.Logf("Attempting to create SNAT rule") 22 createOpts := snatrules.CreateOpts{ 23 NatGatewayID: natGateway.ID, 24 NetworkID: natGateway.InternalNetworkID, 25 FloatingIPID: elasticIp.ID, 26 SourceType: 0, 27 } 28 snatRule, err := snatrules.Create(client, createOpts).Extract() 29 th.AssertNoErr(t, err) 30 t.Logf("Created SNAT rule: %s", snatRule.ID) 31 32 defer func() { 33 t.Logf("Attempting to delete SNAT rule: %s", snatRule.ID) 34 err = snatrules.Delete(client, snatRule.ID).ExtractErr() 35 th.AssertNoErr(t, err) 36 t.Logf("Deleted SNAT rule: %s", snatRule.ID) 37 }() 38 39 newSnatRule, err := snatrules.Get(client, snatRule.ID).Extract() 40 th.AssertNoErr(t, err) 41 th.AssertEquals(t, createOpts.NatGatewayID, newSnatRule.NatGatewayID) 42 }