github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6@v6.2.0/firewallpolicy_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 FirewallPolicyTestSuite struct {
    24  	suite.Suite
    25  
    26  	ctx                     context.Context
    27  	cred                    azcore.TokenCredential
    28  	options                 *arm.ClientOptions
    29  	firewallPolicyName      string
    30  	ruleCollectionGroupName string
    31  	location                string
    32  	resourceGroupName       string
    33  	subscriptionId          string
    34  }
    35  
    36  func (testsuite *FirewallPolicyTestSuite) SetupSuite() {
    37  	testutil.StartRecording(testsuite.T(), pathToPackage)
    38  
    39  	testsuite.ctx = context.Background()
    40  	testsuite.cred, testsuite.options = testutil.GetCredAndClientOptions(testsuite.T())
    41  	testsuite.firewallPolicyName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "firewallpo", 16, false)
    42  	testsuite.ruleCollectionGroupName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "rulecollec", 16, 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 *FirewallPolicyTestSuite) 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 TestFirewallPolicyTestSuite(t *testing.T) {
    60  	suite.Run(t, new(FirewallPolicyTestSuite))
    61  }
    62  
    63  func (testsuite *FirewallPolicyTestSuite) Prepare() {
    64  	var err error
    65  	// From step FirewallPolicies_CreateOrUpdate
    66  	fmt.Println("Call operation: FirewallPolicies_CreateOrUpdate")
    67  	firewallPoliciesClient, err := armnetwork.NewFirewallPoliciesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options)
    68  	testsuite.Require().NoError(err)
    69  	firewallPoliciesClientCreateOrUpdateResponsePoller, err := firewallPoliciesClient.BeginCreateOrUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.firewallPolicyName, armnetwork.FirewallPolicy{
    70  		Location: to.Ptr(testsuite.location),
    71  		Properties: &armnetwork.FirewallPolicyPropertiesFormat{
    72  			SKU: &armnetwork.FirewallPolicySKU{
    73  				Tier: to.Ptr(armnetwork.FirewallPolicySKUTierPremium),
    74  			},
    75  		},
    76  	}, nil)
    77  	testsuite.Require().NoError(err)
    78  	_, err = testutil.PollForTest(testsuite.ctx, firewallPoliciesClientCreateOrUpdateResponsePoller)
    79  	testsuite.Require().NoError(err)
    80  }
    81  
    82  // Microsoft.Network/firewallPolicies/{firewallPolicyName}
    83  func (testsuite *FirewallPolicyTestSuite) TestFirewallPolicies() {
    84  	var err error
    85  	// From step FirewallPolicies_ListAll
    86  	fmt.Println("Call operation: FirewallPolicies_ListAll")
    87  	firewallPoliciesClient, err := armnetwork.NewFirewallPoliciesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options)
    88  	testsuite.Require().NoError(err)
    89  	firewallPoliciesClientNewListAllPager := firewallPoliciesClient.NewListAllPager(nil)
    90  	for firewallPoliciesClientNewListAllPager.More() {
    91  		_, err := firewallPoliciesClientNewListAllPager.NextPage(testsuite.ctx)
    92  		testsuite.Require().NoError(err)
    93  		break
    94  	}
    95  
    96  	// From step FirewallPolicies_List
    97  	fmt.Println("Call operation: FirewallPolicies_List")
    98  	firewallPoliciesClientNewListPager := firewallPoliciesClient.NewListPager(testsuite.resourceGroupName, nil)
    99  	for firewallPoliciesClientNewListPager.More() {
   100  		_, err := firewallPoliciesClientNewListPager.NextPage(testsuite.ctx)
   101  		testsuite.Require().NoError(err)
   102  		break
   103  	}
   104  
   105  	// From step FirewallPolicies_Get
   106  	fmt.Println("Call operation: FirewallPolicies_Get")
   107  	_, err = firewallPoliciesClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.firewallPolicyName, &armnetwork.FirewallPoliciesClientGetOptions{Expand: nil})
   108  	testsuite.Require().NoError(err)
   109  
   110  	// From step FirewallPolicies_UpdateTags
   111  	fmt.Println("Call operation: FirewallPolicies_UpdateTags")
   112  	_, err = firewallPoliciesClient.UpdateTags(testsuite.ctx, testsuite.resourceGroupName, testsuite.firewallPolicyName, armnetwork.TagsObject{
   113  		Tags: map[string]*string{
   114  			"key1": to.Ptr("value1"),
   115  			"key2": to.Ptr("value2"),
   116  		},
   117  	}, nil)
   118  	testsuite.Require().NoError(err)
   119  }
   120  
   121  // Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups/{ruleCollectionGroupName}
   122  func (testsuite *FirewallPolicyTestSuite) TestFirewallPolicyRuleCollectionGroups() {
   123  	var err error
   124  	// From step FirewallPolicyRuleCollectionGroups_CreateOrUpdate
   125  	fmt.Println("Call operation: FirewallPolicyRuleCollectionGroups_CreateOrUpdate")
   126  	firewallPolicyRuleCollectionGroupsClient, err := armnetwork.NewFirewallPolicyRuleCollectionGroupsClient(testsuite.subscriptionId, testsuite.cred, testsuite.options)
   127  	testsuite.Require().NoError(err)
   128  	firewallPolicyRuleCollectionGroupsClientCreateOrUpdateResponsePoller, err := firewallPolicyRuleCollectionGroupsClient.BeginCreateOrUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.firewallPolicyName, testsuite.ruleCollectionGroupName, armnetwork.FirewallPolicyRuleCollectionGroup{
   129  		Properties: &armnetwork.FirewallPolicyRuleCollectionGroupProperties{
   130  			Priority: to.Ptr[int32](100),
   131  			RuleCollections: []armnetwork.FirewallPolicyRuleCollectionClassification{
   132  				&armnetwork.FirewallPolicyFilterRuleCollection{
   133  					Name:               to.Ptr("Example-Filter-Rule-Collection"),
   134  					Priority:           to.Ptr[int32](100),
   135  					RuleCollectionType: to.Ptr(armnetwork.FirewallPolicyRuleCollectionTypeFirewallPolicyFilterRuleCollection),
   136  				}},
   137  		},
   138  	}, nil)
   139  	testsuite.Require().NoError(err)
   140  	_, err = testutil.PollForTest(testsuite.ctx, firewallPolicyRuleCollectionGroupsClientCreateOrUpdateResponsePoller)
   141  	testsuite.Require().NoError(err)
   142  
   143  	// From step FirewallPolicyRuleCollectionGroups_List
   144  	fmt.Println("Call operation: FirewallPolicyRuleCollectionGroups_List")
   145  	firewallPolicyRuleCollectionGroupsClientNewListPager := firewallPolicyRuleCollectionGroupsClient.NewListPager(testsuite.resourceGroupName, testsuite.firewallPolicyName, nil)
   146  	for firewallPolicyRuleCollectionGroupsClientNewListPager.More() {
   147  		_, err := firewallPolicyRuleCollectionGroupsClientNewListPager.NextPage(testsuite.ctx)
   148  		testsuite.Require().NoError(err)
   149  		break
   150  	}
   151  
   152  	// From step FirewallPolicyRuleCollectionGroups_Get
   153  	fmt.Println("Call operation: FirewallPolicyRuleCollectionGroups_Get")
   154  	_, err = firewallPolicyRuleCollectionGroupsClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.firewallPolicyName, testsuite.ruleCollectionGroupName, nil)
   155  	testsuite.Require().NoError(err)
   156  
   157  	// From step FirewallPolicyRuleCollectionGroups_Delete
   158  	fmt.Println("Call operation: FirewallPolicyRuleCollectionGroups_Delete")
   159  	firewallPolicyRuleCollectionGroupsClientDeleteResponsePoller, err := firewallPolicyRuleCollectionGroupsClient.BeginDelete(testsuite.ctx, testsuite.resourceGroupName, testsuite.firewallPolicyName, testsuite.ruleCollectionGroupName, nil)
   160  	testsuite.Require().NoError(err)
   161  	_, err = testutil.PollForTest(testsuite.ctx, firewallPolicyRuleCollectionGroupsClientDeleteResponsePoller)
   162  	testsuite.Require().NoError(err)
   163  }
   164  
   165  func (testsuite *FirewallPolicyTestSuite) Cleanup() {
   166  	var err error
   167  	// From step FirewallPolicies_Delete
   168  	fmt.Println("Call operation: FirewallPolicies_Delete")
   169  	firewallPoliciesClient, err := armnetwork.NewFirewallPoliciesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options)
   170  	testsuite.Require().NoError(err)
   171  	firewallPoliciesClientDeleteResponsePoller, err := firewallPoliciesClient.BeginDelete(testsuite.ctx, testsuite.resourceGroupName, testsuite.firewallPolicyName, nil)
   172  	testsuite.Require().NoError(err)
   173  	_, err = testutil.PollForTest(testsuite.ctx, firewallPoliciesClientDeleteResponsePoller)
   174  	testsuite.Require().NoError(err)
   175  }