diff --git a/sdk/resourcemanager/relay/armrelay/assets.json b/sdk/resourcemanager/relay/armrelay/assets.json new file mode 100644 index 000000000000..b97db5079db1 --- /dev/null +++ b/sdk/resourcemanager/relay/armrelay/assets.json @@ -0,0 +1,6 @@ +{ + "AssetsRepo": "Azure/azure-sdk-assets", + "AssetsRepoPrefixPath": "go", + "TagPrefix": "go/resourcemanager/relay/armrelay", + "Tag": "go/resourcemanager/relay/armrelay_012dcfb040" +} diff --git a/sdk/resourcemanager/relay/armrelay/go.mod b/sdk/resourcemanager/relay/armrelay/go.mod index d72020f3796b..aebefbd4763a 100644 --- a/sdk/resourcemanager/relay/armrelay/go.mod +++ b/sdk/resourcemanager/relay/armrelay/go.mod @@ -5,17 +5,25 @@ go 1.18 require ( github.com/Azure/azure-sdk-for-go/sdk/azcore v1.4.0 github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.2 + github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0 + github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.1.2 + github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.1.1 + github.com/stretchr/testify v1.7.0 ) require ( - github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v0.9.0 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/dnaeon/go-vcr v1.1.0 // indirect github.com/golang-jwt/jwt/v4 v4.5.0 // indirect github.com/google/uuid v1.3.0 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect golang.org/x/crypto v0.6.0 // indirect golang.org/x/net v0.7.0 // indirect golang.org/x/sys v0.5.0 // indirect golang.org/x/text v0.7.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) diff --git a/sdk/resourcemanager/relay/armrelay/go.sum b/sdk/resourcemanager/relay/armrelay/go.sum index 8ba445a8c4da..9e67f59f4a17 100644 --- a/sdk/resourcemanager/relay/armrelay/go.sum +++ b/sdk/resourcemanager/relay/armrelay/go.sum @@ -4,20 +4,32 @@ github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.2 h1:uqM+VoHjVH6zdlkLF2b6O github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.2/go.mod h1:twTKAa1E6hLmSDjLhaCkbTMQKc7p/rNLU40rLxGEOCI= github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0 h1:leh5DwKv6Ihwi+h60uHtn6UWAxBbZ0q8DwQVMzf61zw= github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.1.2 h1:mLY+pNLjCUeKhgnAJWAKhEUQM+RJQo2H1fuGSw1Ky1E= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.1.2/go.mod h1:FbdwsQ2EzwvXxOPcMFYO8ogEc9uMMIj3YkmCdXdAFmk= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/managementgroups/armmanagementgroups v1.0.0 h1:pPvTJ1dY0sA35JOeFq6TsY2xj6Z85Yo23Pj4wCCvu4o= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.1.1 h1:7CBQ+Ei8SP2c6ydQTGCCrS35bDxgTMfoP2miAwK++OU= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.1.1/go.mod h1:c/wcGeGx5FUPbM/JltUYHZcKmigwyVLJlDq+4HdtXaw= github.com/AzureAD/microsoft-authentication-library-for-go v0.9.0 h1:UE9n9rkJF62ArLb1F3DEjRt8O3jLwMWdSoypKV4f3MU= github.com/AzureAD/microsoft-authentication-library-for-go v0.9.0/go.mod h1:kgDmCTgBzIEPFElEF+FK0SdjAor06dRq2Go927dnQ6o= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dnaeon/go-vcr v1.1.0 h1:ReYa/UBrRyQdant9B4fNHGoCNKw6qh6P0fsdGmZpR7c= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= golang.org/x/crypto v0.6.0 h1:qfktjS5LUO+fFKeJXZ+ikTRijMmljikvG68fpMMruSc= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= @@ -27,5 +39,11 @@ golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/sdk/resourcemanager/relay/armrelay/hybridconnections_live_test.go b/sdk/resourcemanager/relay/armrelay/hybridconnections_live_test.go new file mode 100644 index 000000000000..a82c2e7308a2 --- /dev/null +++ b/sdk/resourcemanager/relay/armrelay/hybridconnections_live_test.go @@ -0,0 +1,174 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +package armrelay_test + +import ( + "context" + "fmt" + "testing" + + "github.com/Azure/azure-sdk-for-go/sdk/azcore" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/internal/recording" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/testutil" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/relay/armrelay" + "github.com/stretchr/testify/suite" +) + +type HybridConnectionsTestSuite struct { + suite.Suite + + ctx context.Context + cred azcore.TokenCredential + options *arm.ClientOptions + authorizationRuleName string + hybridConnectionName string + namespaceName string + location string + resourceGroupName string + subscriptionId string +} + +func (testsuite *HybridConnectionsTestSuite) SetupSuite() { + testutil.StartRecording(testsuite.T(), "sdk/resourcemanager/relay/armrelay/testdata") + + testsuite.ctx = context.Background() + testsuite.cred, testsuite.options = testutil.GetCredAndClientOptions(testsuite.T()) + testsuite.authorizationRuleName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "authoriz", 14, false) + testsuite.hybridConnectionName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "hybridco", 14, false) + testsuite.namespaceName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "namespac", 14, false) + testsuite.location = testutil.GetEnv("LOCATION", "westus") + testsuite.resourceGroupName = testutil.GetEnv("RESOURCE_GROUP_NAME", "scenarioTestTempGroup") + testsuite.subscriptionId = testutil.GetEnv("AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000") + resourceGroup, _, err := testutil.CreateResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.location) + testsuite.Require().NoError(err) + testsuite.resourceGroupName = *resourceGroup.Name + testsuite.Prepare() +} + +func (testsuite *HybridConnectionsTestSuite) TearDownSuite() { + testsuite.Cleanup() + _, err := testutil.DeleteResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.resourceGroupName) + testsuite.Require().NoError(err) + testutil.StopRecording(testsuite.T()) +} + +func TestHybridConnectionsTestSuite(t *testing.T) { + suite.Run(t, new(HybridConnectionsTestSuite)) +} + +func (testsuite *HybridConnectionsTestSuite) Prepare() { + var err error + // From step Namespaces_CreateOrUpdate + fmt.Println("Call operation: Namespaces_CreateOrUpdate") + namespacesClient, err := armrelay.NewNamespacesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + namespacesClientCreateOrUpdateResponsePoller, err := namespacesClient.BeginCreateOrUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, armrelay.Namespace{ + Location: to.Ptr(testsuite.location), + Tags: map[string]*string{ + "tag1": to.Ptr("value1"), + "tag2": to.Ptr("value2"), + }, + SKU: &armrelay.SKU{ + Name: to.Ptr(armrelay.SKUNameStandard), + Tier: to.Ptr(armrelay.SKUTierStandard), + }, + }, nil) + testsuite.Require().NoError(err) + _, err = testutil.PollForTest(testsuite.ctx, namespacesClientCreateOrUpdateResponsePoller) + testsuite.Require().NoError(err) + + // From step HybridConnections_CreateOrUpdate + fmt.Println("Call operation: HybridConnections_CreateOrUpdate") + hybridConnectionsClient, err := armrelay.NewHybridConnectionsClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = hybridConnectionsClient.CreateOrUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.hybridConnectionName, armrelay.HybridConnection{ + Properties: &armrelay.HybridConnectionProperties{ + RequiresClientAuthorization: to.Ptr(true), + }, + }, nil) + testsuite.Require().NoError(err) +} + +// Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName} +func (testsuite *HybridConnectionsTestSuite) TestHybridConnections() { + var err error + // From step HybridConnections_ListByNamespace + fmt.Println("Call operation: HybridConnections_ListByNamespace") + hybridConnectionsClient, err := armrelay.NewHybridConnectionsClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + hybridConnectionsClientNewListByNamespacePager := hybridConnectionsClient.NewListByNamespacePager(testsuite.resourceGroupName, testsuite.namespaceName, nil) + for hybridConnectionsClientNewListByNamespacePager.More() { + _, err := hybridConnectionsClientNewListByNamespacePager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step HybridConnections_Get + fmt.Println("Call operation: HybridConnections_Get") + _, err = hybridConnectionsClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.hybridConnectionName, nil) + testsuite.Require().NoError(err) +} + +// Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName} +func (testsuite *HybridConnectionsTestSuite) TestHybridConnectionsAuthorization() { + var err error + // From step HybridConnections_CreateOrUpdateAuthorizationRule + fmt.Println("Call operation: HybridConnections_CreateOrUpdateAuthorizationRule") + hybridConnectionsClient, err := armrelay.NewHybridConnectionsClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = hybridConnectionsClient.CreateOrUpdateAuthorizationRule(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.hybridConnectionName, testsuite.authorizationRuleName, armrelay.AuthorizationRule{ + Properties: &armrelay.AuthorizationRuleProperties{ + Rights: []*armrelay.AccessRights{ + to.Ptr(armrelay.AccessRightsListen), + to.Ptr(armrelay.AccessRightsSend)}, + }, + }, nil) + testsuite.Require().NoError(err) + + // From step HybridConnections_GetAuthorizationRule + fmt.Println("Call operation: HybridConnections_GetAuthorizationRule") + _, err = hybridConnectionsClient.GetAuthorizationRule(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.hybridConnectionName, testsuite.authorizationRuleName, nil) + testsuite.Require().NoError(err) + + // From step HybridConnections_ListAuthorizationRules + fmt.Println("Call operation: HybridConnections_ListAuthorizationRules") + hybridConnectionsClientNewListAuthorizationRulesPager := hybridConnectionsClient.NewListAuthorizationRulesPager(testsuite.resourceGroupName, testsuite.namespaceName, testsuite.hybridConnectionName, nil) + for hybridConnectionsClientNewListAuthorizationRulesPager.More() { + _, err := hybridConnectionsClientNewListAuthorizationRulesPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step HybridConnections_ListKeys + fmt.Println("Call operation: HybridConnections_ListKeys") + _, err = hybridConnectionsClient.ListKeys(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.hybridConnectionName, testsuite.authorizationRuleName, nil) + testsuite.Require().NoError(err) + + // From step HybridConnections_RegenerateKeys + fmt.Println("Call operation: HybridConnections_RegenerateKeys") + _, err = hybridConnectionsClient.RegenerateKeys(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.hybridConnectionName, testsuite.authorizationRuleName, armrelay.RegenerateAccessKeyParameters{ + KeyType: to.Ptr(armrelay.KeyTypePrimaryKey), + }, nil) + testsuite.Require().NoError(err) + + // From step HybridConnections_DeleteAuthorizationRule + fmt.Println("Call operation: HybridConnections_DeleteAuthorizationRule") + _, err = hybridConnectionsClient.DeleteAuthorizationRule(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.hybridConnectionName, testsuite.authorizationRuleName, nil) + testsuite.Require().NoError(err) +} + +func (testsuite *HybridConnectionsTestSuite) Cleanup() { + var err error + // From step HybridConnections_Delete + fmt.Println("Call operation: HybridConnections_Delete") + hybridConnectionsClient, err := armrelay.NewHybridConnectionsClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = hybridConnectionsClient.Delete(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.hybridConnectionName, nil) + testsuite.Require().NoError(err) +} diff --git a/sdk/resourcemanager/relay/armrelay/namespaces_live_test.go b/sdk/resourcemanager/relay/armrelay/namespaces_live_test.go new file mode 100644 index 000000000000..21cf9cfc8817 --- /dev/null +++ b/sdk/resourcemanager/relay/armrelay/namespaces_live_test.go @@ -0,0 +1,413 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +package armrelay_test + +import ( + "context" + "fmt" + "testing" + + "github.com/Azure/azure-sdk-for-go/sdk/azcore" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/internal/recording" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/testutil" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/relay/armrelay" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources" + "github.com/stretchr/testify/suite" +) + +type NamespacesTestSuite struct { + suite.Suite + + ctx context.Context + cred azcore.TokenCredential + options *arm.ClientOptions + authorizationRuleName string + namespaceId string + namespaceName string + location string + resourceGroupName string + subscriptionId string +} + +func (testsuite *NamespacesTestSuite) SetupSuite() { + testutil.StartRecording(testsuite.T(), "sdk/resourcemanager/relay/armrelay/testdata") + + testsuite.ctx = context.Background() + testsuite.cred, testsuite.options = testutil.GetCredAndClientOptions(testsuite.T()) + testsuite.authorizationRuleName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "authoriz", 14, false) + testsuite.namespaceName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "namespac", 14, false) + testsuite.location = testutil.GetEnv("LOCATION", "westus") + testsuite.resourceGroupName = testutil.GetEnv("RESOURCE_GROUP_NAME", "scenarioTestTempGroup") + testsuite.subscriptionId = testutil.GetEnv("AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000") + resourceGroup, _, err := testutil.CreateResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.location) + testsuite.Require().NoError(err) + testsuite.resourceGroupName = *resourceGroup.Name + testsuite.Prepare() +} + +func (testsuite *NamespacesTestSuite) TearDownSuite() { + testsuite.Cleanup() + _, err := testutil.DeleteResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.resourceGroupName) + testsuite.Require().NoError(err) + testutil.StopRecording(testsuite.T()) +} + +func TestNamespacesTestSuite(t *testing.T) { + suite.Run(t, new(NamespacesTestSuite)) +} + +func (testsuite *NamespacesTestSuite) Prepare() { + var err error + // From step Namespaces_CreateOrUpdate + fmt.Println("Call operation: Namespaces_CreateOrUpdate") + namespacesClient, err := armrelay.NewNamespacesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + namespacesClientCreateOrUpdateResponsePoller, err := namespacesClient.BeginCreateOrUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, armrelay.Namespace{ + Location: to.Ptr(testsuite.location), + Tags: map[string]*string{ + "tag1": to.Ptr("value1"), + "tag2": to.Ptr("value2"), + }, + SKU: &armrelay.SKU{ + Name: to.Ptr(armrelay.SKUNameStandard), + Tier: to.Ptr(armrelay.SKUTierStandard), + }, + }, nil) + testsuite.Require().NoError(err) + var namespacesClientCreateOrUpdateResponse *armrelay.NamespacesClientCreateOrUpdateResponse + namespacesClientCreateOrUpdateResponse, err = testutil.PollForTest(testsuite.ctx, namespacesClientCreateOrUpdateResponsePoller) + testsuite.Require().NoError(err) + testsuite.namespaceId = *namespacesClientCreateOrUpdateResponse.ID +} + +// Microsoft.Relay/namespaces/{namespaceName} +func (testsuite *NamespacesTestSuite) TestNamespaces() { + var err error + // From step Namespaces_CheckNameAvailability + fmt.Println("Call operation: Namespaces_CheckNameAvailability") + namespacesClient, err := armrelay.NewNamespacesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = namespacesClient.CheckNameAvailability(testsuite.ctx, armrelay.CheckNameAvailability{ + Name: to.Ptr("example-RelayNamespace1321"), + }, nil) + testsuite.Require().NoError(err) + + // From step Namespaces_Update + fmt.Println("Call operation: Namespaces_Update") + _, err = namespacesClient.Update(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, armrelay.UpdateParameters{ + Tags: map[string]*string{ + "tag3": to.Ptr("value3"), + "tag4": to.Ptr("value4"), + "tag5": to.Ptr("value5"), + "tag6": to.Ptr("value6"), + }, + }, nil) + testsuite.Require().NoError(err) + + // From step Namespaces_List + fmt.Println("Call operation: Namespaces_List") + namespacesClientNewListPager := namespacesClient.NewListPager(nil) + for namespacesClientNewListPager.More() { + _, err := namespacesClientNewListPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step Namespaces_ListByResourceGroup + fmt.Println("Call operation: Namespaces_ListByResourceGroup") + namespacesClientNewListByResourceGroupPager := namespacesClient.NewListByResourceGroupPager(testsuite.resourceGroupName, nil) + for namespacesClientNewListByResourceGroupPager.More() { + _, err := namespacesClientNewListByResourceGroupPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step Namespaces_Get + fmt.Println("Call operation: Namespaces_Get") + _, err = namespacesClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, nil) + testsuite.Require().NoError(err) +} + +// Microsoft.Relay/namespaces/{namespaceName}/privateEndpointConnections/{privateEndpointConnectionName} +func (testsuite *NamespacesTestSuite) TestPrivateEndpointConnections() { + var privateEndpointConnectionName string + var err error + // From step Create_PrivateEndpoint + template := map[string]any{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": map[string]any{ + "location": map[string]any{ + "type": "string", + "defaultValue": testsuite.location, + }, + "namespaceId": map[string]any{ + "type": "string", + "defaultValue": testsuite.namespaceId, + }, + "networkInterfaceName": map[string]any{ + "type": "string", + "defaultValue": "eprelay-nic", + }, + "privateEndpointName": map[string]any{ + "type": "string", + "defaultValue": "eprealy", + }, + "virtualNetworksName": map[string]any{ + "type": "string", + "defaultValue": "relaynet", + }, + }, + "resources": []any{ + map[string]any{ + "name": "[parameters('virtualNetworksName')]", + "type": "Microsoft.Network/virtualNetworks", + "apiVersion": "2020-11-01", + "location": "[parameters('location')]", + "properties": map[string]any{ + "addressSpace": map[string]any{ + "addressPrefixes": []any{ + "10.0.0.0/16", + }, + }, + "enableDdosProtection": false, + "subnets": []any{ + map[string]any{ + "name": "default", + "properties": map[string]any{ + "addressPrefix": "10.0.0.0/24", + "delegations": []any{}, + "privateEndpointNetworkPolicies": "Disabled", + "privateLinkServiceNetworkPolicies": "Enabled", + }, + }, + }, + "virtualNetworkPeerings": []any{}, + }, + }, + map[string]any{ + "name": "[parameters('networkInterfaceName')]", + "type": "Microsoft.Network/networkInterfaces", + "apiVersion": "2020-11-01", + "dependsOn": []any{ + "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworksName'), 'default')]", + }, + "location": "[parameters('location')]", + "properties": map[string]any{ + "dnsSettings": map[string]any{ + "dnsServers": []any{}, + }, + "enableIPForwarding": false, + "ipConfigurations": []any{ + map[string]any{ + "name": "privateEndpointIpConfig", + "properties": map[string]any{ + "primary": true, + "privateIPAddress": "10.0.0.4", + "privateIPAddressVersion": "IPv4", + "privateIPAllocationMethod": "Dynamic", + "subnet": map[string]any{ + "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworksName'), 'default')]", + }, + }, + }, + }, + }, + }, + map[string]any{ + "name": "[parameters('privateEndpointName')]", + "type": "Microsoft.Network/privateEndpoints", + "apiVersion": "2020-11-01", + "dependsOn": []any{ + "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworksName'), 'default')]", + }, + "location": "[parameters('location')]", + "properties": map[string]any{ + "customDnsConfigs": []any{}, + "manualPrivateLinkServiceConnections": []any{}, + "privateLinkServiceConnections": []any{ + map[string]any{ + "name": "[parameters('privateEndpointName')]", + "properties": map[string]any{ + "groupIds": []any{ + "namespace", + }, + "privateLinkServiceConnectionState": map[string]any{ + "description": "Auto-Approved", + "actionsRequired": "None", + "status": "Approved", + }, + "privateLinkServiceId": "[parameters('namespaceId')]", + }, + }, + }, + "subnet": map[string]any{ + "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworksName'), 'default')]", + }, + }, + }, + map[string]any{ + "name": "[concat(parameters('virtualNetworksName'), '/default')]", + "type": "Microsoft.Network/virtualNetworks/subnets", + "apiVersion": "2020-11-01", + "dependsOn": []any{ + "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworksName'))]", + }, + "properties": map[string]any{ + "addressPrefix": "10.0.0.0/24", + "delegations": []any{}, + "privateEndpointNetworkPolicies": "Disabled", + "privateLinkServiceNetworkPolicies": "Enabled", + }, + }, + }, + "variables": map[string]any{}, + } + deployment := armresources.Deployment{ + Properties: &armresources.DeploymentProperties{ + Template: template, + Mode: to.Ptr(armresources.DeploymentModeIncremental), + }, + } + _, err = testutil.CreateDeployment(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.resourceGroupName, "Create_PrivateEndpoint", &deployment) + testsuite.Require().NoError(err) + + // From step PrivateEndpointConnections_List + fmt.Println("Call operation: PrivateEndpointConnections_List") + privateEndpointConnectionsClient, err := armrelay.NewPrivateEndpointConnectionsClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + privateEndpointConnectionsClientNewListPager := privateEndpointConnectionsClient.NewListPager(testsuite.resourceGroupName, testsuite.namespaceName, nil) + for privateEndpointConnectionsClientNewListPager.More() { + nextResult, err := privateEndpointConnectionsClientNewListPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + + privateEndpointConnectionName = *nextResult.Value[0].Name + break + } + + // From step PrivateEndpointConnections_Get + fmt.Println("Call operation: PrivateEndpointConnections_Get") + _, err = privateEndpointConnectionsClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, privateEndpointConnectionName, nil) + testsuite.Require().NoError(err) + + // From step PrivateLinkResources_List + fmt.Println("Call operation: PrivateLinkResources_List") + privateLinkResourcesClient, err := armrelay.NewPrivateLinkResourcesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = privateLinkResourcesClient.List(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, nil) + testsuite.Require().NoError(err) + + // From step PrivateEndpointConnections_Delete + fmt.Println("Call operation: PrivateEndpointConnections_Delete") + privateEndpointConnectionsClientDeleteResponsePoller, err := privateEndpointConnectionsClient.BeginDelete(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, privateEndpointConnectionName, nil) + testsuite.Require().NoError(err) + _, err = testutil.PollForTest(testsuite.ctx, privateEndpointConnectionsClientDeleteResponsePoller) + testsuite.Require().NoError(err) +} + +// Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} +func (testsuite *NamespacesTestSuite) TestNamespacesAuthorization() { + var err error + // From step Namespaces_CreateOrUpdateAuthorizationRule + fmt.Println("Call operation: Namespaces_CreateOrUpdateAuthorizationRule") + namespacesClient, err := armrelay.NewNamespacesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = namespacesClient.CreateOrUpdateAuthorizationRule(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.authorizationRuleName, armrelay.AuthorizationRule{ + Properties: &armrelay.AuthorizationRuleProperties{ + Rights: []*armrelay.AccessRights{ + to.Ptr(armrelay.AccessRightsListen), + to.Ptr(armrelay.AccessRightsSend)}, + }, + }, nil) + testsuite.Require().NoError(err) + + // From step Namespaces_GetAuthorizationRule + fmt.Println("Call operation: Namespaces_GetAuthorizationRule") + _, err = namespacesClient.GetAuthorizationRule(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.authorizationRuleName, nil) + testsuite.Require().NoError(err) + + // From step Namespaces_ListAuthorizationRules + fmt.Println("Call operation: Namespaces_ListAuthorizationRules") + namespacesClientNewListAuthorizationRulesPager := namespacesClient.NewListAuthorizationRulesPager(testsuite.resourceGroupName, testsuite.namespaceName, nil) + for namespacesClientNewListAuthorizationRulesPager.More() { + _, err := namespacesClientNewListAuthorizationRulesPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step Namespaces_ListKeys + fmt.Println("Call operation: Namespaces_ListKeys") + _, err = namespacesClient.ListKeys(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.authorizationRuleName, nil) + testsuite.Require().NoError(err) + + // From step Namespaces_RegenerateKeys + fmt.Println("Call operation: Namespaces_RegenerateKeys") + _, err = namespacesClient.RegenerateKeys(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.authorizationRuleName, armrelay.RegenerateAccessKeyParameters{ + KeyType: to.Ptr(armrelay.KeyTypePrimaryKey), + }, nil) + testsuite.Require().NoError(err) + + // From step Namespaces_DeleteAuthorizationRule + fmt.Println("Call operation: Namespaces_DeleteAuthorizationRule") + _, err = namespacesClient.DeleteAuthorizationRule(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.authorizationRuleName, nil) + testsuite.Require().NoError(err) +} + +// Microsoft.Relay/namespaces/{namespaceName}/networkRuleSets/default +func (testsuite *NamespacesTestSuite) TestNamespacesNetworkRuleSet() { + var err error + // From step Namespaces_CreateOrUpdateNetworkRuleSet + fmt.Println("Call operation: Namespaces_CreateOrUpdateNetworkRuleSet") + namespacesClient, err := armrelay.NewNamespacesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = namespacesClient.CreateOrUpdateNetworkRuleSet(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, armrelay.NetworkRuleSet{ + Properties: &armrelay.NetworkRuleSetProperties{ + DefaultAction: to.Ptr(armrelay.DefaultActionDeny), + IPRules: []*armrelay.NWRuleSetIPRules{ + { + Action: to.Ptr(armrelay.NetworkRuleIPActionAllow), + IPMask: to.Ptr("1.1.1.1"), + }, + { + Action: to.Ptr(armrelay.NetworkRuleIPActionAllow), + IPMask: to.Ptr("1.1.1.2"), + }, + { + Action: to.Ptr(armrelay.NetworkRuleIPActionAllow), + IPMask: to.Ptr("1.1.1.3"), + }, + { + Action: to.Ptr(armrelay.NetworkRuleIPActionAllow), + IPMask: to.Ptr("1.1.1.4"), + }, + { + Action: to.Ptr(armrelay.NetworkRuleIPActionAllow), + IPMask: to.Ptr("1.1.1.5"), + }}, + }, + }, nil) + testsuite.Require().NoError(err) + + // From step Namespaces_GetNetworkRuleSet + fmt.Println("Call operation: Namespaces_GetNetworkRuleSet") + _, err = namespacesClient.GetNetworkRuleSet(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, nil) + testsuite.Require().NoError(err) +} + +func (testsuite *NamespacesTestSuite) Cleanup() { + var err error + // From step Namespaces_Delete + fmt.Println("Call operation: Namespaces_Delete") + namespacesClient, err := armrelay.NewNamespacesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + namespacesClientDeleteResponsePoller, err := namespacesClient.BeginDelete(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, nil) + testsuite.Require().NoError(err) + _, err = testutil.PollForTest(testsuite.ctx, namespacesClientDeleteResponsePoller) + testsuite.Require().NoError(err) +} diff --git a/sdk/resourcemanager/relay/armrelay/operations_live_test.go b/sdk/resourcemanager/relay/armrelay/operations_live_test.go new file mode 100644 index 000000000000..d4335e9e5121 --- /dev/null +++ b/sdk/resourcemanager/relay/armrelay/operations_live_test.go @@ -0,0 +1,68 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +package armrelay_test + +import ( + "context" + "fmt" + "testing" + + "github.com/Azure/azure-sdk-for-go/sdk/azcore" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/testutil" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/relay/armrelay" + "github.com/stretchr/testify/suite" +) + +type OperationsTestSuite struct { + suite.Suite + + ctx context.Context + cred azcore.TokenCredential + options *arm.ClientOptions + location string + resourceGroupName string + subscriptionId string +} + +func (testsuite *OperationsTestSuite) SetupSuite() { + testutil.StartRecording(testsuite.T(), "sdk/resourcemanager/relay/armrelay/testdata") + + testsuite.ctx = context.Background() + testsuite.cred, testsuite.options = testutil.GetCredAndClientOptions(testsuite.T()) + testsuite.location = testutil.GetEnv("LOCATION", "westus") + testsuite.resourceGroupName = testutil.GetEnv("RESOURCE_GROUP_NAME", "scenarioTestTempGroup") + testsuite.subscriptionId = testutil.GetEnv("AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000") + resourceGroup, _, err := testutil.CreateResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.location) + testsuite.Require().NoError(err) + testsuite.resourceGroupName = *resourceGroup.Name +} + +func (testsuite *OperationsTestSuite) TearDownSuite() { + _, err := testutil.DeleteResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.resourceGroupName) + testsuite.Require().NoError(err) + testutil.StopRecording(testsuite.T()) +} + +func TestOperationsTestSuite(t *testing.T) { + suite.Run(t, new(OperationsTestSuite)) +} + +// Microsoft.Relay/operations +func (testsuite *OperationsTestSuite) TestOperations() { + var err error + // From step Operations_List + fmt.Println("Call operation: Operations_List") + operationsClient, err := armrelay.NewOperationsClient(testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + operationsClientNewListPager := operationsClient.NewListPager(nil) + for operationsClientNewListPager.More() { + _, err := operationsClientNewListPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } +} diff --git a/sdk/resourcemanager/relay/armrelay/wcfrelays_live_test.go b/sdk/resourcemanager/relay/armrelay/wcfrelays_live_test.go new file mode 100644 index 000000000000..421fbaefe3dc --- /dev/null +++ b/sdk/resourcemanager/relay/armrelay/wcfrelays_live_test.go @@ -0,0 +1,176 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +package armrelay_test + +import ( + "context" + "fmt" + "testing" + + "github.com/Azure/azure-sdk-for-go/sdk/azcore" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/internal/recording" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/testutil" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/relay/armrelay" + "github.com/stretchr/testify/suite" +) + +type WcfRelaysTestSuite struct { + suite.Suite + + ctx context.Context + cred azcore.TokenCredential + options *arm.ClientOptions + authorizationRuleName string + namespaceName string + relayName string + location string + resourceGroupName string + subscriptionId string +} + +func (testsuite *WcfRelaysTestSuite) SetupSuite() { + testutil.StartRecording(testsuite.T(), "sdk/resourcemanager/relay/armrelay/testdata") + + testsuite.ctx = context.Background() + testsuite.cred, testsuite.options = testutil.GetCredAndClientOptions(testsuite.T()) + testsuite.authorizationRuleName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "authoriz", 14, false) + testsuite.namespaceName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "namespac", 14, false) + testsuite.relayName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "relaynam", 14, false) + testsuite.location = testutil.GetEnv("LOCATION", "westus") + testsuite.resourceGroupName = testutil.GetEnv("RESOURCE_GROUP_NAME", "scenarioTestTempGroup") + testsuite.subscriptionId = testutil.GetEnv("AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000") + resourceGroup, _, err := testutil.CreateResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.location) + testsuite.Require().NoError(err) + testsuite.resourceGroupName = *resourceGroup.Name + testsuite.Prepare() +} + +func (testsuite *WcfRelaysTestSuite) TearDownSuite() { + testsuite.Cleanup() + _, err := testutil.DeleteResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.resourceGroupName) + testsuite.Require().NoError(err) + testutil.StopRecording(testsuite.T()) +} + +func TestWcfRelaysTestSuite(t *testing.T) { + suite.Run(t, new(WcfRelaysTestSuite)) +} + +func (testsuite *WcfRelaysTestSuite) Prepare() { + var err error + // From step Namespaces_CreateOrUpdate + fmt.Println("Call operation: Namespaces_CreateOrUpdate") + namespacesClient, err := armrelay.NewNamespacesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + namespacesClientCreateOrUpdateResponsePoller, err := namespacesClient.BeginCreateOrUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, armrelay.Namespace{ + Location: to.Ptr(testsuite.location), + Tags: map[string]*string{ + "tag1": to.Ptr("value1"), + "tag2": to.Ptr("value2"), + }, + SKU: &armrelay.SKU{ + Name: to.Ptr(armrelay.SKUNameStandard), + Tier: to.Ptr(armrelay.SKUTierStandard), + }, + }, nil) + testsuite.Require().NoError(err) + _, err = testutil.PollForTest(testsuite.ctx, namespacesClientCreateOrUpdateResponsePoller) + testsuite.Require().NoError(err) + + // From step WCFRelays_CreateOrUpdate + fmt.Println("Call operation: WCFRelays_CreateOrUpdate") + wCFRelaysClient, err := armrelay.NewWCFRelaysClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = wCFRelaysClient.CreateOrUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.relayName, armrelay.WcfRelay{ + Properties: &armrelay.WcfRelayProperties{ + RelayType: to.Ptr(armrelay.RelaytypeNetTCP), + RequiresClientAuthorization: to.Ptr(true), + RequiresTransportSecurity: to.Ptr(true), + }, + }, nil) + testsuite.Require().NoError(err) +} + +// Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName} +func (testsuite *WcfRelaysTestSuite) TestWcfRelays() { + var err error + // From step WCFRelays_ListByNamespace + fmt.Println("Call operation: WCFRelays_ListByNamespace") + wCFRelaysClient, err := armrelay.NewWCFRelaysClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + wCFRelaysClientNewListByNamespacePager := wCFRelaysClient.NewListByNamespacePager(testsuite.resourceGroupName, testsuite.namespaceName, nil) + for wCFRelaysClientNewListByNamespacePager.More() { + _, err := wCFRelaysClientNewListByNamespacePager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step WCFRelays_Get + fmt.Println("Call operation: WCFRelays_Get") + _, err = wCFRelaysClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.relayName, nil) + testsuite.Require().NoError(err) +} + +// Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName} +func (testsuite *WcfRelaysTestSuite) TestWcfRelaysAuthorization() { + var err error + // From step WCFRelays_CreateOrUpdateAuthorizationRule + fmt.Println("Call operation: WCFRelays_CreateOrUpdateAuthorizationRule") + wCFRelaysClient, err := armrelay.NewWCFRelaysClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = wCFRelaysClient.CreateOrUpdateAuthorizationRule(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.relayName, testsuite.authorizationRuleName, armrelay.AuthorizationRule{ + Properties: &armrelay.AuthorizationRuleProperties{ + Rights: []*armrelay.AccessRights{ + to.Ptr(armrelay.AccessRightsListen), + to.Ptr(armrelay.AccessRightsSend)}, + }, + }, nil) + testsuite.Require().NoError(err) + + // From step WCFRelays_GetAuthorizationRule + fmt.Println("Call operation: WCFRelays_GetAuthorizationRule") + _, err = wCFRelaysClient.GetAuthorizationRule(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.relayName, testsuite.authorizationRuleName, nil) + testsuite.Require().NoError(err) + + // From step WCFRelays_ListAuthorizationRules + fmt.Println("Call operation: WCFRelays_ListAuthorizationRules") + wCFRelaysClientNewListAuthorizationRulesPager := wCFRelaysClient.NewListAuthorizationRulesPager(testsuite.resourceGroupName, testsuite.namespaceName, testsuite.relayName, nil) + for wCFRelaysClientNewListAuthorizationRulesPager.More() { + _, err := wCFRelaysClientNewListAuthorizationRulesPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step WCFRelays_RegenerateKeys + fmt.Println("Call operation: WCFRelays_RegenerateKeys") + _, err = wCFRelaysClient.RegenerateKeys(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.relayName, testsuite.authorizationRuleName, armrelay.RegenerateAccessKeyParameters{ + KeyType: to.Ptr(armrelay.KeyTypePrimaryKey), + }, nil) + testsuite.Require().NoError(err) + + // From step WCFRelays_ListKeys + fmt.Println("Call operation: WCFRelays_ListKeys") + _, err = wCFRelaysClient.ListKeys(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.relayName, testsuite.authorizationRuleName, nil) + testsuite.Require().NoError(err) + + // From step WCFRelays_DeleteAuthorizationRule + fmt.Println("Call operation: WCFRelays_DeleteAuthorizationRule") + _, err = wCFRelaysClient.DeleteAuthorizationRule(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.relayName, testsuite.authorizationRuleName, nil) + testsuite.Require().NoError(err) +} + +func (testsuite *WcfRelaysTestSuite) Cleanup() { + var err error + // From step WCFRelays_Delete + fmt.Println("Call operation: WCFRelays_Delete") + wCFRelaysClient, err := armrelay.NewWCFRelaysClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = wCFRelaysClient.Delete(testsuite.ctx, testsuite.resourceGroupName, testsuite.namespaceName, testsuite.relayName, nil) + testsuite.Require().NoError(err) +}