github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6@v6.2.0/ipgroups_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 IpGroupsTestSuite struct {
    24  	suite.Suite
    25  
    26  	ctx               context.Context
    27  	cred              azcore.TokenCredential
    28  	options           *arm.ClientOptions
    29  	ipGroupsName      string
    30  	location          string
    31  	resourceGroupName string
    32  	subscriptionId    string
    33  }
    34  
    35  func (testsuite *IpGroupsTestSuite) SetupSuite() {
    36  	testutil.StartRecording(testsuite.T(), pathToPackage)
    37  
    38  	testsuite.ctx = context.Background()
    39  	testsuite.cred, testsuite.options = testutil.GetCredAndClientOptions(testsuite.T())
    40  	testsuite.ipGroupsName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "ipgroupsna", 16, false)
    41  	testsuite.location = recording.GetEnvVariable("LOCATION", "westus")
    42  	testsuite.resourceGroupName = recording.GetEnvVariable("RESOURCE_GROUP_NAME", "scenarioTestTempGroup")
    43  	testsuite.subscriptionId = recording.GetEnvVariable("AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000")
    44  	resourceGroup, _, err := testutil.CreateResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.location)
    45  	testsuite.Require().NoError(err)
    46  	testsuite.resourceGroupName = *resourceGroup.Name
    47  }
    48  
    49  func (testsuite *IpGroupsTestSuite) TearDownSuite() {
    50  	_, err := testutil.DeleteResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.resourceGroupName)
    51  	testsuite.Require().NoError(err)
    52  	testutil.StopRecording(testsuite.T())
    53  }
    54  
    55  func TestIpGroupsTestSuite(t *testing.T) {
    56  	suite.Run(t, new(IpGroupsTestSuite))
    57  }
    58  
    59  // Microsoft.Network/ipGroups/{ipGroupsName}
    60  func (testsuite *IpGroupsTestSuite) TestIpGroups() {
    61  	var err error
    62  	// From step IpGroups_CreateOrUpdate
    63  	fmt.Println("Call operation: IPGroups_CreateOrUpdate")
    64  	iPGroupsClient, err := armnetwork.NewIPGroupsClient(testsuite.subscriptionId, testsuite.cred, testsuite.options)
    65  	testsuite.Require().NoError(err)
    66  	iPGroupsClientCreateOrUpdateResponsePoller, err := iPGroupsClient.BeginCreateOrUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.ipGroupsName, armnetwork.IPGroup{
    67  		Location: to.Ptr(testsuite.location),
    68  		Tags: map[string]*string{
    69  			"key1": to.Ptr("value1"),
    70  		},
    71  		Properties: &armnetwork.IPGroupPropertiesFormat{
    72  			IPAddresses: []*string{
    73  				to.Ptr("13.64.39.16/32"),
    74  				to.Ptr("40.74.146.80/31"),
    75  				to.Ptr("40.74.147.32/28")},
    76  		},
    77  	}, nil)
    78  	testsuite.Require().NoError(err)
    79  	_, err = testutil.PollForTest(testsuite.ctx, iPGroupsClientCreateOrUpdateResponsePoller)
    80  	testsuite.Require().NoError(err)
    81  
    82  	// From step IpGroups_List
    83  	fmt.Println("Call operation: IPGroups_List")
    84  	iPGroupsClientNewListPager := iPGroupsClient.NewListPager(nil)
    85  	for iPGroupsClientNewListPager.More() {
    86  		_, err := iPGroupsClientNewListPager.NextPage(testsuite.ctx)
    87  		testsuite.Require().NoError(err)
    88  		break
    89  	}
    90  
    91  	// From step IpGroups_ListByResourceGroup
    92  	fmt.Println("Call operation: IPGroups_ListByResourceGroup")
    93  	iPGroupsClientNewListByResourceGroupPager := iPGroupsClient.NewListByResourceGroupPager(testsuite.resourceGroupName, nil)
    94  	for iPGroupsClientNewListByResourceGroupPager.More() {
    95  		_, err := iPGroupsClientNewListByResourceGroupPager.NextPage(testsuite.ctx)
    96  		testsuite.Require().NoError(err)
    97  		break
    98  	}
    99  
   100  	// From step IpGroups_Get
   101  	fmt.Println("Call operation: IPGroups_Get")
   102  	_, err = iPGroupsClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.ipGroupsName, &armnetwork.IPGroupsClientGetOptions{Expand: nil})
   103  	testsuite.Require().NoError(err)
   104  
   105  	// From step IpGroups_UpdateGroups
   106  	fmt.Println("Call operation: IPGroups_UpdateGroups")
   107  	_, err = iPGroupsClient.UpdateGroups(testsuite.ctx, testsuite.resourceGroupName, testsuite.ipGroupsName, armnetwork.TagsObject{
   108  		Tags: map[string]*string{
   109  			"key1": to.Ptr("value1"),
   110  			"key2": to.Ptr("value2"),
   111  		},
   112  	}, nil)
   113  	testsuite.Require().NoError(err)
   114  
   115  	// From step IpGroups_Delete
   116  	fmt.Println("Call operation: IPGroups_Delete")
   117  	iPGroupsClientDeleteResponsePoller, err := iPGroupsClient.BeginDelete(testsuite.ctx, testsuite.resourceGroupName, testsuite.ipGroupsName, nil)
   118  	testsuite.Require().NoError(err)
   119  	_, err = testutil.PollForTest(testsuite.ctx, iPGroupsClientDeleteResponsePoller)
   120  	testsuite.Require().NoError(err)
   121  }