github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6@v6.2.0/webapplicationfirewall_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 WebapplicationfirewallTestSuite struct { 24 suite.Suite 25 26 ctx context.Context 27 cred azcore.TokenCredential 28 options *arm.ClientOptions 29 policyName string 30 location string 31 resourceGroupName string 32 subscriptionId string 33 } 34 35 func (testsuite *WebapplicationfirewallTestSuite) SetupSuite() { 36 testutil.StartRecording(testsuite.T(), pathToPackage) 37 38 testsuite.ctx = context.Background() 39 testsuite.cred, testsuite.options = testutil.GetCredAndClientOptions(testsuite.T()) 40 testsuite.policyName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "wafpolicyname", 19, 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 *WebapplicationfirewallTestSuite) 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 TestWebapplicationfirewallTestSuite(t *testing.T) { 56 suite.Run(t, new(WebapplicationfirewallTestSuite)) 57 } 58 59 // Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName} 60 func (testsuite *WebapplicationfirewallTestSuite) TestWebApplicationFirewallPolicies() { 61 var err error 62 // From step WebApplicationFirewallPolicies_CreateOrUpdate 63 fmt.Println("Call operation: WebApplicationFirewallPolicies_CreateOrUpdate") 64 webApplicationFirewallPoliciesClient, err := armnetwork.NewWebApplicationFirewallPoliciesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) 65 testsuite.Require().NoError(err) 66 _, err = webApplicationFirewallPoliciesClient.CreateOrUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.policyName, armnetwork.WebApplicationFirewallPolicy{ 67 Location: to.Ptr(testsuite.location), 68 Properties: &armnetwork.WebApplicationFirewallPolicyPropertiesFormat{ 69 ManagedRules: &armnetwork.ManagedRulesDefinition{ 70 ManagedRuleSets: []*armnetwork.ManagedRuleSet{ 71 { 72 RuleGroupOverrides: []*armnetwork.ManagedRuleGroupOverride{ 73 { 74 RuleGroupName: to.Ptr("REQUEST-931-APPLICATION-ATTACK-RFI"), 75 Rules: []*armnetwork.ManagedRuleOverride{ 76 { 77 Action: to.Ptr(armnetwork.ActionTypeLog), 78 RuleID: to.Ptr("931120"), 79 State: to.Ptr(armnetwork.ManagedRuleEnabledStateEnabled), 80 }}, 81 }}, 82 RuleSetType: to.Ptr("OWASP"), 83 RuleSetVersion: to.Ptr("3.2"), 84 }}, 85 }, 86 }, 87 }, nil) 88 testsuite.Require().NoError(err) 89 90 // From step WebApplicationFirewallPolicies_List 91 fmt.Println("Call operation: WebApplicationFirewallPolicies_List") 92 webApplicationFirewallPoliciesClientNewListPager := webApplicationFirewallPoliciesClient.NewListPager(testsuite.resourceGroupName, nil) 93 for webApplicationFirewallPoliciesClientNewListPager.More() { 94 _, err := webApplicationFirewallPoliciesClientNewListPager.NextPage(testsuite.ctx) 95 testsuite.Require().NoError(err) 96 break 97 } 98 99 // From step WebApplicationFirewallPolicies_ListAll 100 fmt.Println("Call operation: WebApplicationFirewallPolicies_ListAll") 101 webApplicationFirewallPoliciesClientNewListAllPager := webApplicationFirewallPoliciesClient.NewListAllPager(nil) 102 for webApplicationFirewallPoliciesClientNewListAllPager.More() { 103 _, err := webApplicationFirewallPoliciesClientNewListAllPager.NextPage(testsuite.ctx) 104 testsuite.Require().NoError(err) 105 break 106 } 107 108 // From step WebApplicationFirewallPolicies_Get 109 fmt.Println("Call operation: WebApplicationFirewallPolicies_Get") 110 _, err = webApplicationFirewallPoliciesClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.policyName, nil) 111 testsuite.Require().NoError(err) 112 113 // From step WebApplicationFirewallPolicies_Delete 114 fmt.Println("Call operation: WebApplicationFirewallPolicies_Delete") 115 webApplicationFirewallPoliciesClientDeleteResponsePoller, err := webApplicationFirewallPoliciesClient.BeginDelete(testsuite.ctx, testsuite.resourceGroupName, testsuite.policyName, nil) 116 testsuite.Require().NoError(err) 117 _, err = testutil.PollForTest(testsuite.ctx, webApplicationFirewallPoliciesClientDeleteResponsePoller) 118 testsuite.Require().NoError(err) 119 }