Skip to content

Commit 1a29975

Browse files
authored
Data share tests (Azure#34563)
1 parent 0d4aa79 commit 1a29975

19 files changed

+13504
-17
lines changed

sdk/datashare/Azure.ResourceManager.DataShare/Azure.ResourceManager.DataShare.sln

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,15 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio Version 16
4-
VisualStudioVersion = 16.0.30309.148
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.4.33213.308
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{6731F8D6-AED2-486F-8FEB-22D03AFAB55B}") = "Azure.ResourceManager.DataShare", "src\Azure.ResourceManager.DataShare.csproj", "{357EC713-460A-447C-863D-D365ABC18528}"
6+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.ResourceManager.DataShare", "src\Azure.ResourceManager.DataShare.csproj", "{357EC713-460A-447C-863D-D365ABC18528}"
77
EndProject
8-
Project("{6731F8D6-AED2-486F-8FEB-22D03AFAB55B}") = "Azure.ResourceManager.DataShare.Tests", "tests\Azure.ResourceManager.DataShare.Tests.csproj", "{E914ED0B-E1DF-4667-8452-2116E11F3C1D}"
8+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.ResourceManager.DataShare.Tests", "tests\Azure.ResourceManager.DataShare.Tests.csproj", "{E914ED0B-E1DF-4667-8452-2116E11F3C1D}"
99
EndProject
10-
Project("{6731F8D6-AED2-486F-8FEB-22D03AFAB55B}") = "Azure.ResourceManager.DataShare.Samples", "samples\Azure.ResourceManager.DataShare.Samples.csproj", "{60AF48D8-8568-4291-BC8E-363480CE144E}"
10+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.ResourceManager.DataShare.Samples", "samples\Azure.ResourceManager.DataShare.Samples.csproj", "{60AF48D8-8568-4291-BC8E-363480CE144E}"
1111
EndProject
1212
Global
13-
GlobalSection(SolutionProperties) = preSolution
14-
HideSolutionNode = FALSE
15-
EndGlobalSection
16-
GlobalSection(ExtensibilityGlobals) = postSolution
17-
SolutionGuid = {4B517D25-F92E-4C51-B3D3-3647FBB7FA97}
18-
EndGlobalSection
1913
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2014
Debug|Any CPU = Debug|Any CPU
2115
Debug|x64 = Debug|x64
@@ -49,5 +43,23 @@ Global
4943
{E914ED0B-E1DF-4667-8452-2116E11F3C1D}.Release|x64.Build.0 = Release|Any CPU
5044
{E914ED0B-E1DF-4667-8452-2116E11F3C1D}.Release|x86.ActiveCfg = Release|Any CPU
5145
{E914ED0B-E1DF-4667-8452-2116E11F3C1D}.Release|x86.Build.0 = Release|Any CPU
46+
{60AF48D8-8568-4291-BC8E-363480CE144E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
47+
{60AF48D8-8568-4291-BC8E-363480CE144E}.Debug|Any CPU.Build.0 = Debug|Any CPU
48+
{60AF48D8-8568-4291-BC8E-363480CE144E}.Debug|x64.ActiveCfg = Debug|Any CPU
49+
{60AF48D8-8568-4291-BC8E-363480CE144E}.Debug|x64.Build.0 = Debug|Any CPU
50+
{60AF48D8-8568-4291-BC8E-363480CE144E}.Debug|x86.ActiveCfg = Debug|Any CPU
51+
{60AF48D8-8568-4291-BC8E-363480CE144E}.Debug|x86.Build.0 = Debug|Any CPU
52+
{60AF48D8-8568-4291-BC8E-363480CE144E}.Release|Any CPU.ActiveCfg = Release|Any CPU
53+
{60AF48D8-8568-4291-BC8E-363480CE144E}.Release|Any CPU.Build.0 = Release|Any CPU
54+
{60AF48D8-8568-4291-BC8E-363480CE144E}.Release|x64.ActiveCfg = Release|Any CPU
55+
{60AF48D8-8568-4291-BC8E-363480CE144E}.Release|x64.Build.0 = Release|Any CPU
56+
{60AF48D8-8568-4291-BC8E-363480CE144E}.Release|x86.ActiveCfg = Release|Any CPU
57+
{60AF48D8-8568-4291-BC8E-363480CE144E}.Release|x86.Build.0 = Release|Any CPU
58+
EndGlobalSection
59+
GlobalSection(SolutionProperties) = preSolution
60+
HideSolutionNode = FALSE
61+
EndGlobalSection
62+
GlobalSection(ExtensibilityGlobals) = postSolution
63+
SolutionGuid = {4B517D25-F92E-4C51-B3D3-3647FBB7FA97}
5264
EndGlobalSection
5365
EndGlobal

sdk/datashare/Azure.ResourceManager.DataShare/tests/DataShareManagementTestBase.cs

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ namespace Azure.ResourceManager.DataShare.Tests
1313
public class DataShareManagementTestBase : ManagementRecordedTestBase<DataShareManagementTestEnvironment>
1414
{
1515
protected ArmClient Client { get; private set; }
16+
protected AzureLocation DefaultLocation => AzureLocation.EastUS;
17+
protected string groupName;
18+
protected SubscriptionResource DefaultSubscription { get; private set; }
1619

1720
protected DataShareManagementTestBase(bool isAsync, RecordedTestMode mode)
1821
: base(isAsync, mode)
@@ -25,17 +28,37 @@ protected DataShareManagementTestBase(bool isAsync)
2528
}
2629

2730
[SetUp]
28-
public void CreateCommonClient()
31+
public async Task CreateCommonClient()
2932
{
3033
Client = GetArmClient();
34+
DefaultSubscription = await Client.GetDefaultSubscriptionAsync().ConfigureAwait(false);
3135
}
3236

33-
protected async Task<ResourceGroupResource> CreateResourceGroup(SubscriptionResource subscription, string rgNamePrefix, AzureLocation location)
37+
protected async Task<ResourceGroupResource> CreateResourceGroupAsync()
3438
{
35-
string rgName = Recording.GenerateAssetName(rgNamePrefix);
36-
ResourceGroupData input = new ResourceGroupData(location);
37-
var lro = await subscription.GetResourceGroups().CreateOrUpdateAsync(WaitUntil.Completed, rgName, input);
38-
return lro.Value;
39+
var resourceGroupName = Recording.GenerateAssetName("testRG-");
40+
var rgOp = await DefaultSubscription.GetResourceGroups().CreateOrUpdateAsync(
41+
WaitUntil.Completed,
42+
resourceGroupName,
43+
new ResourceGroupData(DefaultLocation)
44+
{
45+
Tags =
46+
{
47+
{ "test", "env" }
48+
}
49+
});
50+
if (Mode == RecordedTestMode.Playback)
51+
{
52+
groupName = resourceGroupName;
53+
}
54+
else
55+
{
56+
using (Recording.DisableRecording())
57+
{
58+
groupName = rgOp.Value.Data.Name;
59+
}
60+
}
61+
return rgOp.Value;
3962
}
4063
}
4164
}
Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
using System.Collections.Generic;
5+
using Azure.ResourceManager.DataShare.Models;
6+
using Azure.ResourceManager.Models;
7+
using Azure.ResourceManager.Resources.Models;
8+
using NUnit.Framework;
9+
using Azure.Core;
10+
using System;
11+
using System.Text;
12+
using Azure.ResourceManager.Resources;
13+
using System.Threading.Tasks;
14+
using NUnit.Framework.Internal;
15+
using System.IO;
16+
17+
namespace Azure.ResourceManager.DataShare.Tests.Helper
18+
{
19+
public static class ResourceDataHelpers
20+
{
21+
public static IDictionary<string, string> ReplaceWith(this IDictionary<string, string> dest, IDictionary<string, string> src)
22+
{
23+
dest.Clear();
24+
foreach (var kv in src)
25+
{
26+
dest.Add(kv);
27+
}
28+
29+
return dest;
30+
}
31+
32+
public static void AssertResource(ResourceData r1, ResourceData r2)
33+
{
34+
Assert.AreEqual(r1.Name, r2.Name);
35+
Assert.AreEqual(r1.Id, r2.Id);
36+
Assert.AreEqual(r1.ResourceType, r2.ResourceType);
37+
}
38+
39+
public static void AssertTrackedResource(TrackedResourceData r1, TrackedResourceData r2)
40+
{
41+
Assert.AreEqual(r1.Name, r2.Name);
42+
Assert.AreEqual(r1.Id, r2.Id);
43+
Assert.AreEqual(r1.ResourceType, r2.ResourceType);
44+
}
45+
46+
#region Account
47+
public static void AssertAccount(DataShareAccountData account1, DataShareAccountData account2)
48+
{
49+
AssertTrackedResource(account1, account2);
50+
Assert.AreEqual(account1.CreatedOn, account2.CreatedOn);
51+
Assert.AreEqual(account1.ProvisioningState, account2.ProvisioningState);
52+
Assert.AreEqual(account1.UserName, account2.UserName);
53+
Assert.AreEqual(account1.UserEmail, account2.UserEmail);
54+
}
55+
public static DataShareAccountData GetAccount()
56+
{
57+
var data = new DataShareAccountData(AzureLocation.EastUS, new ManagedServiceIdentity(ManagedServiceIdentityType.SystemAssigned))
58+
{
59+
};
60+
return data;
61+
}
62+
#endregion
63+
64+
#region DataSetMapping
65+
public static void AssertMappingSet(ShareDataSetMappingData data1, ShareDataSetMappingData data2)
66+
{
67+
AssertResource(data1, data2);
68+
Assert.AreEqual(data1.Kind, data2.Kind);
69+
}
70+
public static ShareDataSetMappingData GetSetMapping()
71+
{
72+
var data = new BlobDataSetMapping("C1", new Guid(), @"apple.txt", "resourcegroupName", "storageactsample", "0f3dcfc3-18f8-4099-b381-8353e19d43a7")
73+
{
74+
};
75+
return data;
76+
}
77+
#endregion
78+
79+
#region DataSet
80+
public static void AssertDataSet(ShareDataSetData data1, ShareDataSetData data2)
81+
{
82+
AssertResource(data1, data2);
83+
Assert.AreEqual(data1.Kind, data2.Kind);
84+
}
85+
public static ShareDataSetData GetDataSetData()
86+
{
87+
var data = new BlobDataSet("app-testapplication-1066-f068f8cd66e04b4da186b5bed0a34e96", @"apple.txt", "AutoRestResources2", "20220725datafactory", "db1ab6f0-4769-4b27-930e-01e2ef9c123c")
88+
{
89+
};
90+
return data;
91+
}
92+
#endregion
93+
94+
#region invitation
95+
public static void AssertInvitationData(DataShareInvitationData data1, DataShareInvitationData data2)
96+
{
97+
AssertResource(data1, data2);
98+
Assert.AreEqual(data1.TargetObjectId, data2.TargetObjectId);
99+
Assert.AreEqual(data1.TargetActiveDirectoryId, data2.TargetActiveDirectoryId);
100+
Assert.AreEqual(data1.TargetEmail, data2.TargetEmail);
101+
Assert.AreEqual(data1.InvitationStatus, data2.InvitationStatus);
102+
Assert.AreEqual(data1.InvitationId, data2.InvitationId);
103+
}
104+
public static DataShareInvitationData GetInvitationData()
105+
{
106+
var data = new DataShareInvitationData()
107+
{
108+
TargetActiveDirectoryId = "tenantId",
109+
TargetObjectId = "9c1d7b62-8746-48cf-b7d8-f1bda6d9efd0"
110+
};
111+
return data;
112+
}
113+
#endregion
114+
115+
#region Subscription
116+
public static void AssertSubscriptionData(ShareSubscriptionData data1, ShareSubscriptionData data2)
117+
{
118+
AssertResource(data1, data2);
119+
Assert.AreEqual(data1.ShareSubscriptionStatus, data2.ShareSubscriptionStatus);
120+
Assert.AreEqual(data1.SourceShareLocation, data2.SourceShareLocation);
121+
Assert.AreEqual(data1.ShareName, data2.ShareName);
122+
Assert.AreEqual(data1.ShareDescription, data2.ShareDescription);
123+
Assert.AreEqual(data1.InvitationId, data2.InvitationId);
124+
}
125+
public static ShareSubscriptionData GetSubscriptionData(Guid invitationId)
126+
{
127+
var data = new ShareSubscriptionData(invitationId, AzureLocation.EastUS)
128+
{
129+
};
130+
return data;
131+
}
132+
#endregion
133+
134+
#region SynchronizationSetting
135+
public static void AssertSynchronizationData(DataShareSynchronizationSettingData data1, DataShareSynchronizationSettingData data2)
136+
{
137+
AssertResource(data1, data2);
138+
Assert.AreEqual(data1.Kind, data2.Kind);
139+
}
140+
public static DataShareSynchronizationSettingData GetSynchronizationData()
141+
{
142+
var data = new ScheduledSynchronizationSetting(DataShareSynchronizationRecurrenceInterval.Day, DateTime.Today.AddDays(1))
143+
{
144+
};
145+
return data;
146+
}
147+
#endregion
148+
149+
#region Datashare
150+
public static void AssertShareData(DataShareData data1, DataShareData data2)
151+
{
152+
AssertResource(data1, data2);
153+
Assert.AreEqual(data1.UserName, data2.UserName);
154+
Assert.AreEqual(data1.ShareKind, data2.ShareKind);
155+
Assert.AreEqual(data1.Description, data2.Description);
156+
Assert.AreEqual(data1.ProvisioningState, data2.ProvisioningState);
157+
Assert.AreEqual(data1.UserEmail, data2.UserEmail);
158+
}
159+
public static DataShareData GetShareData()
160+
{
161+
var data = new DataShareData()
162+
{
163+
ShareKind = DataShareKind.CopyBased
164+
};
165+
return data;
166+
}
167+
#endregion
168+
169+
#region Trigger
170+
public static void AssertTriggerData(DataShareTriggerData data1, DataShareTriggerData data2)
171+
{
172+
AssertResource(data1, data2);
173+
Assert.AreEqual(data1.Kind, data2.Kind);
174+
}
175+
public static DataShareTriggerData GetTriggerData()
176+
{
177+
var data = new ScheduledTrigger(DataShareSynchronizationRecurrenceInterval.Day, DateTime.Today)
178+
{
179+
};
180+
return data;
181+
}
182+
#endregion
183+
}
184+
}

0 commit comments

Comments
 (0)