Skip to content

Commit e4015fb

Browse files
committed
Added ability for MockClientFactory to update the timeout properties of Hyak clients that are generated as-needed instead of precreated. Removed LegacySqlClient precreation from scenario tests. Changed hard-coded sleeps to TestMockSupport.Delay.
1 parent 87c36b9 commit e4015fb

File tree

13 files changed

+41
-46
lines changed

13 files changed

+41
-46
lines changed

src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockClientFactory.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
using System.Net;
3131
using System.Net.Http;
3232
using System.Net.Http.Headers;
33+
using System.Reflection;
3334
using System.Threading;
3435
using System.Threading.Tasks;
3536

@@ -118,6 +119,18 @@ public TClient CreateCustomClient<TClient>(params object[] parameters) where TCl
118119
var realClient = realClientFactory.CreateCustomClient<TClient>(parameters);
119120
var newRealClient = realClient.WithHandler(HttpMockServer.CreateInstance());
120121

122+
var initialTimeoutPropInfo = typeof(TClient).GetProperty("LongRunningOperationInitialTimeout", BindingFlags.Public | BindingFlags.Instance);
123+
if (initialTimeoutPropInfo != null && initialTimeoutPropInfo.CanWrite)
124+
{
125+
initialTimeoutPropInfo.SetValue(newRealClient, 0, null);
126+
}
127+
128+
var retryTimeoutPropInfo = typeof(TClient).GetProperty("LongRunningOperationRetryTimeout", BindingFlags.Public | BindingFlags.Instance);
129+
if (retryTimeoutPropInfo != null && retryTimeoutPropInfo.CanWrite)
130+
{
131+
retryTimeoutPropInfo.SetValue(newRealClient, 0, null);
132+
}
133+
121134
realClient.Dispose();
122135
return newRealClient;
123136
}

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/AuditingClassicStorageTests.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@ public class AuditingClassicStorageTests : SqlTestsBase
2525
protected override void SetupManagementClients(RestTestFramework.MockContext context)
2626
{
2727
var sqlClient = GetSqlClient(context);
28-
var sqlLegacyClient = GetLegacySqlClient();
29-
var storageV2Client = GetStorageV2Client();
28+
var storageV2Client = GetStorageV2Client(context);
3029
var newResourcesClient = GetResourcesClient(context);
31-
Helper.SetupSomeOfManagementClients(sqlClient, sqlLegacyClient, storageV2Client, newResourcesClient);
30+
Helper.SetupSomeOfManagementClients(sqlClient, storageV2Client, newResourcesClient);
3231
}
3332

3433
public AuditingClassicStorageTests(ITestOutputHelper output) : base(output)

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/AuditingTests.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@ public class AuditingTests : SqlTestsBase
2525
protected override void SetupManagementClients(RestTestFramework.MockContext context)
2626
{
2727
var sqlClient = GetSqlClient(context);
28-
var sqlLegacyClient = GetLegacySqlClient();
29-
var storageV2Client = GetStorageV2Client();
28+
var storageV2Client = GetStorageV2Client(context);
3029
var newResourcesClient = GetResourcesClient(context);
31-
Helper.SetupSomeOfManagementClients(sqlClient, sqlLegacyClient, storageV2Client, newResourcesClient);
30+
Helper.SetupSomeOfManagementClients(sqlClient, storageV2Client, newResourcesClient);
3231
}
3332

3433
public AuditingTests(ITestOutputHelper output) : base(output)

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/BlobAuditingClassicStorageTests.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@ public class BlobAuditingClassicStorageTests : SqlTestsBase
2525
protected override void SetupManagementClients(RestTestFramework.MockContext context)
2626
{
2727
var sqlClient = GetSqlClient(context);
28-
var sqlLegacyClient = GetLegacySqlClient();
29-
var storageV2Client = GetStorageV2Client();
28+
var storageV2Client = GetStorageV2Client(context);
3029
var newResourcesClient = GetResourcesClient(context);
31-
Helper.SetupSomeOfManagementClients(sqlClient, sqlLegacyClient, storageV2Client, newResourcesClient);
30+
Helper.SetupSomeOfManagementClients(sqlClient, storageV2Client, newResourcesClient);
3231
}
3332

3433
public BlobAuditingClassicStorageTests(ITestOutputHelper output) : base(output)

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/BlobAuditingTests.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@ public class BlobAuditingTests : SqlTestsBase
2525
protected override void SetupManagementClients(RestTestFramework.MockContext context)
2626
{
2727
var sqlClient = GetSqlClient(context);
28-
var sqlLegacyClient = GetLegacySqlClient();
29-
var storageV2Client = GetStorageV2Client();
28+
var storageV2Client = GetStorageV2Client(context);
3029
var newResourcesClient = GetResourcesClient(context);
31-
Helper.SetupSomeOfManagementClients(sqlClient, sqlLegacyClient, storageV2Client, newResourcesClient);
30+
Helper.SetupSomeOfManagementClients(sqlClient, storageV2Client, newResourcesClient);
3231
}
3332

3433
public BlobAuditingTests(ITestOutputHelper output) : base(output)

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/DataMaskingTests.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class DataMaskingTests : SqlTestsBase
2525
protected override void SetupManagementClients(RestTestFramework.MockContext context)
2626
{
2727
var sqlClient = GetSqlClient(context);
28-
var sqlLegacyClient = GetLegacySqlClient();
2928
var newResourcesClient = GetResourcesClient(context);
30-
Helper.SetupSomeOfManagementClients(sqlClient, sqlLegacyClient, newResourcesClient);
29+
Helper.SetupSomeOfManagementClients(sqlClient, newResourcesClient);
3130
}
3231

3332
public DataMaskingTests(ITestOutputHelper output) : base(output)

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/DatabaseCrudTests.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,8 @@ protected override void SetupManagementClients(Rest.ClientRuntime.Azure.TestFram
2929
{
3030
// Only SqlClient is needed.
3131
var sqlClient = GetSqlClient(context);
32-
var sqlLegacyClient = GetLegacySqlClient();
3332
var newResourcesClient = GetResourcesClient(context);
34-
Helper.SetupSomeOfManagementClients(sqlClient, sqlLegacyClient, newResourcesClient);
33+
Helper.SetupSomeOfManagementClients(sqlClient, newResourcesClient);
3534
}
3635

3736
[Fact]

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/SqlTestsBase.cs

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,8 @@ protected SqlTestsBase(ITestOutputHelper output)
5454
protected virtual void SetupManagementClients(RestTestFramework.MockContext context)
5555
{
5656
var sqlClient = GetSqlClient(context);
57-
var sqlLegacyClient = GetLegacySqlClient();
5857
var newResourcesClient = GetResourcesClient(context);
59-
Helper.SetupSomeOfManagementClients(sqlClient, sqlLegacyClient, newResourcesClient);
58+
Helper.SetupSomeOfManagementClients(sqlClient, newResourcesClient);
6059
}
6160

6261
protected void RunPowerShellTest(params string[] scripts)
@@ -109,19 +108,6 @@ protected Management.Sql.SqlManagementClient GetSqlClient(RestTestFramework.Mock
109108
return client;
110109
}
111110

112-
protected Management.Sql.LegacySdk.SqlManagementClient GetLegacySqlClient()
113-
{
114-
Management.Sql.LegacySdk.SqlManagementClient client =
115-
TestBase.GetServiceClient<Management.Sql.LegacySdk.SqlManagementClient>(
116-
new CSMTestEnvironmentFactory());
117-
if (HttpMockServer.Mode == HttpRecorderMode.Playback)
118-
{
119-
client.LongRunningOperationInitialTimeout = 0;
120-
client.LongRunningOperationRetryTimeout = 0;
121-
}
122-
return client;
123-
}
124-
125111
protected Management.Internal.Resources.ResourceManagementClient GetResourcesClient(RestTestFramework.MockContext context)
126112
{
127113
Management.Internal.Resources.ResourceManagementClient client =
@@ -177,14 +163,19 @@ protected GraphRbacManagementClient GetGraphClient(RestTestFramework.MockContext
177163
return client;
178164
}
179165

180-
protected StorageManagementClient GetStorageV2Client()
166+
protected StorageManagementClient GetStorageV2Client(RestTestFramework.MockContext context)
181167
{
182-
var client =
183-
TestBase.GetServiceClient<StorageManagementClient>(new CSMTestEnvironmentFactory());
168+
#if NETSTANDARD
169+
var client = context.GetServiceClient<StorageManagementClient>(RestTestFramework.TestEnvironmentFactory.GetTestEnvironment());
170+
#else
171+
var client = TestBase.GetServiceClient<StorageManagementClient>(new CSMTestEnvironmentFactory());
172+
#endif
184173

185174
if (HttpMockServer.Mode == HttpRecorderMode.Playback)
186175
{
176+
#if !NETSTANDARD
187177
client.LongRunningOperationInitialTimeout = 0;
178+
#endif
188179
client.LongRunningOperationRetryTimeout = 0;
189180
}
190181
return client;

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/ThreatDetectionClassicStorageTests.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,9 @@ public class ThreatDetectionClassicStorageTests : SqlTestsBase
2525
protected override void SetupManagementClients(RestTestFramework.MockContext context)
2626
{
2727
var sqlClient = GetSqlClient(context);
28-
var sqlLegacyClient = GetLegacySqlClient();
29-
var storageV2Client = GetStorageV2Client();
28+
var storageV2Client = GetStorageV2Client(context);
3029
var newResourcesClient = GetResourcesClient(context);
31-
Helper.SetupSomeOfManagementClients(sqlClient, sqlLegacyClient, storageV2Client,
32-
newResourcesClient);
30+
Helper.SetupSomeOfManagementClients(sqlClient, storageV2Client, newResourcesClient);
3331
}
3432

3533
public ThreatDetectionClassicStorageTests(ITestOutputHelper output) : base(output)

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/ThreatDetectionTests.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,9 @@ public class ThreatDetectionTests : SqlTestsBase
2525
protected override void SetupManagementClients(RestTestFramework.MockContext context)
2626
{
2727
var sqlClient = GetSqlClient(context);
28-
var sqlLegacyClient = GetLegacySqlClient();
29-
var storageV2Client = GetStorageV2Client();
28+
var storageV2Client = GetStorageV2Client(context);
3029
var newResourcesClient = GetResourcesClient(context);
31-
Helper.SetupSomeOfManagementClients(sqlClient, sqlLegacyClient, storageV2Client,
32-
newResourcesClient);
30+
Helper.SetupSomeOfManagementClients(sqlClient, storageV2Client, newResourcesClient);
3331
}
3432

3533
public ThreatDetectionTests(ITestOutputHelper output) : base(output)

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/VirtualNetworkRuleTest.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@ public class VirtualNetworkRuleTest : SqlTestsBase
2525
protected override void SetupManagementClients(RestTestFramework.MockContext context)
2626
{
2727
var sqlClient = GetSqlClient(context);
28-
var sqlLegacyClient = GetLegacySqlClient();
2928
var newResourcesClient = GetResourcesClient(context);
3029
var networkClient = GetNetworkClient(context);
31-
Helper.SetupSomeOfManagementClients(sqlClient, sqlLegacyClient, newResourcesClient, networkClient);
30+
Helper.SetupSomeOfManagementClients(sqlClient, newResourcesClient, networkClient);
3231
}
3332
public VirtualNetworkRuleTest(ITestOutputHelper output) : base(output)
3433
{

src/ResourceManager/Sql/Commands.Sql/Auditing/Services/AuditingEndpointsCommunicator.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
using Microsoft.Azure.Management.Sql.LegacySdk;
2020
using Microsoft.Azure.Management.Sql.LegacySdk.Models;
2121
using System.Threading.Tasks;
22+
using Microsoft.WindowsAzure.Commands.Utilities.Common;
2223

2324
namespace Microsoft.Azure.Commands.Sql.Auditing.Services
2425
{
@@ -133,7 +134,7 @@ public void SetServerAuditingPolicy(string resourceGroupName, string serverName,
133134
{
134135
break;
135136
}
136-
Task.Delay(2000); // wait 2 seconds between each poll
137+
TestMockSupport.Delay(2000); // wait 2 seconds between each poll
137138
}
138139
}
139140

src/ResourceManager/Sql/Commands.Sql/Elastic Pools/Services/AzureSqlElasticPoolCommunicator.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
using System.Linq;
2222
using System.Threading;
2323
using System;
24+
using Microsoft.WindowsAzure.Commands.Utilities.Common;
2425

2526
namespace Microsoft.Azure.Commands.Sql.ElasticPool.Services
2627
{
@@ -109,7 +110,7 @@ public Management.Sql.Models.ElasticPool CreateOrUpdate(string resourceGroupName
109110
resourceGroupName, serverName, elasticPoolName, parameters).Result;
110111

111112
// Sleep 5 seconds
112-
Thread.Sleep(5000);
113+
TestMockSupport.Delay(5000);
113114

114115
return client.GetPutOrPatchOperationResultAsync(
115116
createOrUpdateResponse, null, CancellationToken.None).Result.Body;

0 commit comments

Comments
 (0)