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  }