Skip to content

Commit a2faab0

Browse files
author
dragonfly91
committed
Supporting dual clients
1 parent b6fce04 commit a2faab0

File tree

3 files changed

+92
-17
lines changed

3 files changed

+92
-17
lines changed

src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/Commands.AzureBackup.Test.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@
3939
<SpecificVersion>False</SpecificVersion>
4040
<HintPath>..\..\..\packages\Microsoft.Azure.Common.Authentication.1.0.27-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll</HintPath>
4141
</Reference>
42-
<Reference Include="Microsoft.Azure.Management.BackupServicesManagement, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
42+
<Reference Include="Microsoft.Azure.Management.BackupServicesManagement, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
4343
<SpecificVersion>False</SpecificVersion>
44-
<HintPath>..\..\..\packages\Microsoft.Azure.Management.BackupServices.1.0.2-preview\lib\net40\Microsoft.Azure.Management.BackupServicesManagement.dll</HintPath>
44+
<HintPath>..\Commands.AzureBackup\Resources\Microsoft.Azure.Management.BackupServicesManagement.dll</HintPath>
4545
</Reference>
4646
<Reference Include="Microsoft.Azure.ResourceManager, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
4747
<SpecificVersion>False</SpecificVersion>

src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/ScenarioTests/AzureBackupTestBase.cs

Lines changed: 90 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ public abstract class AzureBackupTestsBase
3333

3434
public BackupVaultServicesManagementClient BackupVaultServicesMgmtClient { get; private set; }
3535

36+
public BackupServicesManagementClient BackupServicesMgmtClient { get; private set; }
37+
3638
protected AzureBackupTestsBase()
3739
{
3840
this.helper = new EnvironmentSetupHelper();
@@ -42,8 +44,10 @@ protected AzureBackupTestsBase()
4244
protected void SetupManagementClients()
4345
{
4446
BackupVaultServicesMgmtClient = GetBackupVaultServicesManagementClient();
47+
BackupServicesMgmtClient = GetBackupServicesManagementClient();
48+
4549
//helper.SetupManagementClients(BackupServicesMgmtClient);
46-
helper.SetupSomeOfManagementClients(BackupVaultServicesMgmtClient);
50+
helper.SetupSomeOfManagementClients(BackupVaultServicesMgmtClient, BackupServicesMgmtClient);
4751
}
4852

4953
protected void RunPowerShellTest(params string[] scripts)
@@ -66,6 +70,11 @@ private BackupVaultServicesManagementClient GetBackupVaultServicesManagementClie
6670
return GetServiceClient<BackupVaultServicesManagementClient>();
6771
}
6872

73+
private BackupServicesManagementClient GetBackupServicesManagementClient()
74+
{
75+
return GetServiceClient<BackupServicesManagementClient>();
76+
}
77+
6978
public static T GetServiceClient<T>() where T : class
7079
{
7180
var factory = (TestEnvironmentFactory)new CSMTestEnvironmentFactory();
@@ -74,32 +83,98 @@ public static T GetServiceClient<T>() where T : class
7483

7584
ServicePointManager.ServerCertificateValidationCallback = IgnoreCertificateErrorHandler;
7685

77-
BackupVaultServicesManagementClient client;
7886
string resourceName = ConfigurationManager.AppSettings["ResourceName"];
7987
string resourceGroupName = ConfigurationManager.AppSettings["ResourceGroupName"];
8088

89+
if (typeof(T) == typeof(BackupVaultServicesManagementClient))
90+
{
91+
BackupVaultServicesManagementClient client;
8192

82-
if (testEnvironment.UsesCustomUri())
93+
if (testEnvironment.UsesCustomUri())
94+
{
95+
client = new BackupVaultServicesManagementClient(
96+
resourceName,
97+
resourceGroupName,
98+
testEnvironment.Credentials as SubscriptionCloudCredentials,
99+
testEnvironment.BaseUri);
100+
}
101+
102+
else
103+
{
104+
client = new BackupVaultServicesManagementClient(
105+
resourceName,
106+
resourceGroupName,
107+
testEnvironment.Credentials as SubscriptionCloudCredentials);
108+
}
109+
110+
return GetServiceClient<T>(factory, client);
111+
}
112+
else
83113
{
84-
client = new BackupVaultServicesManagementClient(
85-
resourceName,
86-
resourceGroupName,
87-
testEnvironment.Credentials as SubscriptionCloudCredentials,
88-
testEnvironment.BaseUri);
114+
BackupServicesManagementClient client;
115+
116+
if (testEnvironment.UsesCustomUri())
117+
{
118+
client = new BackupServicesManagementClient(
119+
resourceName,
120+
resourceGroupName,
121+
testEnvironment.Credentials as SubscriptionCloudCredentials,
122+
testEnvironment.BaseUri);
123+
}
124+
125+
else
126+
{
127+
client = new BackupServicesManagementClient(
128+
resourceName,
129+
resourceGroupName,
130+
testEnvironment.Credentials as SubscriptionCloudCredentials);
131+
}
132+
133+
return GetVaultServiceClient<T>(factory, client);
89134
}
135+
}
90136

91-
else
137+
public static T GetServiceClient<T>(TestEnvironmentFactory factory, BackupVaultServicesManagementClient client) where T : class
138+
{
139+
TestEnvironment testEnvironment = factory.GetTestEnvironment();
140+
141+
HttpMockServer instance;
142+
try
92143
{
93-
client = new BackupVaultServicesManagementClient(
94-
resourceName,
95-
resourceGroupName,
96-
testEnvironment.Credentials as SubscriptionCloudCredentials);
144+
instance = HttpMockServer.CreateInstance();
97145
}
146+
catch (ApplicationException)
147+
{
148+
HttpMockServer.Initialize("TestEnvironment", "InitialCreation");
149+
instance = HttpMockServer.CreateInstance();
150+
}
151+
T obj2 = typeof(T).GetMethod("WithHandler", new Type[1]
152+
{
153+
typeof (DelegatingHandler)
154+
}).Invoke((object)client, new object[1]
155+
{
156+
(object) instance
157+
}) as T;
98158

99-
return GetServiceClient<T>(factory, client);
159+
if (HttpMockServer.Mode == HttpRecorderMode.Record)
160+
{
161+
HttpMockServer.Variables[TestEnvironment.SubscriptionIdKey] = testEnvironment.SubscriptionId;
162+
}
163+
164+
if (HttpMockServer.Mode == HttpRecorderMode.Playback)
165+
{
166+
PropertyInfo property1 = typeof(T).GetProperty("LongRunningOperationInitialTimeout", typeof(int));
167+
PropertyInfo property2 = typeof(T).GetProperty("LongRunningOperationRetryTimeout", typeof(int));
168+
if (property1 != (PropertyInfo)null && property2 != (PropertyInfo)null)
169+
{
170+
property1.SetValue((object)obj2, (object)0);
171+
property2.SetValue((object)obj2, (object)0);
172+
}
173+
}
174+
return obj2;
100175
}
101176

102-
public static T GetServiceClient<T>(TestEnvironmentFactory factory, BackupVaultServicesManagementClient client) where T : class
177+
public static T GetVaultServiceClient<T>(TestEnvironmentFactory factory, BackupServicesManagementClient client) where T : class
103178
{
104179
TestEnvironment testEnvironment = factory.GetTestEnvironment();
105180

0 commit comments

Comments
 (0)