github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6@v6.2.0/routetable_live_test.go (about) 1 //go:build go1.18 2 // +build go1.18 3 4 // Copyright (c) Microsoft Corporation. All rights reserved. 5 // Licensed under the MIT License. See License.txt in the project root for license information. 6 7 package armnetwork_test 8 9 import ( 10 "context" 11 "fmt" 12 "testing" 13 14 "github.com/Azure/azure-sdk-for-go/sdk/azcore" 15 "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm" 16 "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" 17 "github.com/Azure/azure-sdk-for-go/sdk/internal/recording" 18 "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v3/testutil" 19 "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6" 20 "github.com/stretchr/testify/suite" 21 ) 22 23 type RouteTableTestSuite struct { 24 suite.Suite 25 26 ctx context.Context 27 cred azcore.TokenCredential 28 options *arm.ClientOptions 29 routeTableName string 30 routeName string 31 location string 32 resourceGroupName string 33 subscriptionId string 34 } 35 36 func (testsuite *RouteTableTestSuite) SetupSuite() { 37 testutil.StartRecording(testsuite.T(), pathToPackage) 38 39 testsuite.ctx = context.Background() 40 testsuite.cred, testsuite.options = testutil.GetCredAndClientOptions(testsuite.T()) 41 testsuite.routeTableName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "routetable", 16, false) 42 testsuite.routeName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "routename", 15, false) 43 testsuite.location = recording.GetEnvVariable("LOCATION", "westus") 44 testsuite.resourceGroupName = recording.GetEnvVariable("RESOURCE_GROUP_NAME", "scenarioTestTempGroup") 45 testsuite.subscriptionId = recording.GetEnvVariable("AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000") 46 resourceGroup, _, err := testutil.CreateResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.location) 47 testsuite.Require().NoError(err) 48 testsuite.resourceGroupName = *resourceGroup.Name 49 testsuite.Prepare() 50 } 51 52 func (testsuite *RouteTableTestSuite) TearDownSuite() { 53 testsuite.Cleanup() 54 _, err := testutil.DeleteResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.resourceGroupName) 55 testsuite.Require().NoError(err) 56 testutil.StopRecording(testsuite.T()) 57 } 58 59 func TestRouteTableTestSuite(t *testing.T) { 60 suite.Run(t, new(RouteTableTestSuite)) 61 } 62 63 func (testsuite *RouteTableTestSuite) Prepare() { 64 var err error 65 // From step RouteTables_CreateOrUpdate 66 fmt.Println("Call operation: RouteTables_CreateOrUpdate") 67 routeTablesClient, err := armnetwork.NewRouteTablesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) 68 testsuite.Require().NoError(err) 69 routeTablesClientCreateOrUpdateResponsePoller, err := routeTablesClient.BeginCreateOrUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.routeTableName, armnetwork.RouteTable{ 70 Location: to.Ptr(testsuite.location), 71 }, nil) 72 testsuite.Require().NoError(err) 73 _, err = testutil.PollForTest(testsuite.ctx, routeTablesClientCreateOrUpdateResponsePoller) 74 testsuite.Require().NoError(err) 75 } 76 77 // Microsoft.Network/routeTables/{routeTableName} 78 func (testsuite *RouteTableTestSuite) TestRouteTables() { 79 var err error 80 // From step RouteTables_ListAll 81 fmt.Println("Call operation: RouteTables_ListAll") 82 routeTablesClient, err := armnetwork.NewRouteTablesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) 83 testsuite.Require().NoError(err) 84 routeTablesClientNewListAllPager := routeTablesClient.NewListAllPager(nil) 85 for routeTablesClientNewListAllPager.More() { 86 _, err := routeTablesClientNewListAllPager.NextPage(testsuite.ctx) 87 testsuite.Require().NoError(err) 88 break 89 } 90 91 // From step RouteTables_List 92 fmt.Println("Call operation: RouteTables_List") 93 routeTablesClientNewListPager := routeTablesClient.NewListPager(testsuite.resourceGroupName, nil) 94 for routeTablesClientNewListPager.More() { 95 _, err := routeTablesClientNewListPager.NextPage(testsuite.ctx) 96 testsuite.Require().NoError(err) 97 break 98 } 99 100 // From step RouteTables_Get 101 fmt.Println("Call operation: RouteTables_Get") 102 _, err = routeTablesClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.routeTableName, &armnetwork.RouteTablesClientGetOptions{Expand: nil}) 103 testsuite.Require().NoError(err) 104 105 // From step RouteTables_UpdateTags 106 fmt.Println("Call operation: RouteTables_UpdateTags") 107 _, err = routeTablesClient.UpdateTags(testsuite.ctx, testsuite.resourceGroupName, testsuite.routeTableName, armnetwork.TagsObject{ 108 Tags: map[string]*string{ 109 "tag1": to.Ptr("value1"), 110 "tag2": to.Ptr("value2"), 111 }, 112 }, nil) 113 testsuite.Require().NoError(err) 114 } 115 116 // Microsoft.Network/routeTables/{routeTableName}/routes/{routeName} 117 func (testsuite *RouteTableTestSuite) TestRoutes() { 118 var err error 119 // From step Routes_CreateOrUpdate 120 fmt.Println("Call operation: Routes_CreateOrUpdate") 121 routesClient, err := armnetwork.NewRoutesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) 122 testsuite.Require().NoError(err) 123 routesClientCreateOrUpdateResponsePoller, err := routesClient.BeginCreateOrUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.routeTableName, testsuite.routeName, armnetwork.Route{ 124 Properties: &armnetwork.RoutePropertiesFormat{ 125 AddressPrefix: to.Ptr("10.0.3.0/24"), 126 NextHopType: to.Ptr(armnetwork.RouteNextHopTypeVirtualNetworkGateway), 127 }, 128 }, nil) 129 testsuite.Require().NoError(err) 130 _, err = testutil.PollForTest(testsuite.ctx, routesClientCreateOrUpdateResponsePoller) 131 testsuite.Require().NoError(err) 132 133 // From step Routes_List 134 fmt.Println("Call operation: Routes_List") 135 routesClientNewListPager := routesClient.NewListPager(testsuite.resourceGroupName, testsuite.routeTableName, nil) 136 for routesClientNewListPager.More() { 137 _, err := routesClientNewListPager.NextPage(testsuite.ctx) 138 testsuite.Require().NoError(err) 139 break 140 } 141 142 // From step Routes_Get 143 fmt.Println("Call operation: Routes_Get") 144 _, err = routesClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.routeTableName, testsuite.routeName, nil) 145 testsuite.Require().NoError(err) 146 147 // From step Routes_Delete 148 fmt.Println("Call operation: Routes_Delete") 149 routesClientDeleteResponsePoller, err := routesClient.BeginDelete(testsuite.ctx, testsuite.resourceGroupName, testsuite.routeTableName, testsuite.routeName, nil) 150 testsuite.Require().NoError(err) 151 _, err = testutil.PollForTest(testsuite.ctx, routesClientDeleteResponsePoller) 152 testsuite.Require().NoError(err) 153 } 154 155 func (testsuite *RouteTableTestSuite) Cleanup() { 156 var err error 157 // From step RouteTables_Delete 158 fmt.Println("Call operation: RouteTables_Delete") 159 routeTablesClient, err := armnetwork.NewRouteTablesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) 160 testsuite.Require().NoError(err) 161 routeTablesClientDeleteResponsePoller, err := routeTablesClient.BeginDelete(testsuite.ctx, testsuite.resourceGroupName, testsuite.routeTableName, nil) 162 testsuite.Require().NoError(err) 163 _, err = testutil.PollForTest(testsuite.ctx, routeTablesClientDeleteResponsePoller) 164 testsuite.Require().NoError(err) 165 }