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  }