github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6@v6.2.0/expressroutecircuit_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 ExpressRouteCircuitTestSuite struct { 24 suite.Suite 25 26 ctx context.Context 27 cred azcore.TokenCredential 28 options *arm.ClientOptions 29 circuitName string 30 connectionName string 31 peeringName string 32 location string 33 resourceGroupName string 34 subscriptionId string 35 } 36 37 func (testsuite *ExpressRouteCircuitTestSuite) SetupSuite() { 38 testutil.StartRecording(testsuite.T(), pathToPackage) 39 40 testsuite.ctx = context.Background() 41 testsuite.cred, testsuite.options = testutil.GetCredAndClientOptions(testsuite.T()) 42 testsuite.circuitName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "circuitnam", 16, false) 43 testsuite.connectionName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "connerc", 13, false) 44 testsuite.peeringName = "AzurePrivatePeering" 45 testsuite.location = recording.GetEnvVariable("LOCATION", "westus") 46 testsuite.resourceGroupName = recording.GetEnvVariable("RESOURCE_GROUP_NAME", "scenarioTestTempGroup") 47 testsuite.subscriptionId = recording.GetEnvVariable("AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000") 48 resourceGroup, _, err := testutil.CreateResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.location) 49 testsuite.Require().NoError(err) 50 testsuite.resourceGroupName = *resourceGroup.Name 51 testsuite.Prepare() 52 } 53 54 func (testsuite *ExpressRouteCircuitTestSuite) TearDownSuite() { 55 testsuite.Cleanup() 56 _, err := testutil.DeleteResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.resourceGroupName) 57 testsuite.Require().NoError(err) 58 testutil.StopRecording(testsuite.T()) 59 } 60 61 func TestExpressRouteCircuitTestSuite(t *testing.T) { 62 suite.Run(t, new(ExpressRouteCircuitTestSuite)) 63 } 64 65 func (testsuite *ExpressRouteCircuitTestSuite) Prepare() { 66 var err error 67 // From step ExpressRouteCircuits_CreateOrUpdate 68 fmt.Println("Call operation: ExpressRouteCircuits_CreateOrUpdate") 69 expressRouteCircuitsClient, err := armnetwork.NewExpressRouteCircuitsClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) 70 testsuite.Require().NoError(err) 71 expressRouteCircuitsClientCreateOrUpdateResponsePoller, err := expressRouteCircuitsClient.BeginCreateOrUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.circuitName, armnetwork.ExpressRouteCircuit{ 72 Location: to.Ptr(testsuite.location), 73 Properties: &armnetwork.ExpressRouteCircuitPropertiesFormat{ 74 AllowClassicOperations: to.Ptr(false), 75 Authorizations: []*armnetwork.ExpressRouteCircuitAuthorization{}, 76 Peerings: []*armnetwork.ExpressRouteCircuitPeering{}, 77 ServiceProviderProperties: &armnetwork.ExpressRouteCircuitServiceProviderProperties{ 78 BandwidthInMbps: to.Ptr[int32](200), 79 PeeringLocation: to.Ptr("Silicon Valley"), 80 ServiceProviderName: to.Ptr("Equinix"), 81 }, 82 }, 83 SKU: &armnetwork.ExpressRouteCircuitSKU{ 84 Name: to.Ptr("Standard_MeteredData"), 85 Family: to.Ptr(armnetwork.ExpressRouteCircuitSKUFamilyMeteredData), 86 Tier: to.Ptr(armnetwork.ExpressRouteCircuitSKUTierStandard), 87 }, 88 }, nil) 89 testsuite.Require().NoError(err) 90 _, err = testutil.PollForTest(testsuite.ctx, expressRouteCircuitsClientCreateOrUpdateResponsePoller) 91 testsuite.Require().NoError(err) 92 93 // From step ExpressRouteCircuitPeerings_CreateOrUpdate 94 fmt.Println("Call operation: ExpressRouteCircuitPeerings_CreateOrUpdate") 95 expressRouteCircuitPeeringsClient, err := armnetwork.NewExpressRouteCircuitPeeringsClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) 96 testsuite.Require().NoError(err) 97 expressRouteCircuitPeeringsClientCreateOrUpdateResponsePoller, err := expressRouteCircuitPeeringsClient.BeginCreateOrUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.circuitName, testsuite.peeringName, armnetwork.ExpressRouteCircuitPeering{ 98 Properties: &armnetwork.ExpressRouteCircuitPeeringPropertiesFormat{ 99 PeerASN: to.Ptr[int64](200), 100 PrimaryPeerAddressPrefix: to.Ptr("192.168.16.252/30"), 101 SecondaryPeerAddressPrefix: to.Ptr("192.168.18.252/30"), 102 VlanID: to.Ptr[int32](200), 103 }, 104 }, nil) 105 testsuite.Require().NoError(err) 106 _, err = testutil.PollForTest(testsuite.ctx, expressRouteCircuitPeeringsClientCreateOrUpdateResponsePoller) 107 testsuite.Require().NoError(err) 108 } 109 110 // Microsoft.Network/expressRouteCircuits/{circuitName} 111 func (testsuite *ExpressRouteCircuitTestSuite) TestExpressRouteCircuits() { 112 var err error 113 // From step ExpressRouteCircuits_ListAll 114 fmt.Println("Call operation: ExpressRouteCircuits_ListAll") 115 expressRouteCircuitsClient, err := armnetwork.NewExpressRouteCircuitsClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) 116 testsuite.Require().NoError(err) 117 expressRouteCircuitsClientNewListAllPager := expressRouteCircuitsClient.NewListAllPager(nil) 118 for expressRouteCircuitsClientNewListAllPager.More() { 119 _, err := expressRouteCircuitsClientNewListAllPager.NextPage(testsuite.ctx) 120 testsuite.Require().NoError(err) 121 break 122 } 123 124 // From step ExpressRouteCircuits_List 125 fmt.Println("Call operation: ExpressRouteCircuits_List") 126 expressRouteCircuitsClientNewListPager := expressRouteCircuitsClient.NewListPager(testsuite.resourceGroupName, nil) 127 for expressRouteCircuitsClientNewListPager.More() { 128 _, err := expressRouteCircuitsClientNewListPager.NextPage(testsuite.ctx) 129 testsuite.Require().NoError(err) 130 break 131 } 132 133 // From step ExpressRouteCircuits_Get 134 fmt.Println("Call operation: ExpressRouteCircuits_Get") 135 _, err = expressRouteCircuitsClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.circuitName, nil) 136 testsuite.Require().NoError(err) 137 138 // From step ExpressRouteCircuits_GetStats 139 fmt.Println("Call operation: ExpressRouteCircuits_GetStats") 140 _, err = expressRouteCircuitsClient.GetStats(testsuite.ctx, testsuite.resourceGroupName, testsuite.circuitName, nil) 141 testsuite.Require().NoError(err) 142 143 // From step ExpressRouteCircuits_UpdateTags 144 fmt.Println("Call operation: ExpressRouteCircuits_UpdateTags") 145 _, err = expressRouteCircuitsClient.UpdateTags(testsuite.ctx, testsuite.resourceGroupName, testsuite.circuitName, armnetwork.TagsObject{ 146 Tags: map[string]*string{ 147 "tag1": to.Ptr("value1"), 148 "tag2": to.Ptr("value2"), 149 }, 150 }, nil) 151 testsuite.Require().NoError(err) 152 153 // From step ExpressRouteCircuits_GetPeeringStats 154 fmt.Println("Call operation: ExpressRouteCircuits_GetPeeringStats") 155 _, err = expressRouteCircuitsClient.GetPeeringStats(testsuite.ctx, testsuite.resourceGroupName, testsuite.circuitName, testsuite.peeringName, nil) 156 testsuite.Require().NoError(err) 157 } 158 159 // Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName} 160 func (testsuite *ExpressRouteCircuitTestSuite) TestExpressRouteCircuitPeerings() { 161 var err error 162 // From step ExpressRouteCircuitPeerings_List 163 fmt.Println("Call operation: ExpressRouteCircuitPeerings_List") 164 expressRouteCircuitPeeringsClient, err := armnetwork.NewExpressRouteCircuitPeeringsClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) 165 testsuite.Require().NoError(err) 166 expressRouteCircuitPeeringsClientNewListPager := expressRouteCircuitPeeringsClient.NewListPager(testsuite.resourceGroupName, testsuite.circuitName, nil) 167 for expressRouteCircuitPeeringsClientNewListPager.More() { 168 _, err := expressRouteCircuitPeeringsClientNewListPager.NextPage(testsuite.ctx) 169 testsuite.Require().NoError(err) 170 break 171 } 172 173 // From step ExpressRouteCircuitPeerings_Get 174 fmt.Println("Call operation: ExpressRouteCircuitPeerings_Get") 175 _, err = expressRouteCircuitPeeringsClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.circuitName, testsuite.peeringName, nil) 176 testsuite.Require().NoError(err) 177 } 178 179 // Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName} 180 func (testsuite *ExpressRouteCircuitTestSuite) TestExpressRouteCircuitAuthorizations() { 181 authorizationName := "ercauthorization" 182 var err error 183 // From step ExpressRouteCircuitAuthorizations_CreateOrUpdate 184 fmt.Println("Call operation: ExpressRouteCircuitAuthorizations_CreateOrUpdate") 185 expressRouteCircuitAuthorizationsClient, err := armnetwork.NewExpressRouteCircuitAuthorizationsClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) 186 testsuite.Require().NoError(err) 187 expressRouteCircuitAuthorizationsClientCreateOrUpdateResponsePoller, err := expressRouteCircuitAuthorizationsClient.BeginCreateOrUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.circuitName, authorizationName, armnetwork.ExpressRouteCircuitAuthorization{ 188 Properties: &armnetwork.AuthorizationPropertiesFormat{}, 189 }, nil) 190 testsuite.Require().NoError(err) 191 _, err = testutil.PollForTest(testsuite.ctx, expressRouteCircuitAuthorizationsClientCreateOrUpdateResponsePoller) 192 testsuite.Require().NoError(err) 193 194 // From step ExpressRouteCircuitAuthorizations_List 195 fmt.Println("Call operation: ExpressRouteCircuitAuthorizations_List") 196 expressRouteCircuitAuthorizationsClientNewListPager := expressRouteCircuitAuthorizationsClient.NewListPager(testsuite.resourceGroupName, testsuite.circuitName, nil) 197 for expressRouteCircuitAuthorizationsClientNewListPager.More() { 198 _, err := expressRouteCircuitAuthorizationsClientNewListPager.NextPage(testsuite.ctx) 199 testsuite.Require().NoError(err) 200 break 201 } 202 203 // From step ExpressRouteCircuitAuthorizations_Get 204 fmt.Println("Call operation: ExpressRouteCircuitAuthorizations_Get") 205 _, err = expressRouteCircuitAuthorizationsClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.circuitName, authorizationName, nil) 206 testsuite.Require().NoError(err) 207 208 // From step ExpressRouteCircuitAuthorizations_Delete 209 fmt.Println("Call operation: ExpressRouteCircuitAuthorizations_Delete") 210 expressRouteCircuitAuthorizationsClientDeleteResponsePoller, err := expressRouteCircuitAuthorizationsClient.BeginDelete(testsuite.ctx, testsuite.resourceGroupName, testsuite.circuitName, authorizationName, nil) 211 testsuite.Require().NoError(err) 212 _, err = testutil.PollForTest(testsuite.ctx, expressRouteCircuitAuthorizationsClientDeleteResponsePoller) 213 testsuite.Require().NoError(err) 214 } 215 216 // Microsoft.Network/expressRouteServiceProviders 217 func (testsuite *ExpressRouteCircuitTestSuite) TestExpressRouteServiceProviders() { 218 var err error 219 // From step ExpressRouteServiceProviders_List 220 fmt.Println("Call operation: ExpressRouteServiceProviders_List") 221 expressRouteServiceProvidersClient, err := armnetwork.NewExpressRouteServiceProvidersClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) 222 testsuite.Require().NoError(err) 223 expressRouteServiceProvidersClientNewListPager := expressRouteServiceProvidersClient.NewListPager(nil) 224 for expressRouteServiceProvidersClientNewListPager.More() { 225 _, err := expressRouteServiceProvidersClientNewListPager.NextPage(testsuite.ctx) 226 testsuite.Require().NoError(err) 227 break 228 } 229 } 230 231 func (testsuite *ExpressRouteCircuitTestSuite) Cleanup() { 232 var err error 233 // From step ExpressRouteCircuitPeerings_Delete 234 fmt.Println("Call operation: ExpressRouteCircuitPeerings_Delete") 235 expressRouteCircuitPeeringsClient, err := armnetwork.NewExpressRouteCircuitPeeringsClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) 236 testsuite.Require().NoError(err) 237 expressRouteCircuitPeeringsClientDeleteResponsePoller, err := expressRouteCircuitPeeringsClient.BeginDelete(testsuite.ctx, testsuite.resourceGroupName, testsuite.circuitName, testsuite.peeringName, nil) 238 testsuite.Require().NoError(err) 239 _, err = testutil.PollForTest(testsuite.ctx, expressRouteCircuitPeeringsClientDeleteResponsePoller) 240 testsuite.Require().NoError(err) 241 242 // From step ExpressRouteCircuits_Delete 243 fmt.Println("Call operation: ExpressRouteCircuits_Delete") 244 expressRouteCircuitsClient, err := armnetwork.NewExpressRouteCircuitsClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) 245 testsuite.Require().NoError(err) 246 expressRouteCircuitsClientDeleteResponsePoller, err := expressRouteCircuitsClient.BeginDelete(testsuite.ctx, testsuite.resourceGroupName, testsuite.circuitName, nil) 247 testsuite.Require().NoError(err) 248 _, err = testutil.PollForTest(testsuite.ctx, expressRouteCircuitsClientDeleteResponsePoller) 249 testsuite.Require().NoError(err) 250 }