Unit tests for Azure scenarios (#495)

* Test firewall rule handling is able to process through the service layer

* Additional tests for authentication and the resource wrapper code

* Positive test case for CreateFirewallRule

* Fixed copyright and usings
This commit is contained in:
Kevin Cunnane
2017-10-12 17:23:34 -07:00
committed by GitHub
parent 14e3b3a3f6
commit b416951414
14 changed files with 536 additions and 139 deletions

View File

@@ -0,0 +1,53 @@
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using Microsoft.Azure.Management.Sql.Models;
using Microsoft.SqlTools.ResourceProvider.DefaultImpl;
using Xunit;
namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ResourceProvider.Azure
{
public class AzureResourceWrapperTest
{
[Fact]
public void ShouldParseResourceGroupFromId()
{
// Given a resource with a known resource group
TrackedResource trackedResource = CreateMockResource(
"/subscriptions/aaaaaaaa-1234-cccc-dddd-a1234v12c23/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/my-server",
"my-server",
"Microsoft.Sql");
// When I get the resource group name
AzureResourceWrapper resource = new AzureResourceWrapper(trackedResource);
string rgName = resource.ResourceGroupName;
// then I get it as expected
Assert.Equal("myresourcegroup", rgName);
}
[Fact]
public void ShouldHandleMissingResourceGroup()
{
// Given a resource without resource group in the ID
TrackedResource trackedResource = CreateMockResource(
"/subscriptions/aaaaaaaa-1234-cccc-dddd-a1234v12c23",
"my-server",
"Microsoft.Sql");
// When I get the resource group name
AzureResourceWrapper resource = new AzureResourceWrapper(trackedResource);
string rgName = resource.ResourceGroupName;
// then I get string.Empty
Assert.Equal(string.Empty, rgName);
}
private TrackedResource CreateMockResource(string id = null, string name = null, string type = null)
{
return new TrackedResource("Somewhere", id, name, type);
}
}
}