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 }