Skip to content

Commit de28dc9

Browse files
author
SqlClient Azure DevOps
committed
Merge in 'release/5.1' changes
2 parents 82294a9 + d6b8f77 commit de28dc9

File tree

9 files changed

+8
-103
lines changed

9 files changed

+8
-103
lines changed

BUILDGUIDE.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,6 @@ Manual Tests require the below setup to run:
165165
|TCPConnectionString | Connection String for a TCP enabled SQL Server instance. | `Server={servername};Database={Database_Name};Trusted_Connection=True;` <br/> OR `Data Source={servername};Initial Catalog={Database_Name};Integrated Security=True;`|
166166
|NPConnectionString | Connection String for a Named Pipes enabled SQL Server instance.| `Server=\\{servername}\pipe\sql\query;Database={Database_Name};Trusted_Connection=True;` <br/> OR <br/> `Data Source=np:{servername};Initial Catalog={Database_Name};Integrated Security=True;`|
167167
|TCPConnectionStringHGSVBS | (Optional) Connection String for a TCP enabled SQL Server with Host Guardian Service (HGS) attestation protocol configuration. | `Server=tcp:{servername}; Database={Database_Name}; UID={UID}; PWD={PWD}; Attestation Protocol = HGS; Enclave Attestation Url = {AttestationURL};`|
168-
|TCPConnectionStringAASVBS | (Optional) Connection String for a TCP enabled SQL Server with a VBS Enclave and using Microsoft Azure Attestation (AAS) attestation protocol configuration. | `Server=tcp:{servername}; Database={Database_Name}; UID={UID}; PWD={PWD}; Attestation Protocol = AAS; Enclave Attestation Url = {AttestationURL};`|
169168
|TCPConnectionStringNoneVBS | (Optional) Connection String for a TCP enabled SQL Server with a VBS Enclave and using None Attestation protocol configuration. | `Server=tcp:{servername}; Database={Database_Name}; UID={UID}; PWD={PWD}; Attestation Protocol = NONE;`|
170169
|TCPConnectionStringAASSGX | (Optional) Connection String for a TCP enabled SQL Server with a SGX Enclave and using Microsoft Azure Attestation (AAS) attestation protocol configuration. | `Server=tcp:{servername}; Database={Database_Name}; UID={UID}; PWD={PWD}; Attestation Protocol = AAS; Enclave Attestation Url = {AttestationURL};`|
171170
|EnclaveEnabled | Enables tests requiring an enclave-configured server.|

src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlConnection.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1820,7 +1820,7 @@ private bool TryOpen(TaskCompletionSource<DbConnectionInternal> retry, SqlConnec
18201820
}
18211821
}
18221822

1823-
_applyTransientFaultHandling = (!overrides.HasFlag(SqlConnectionOverrides.OpenWithoutRetry) && connectionOptions != null && connectionOptions.ConnectRetryCount > 0);
1823+
_applyTransientFaultHandling = (!overrides.HasFlag(SqlConnectionOverrides.OpenWithoutRetry) && retry == null && connectionOptions != null && connectionOptions.ConnectRetryCount > 0);
18241824

18251825
if (connectionOptions != null &&
18261826
(connectionOptions.Authentication == SqlAuthenticationMethod.SqlPassword ||
@@ -1849,7 +1849,7 @@ private bool TryOpen(TaskCompletionSource<DbConnectionInternal> retry, SqlConnec
18491849
// does not require GC.KeepAlive(this) because of ReRegisterForFinalize below.
18501850

18511851
// Set future transient fault handling based on connection options
1852-
_applyTransientFaultHandling = connectionOptions != null && connectionOptions.ConnectRetryCount > 0;
1852+
_applyTransientFaultHandling = (retry == null && connectionOptions != null && connectionOptions.ConnectRetryCount > 0);
18531853

18541854
var tdsInnerConnection = (SqlInternalConnectionTds)InnerConnection;
18551855

src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlConnection.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2059,7 +2059,7 @@ private bool TryOpen(TaskCompletionSource<DbConnectionInternal> retry, SqlConnec
20592059

20602060
bool result = false;
20612061

2062-
_applyTransientFaultHandling = (!overrides.HasFlag(SqlConnectionOverrides.OpenWithoutRetry) && connectionOptions != null && connectionOptions.ConnectRetryCount > 0);
2062+
_applyTransientFaultHandling = (!overrides.HasFlag(SqlConnectionOverrides.OpenWithoutRetry) && retry == null && connectionOptions != null && connectionOptions.ConnectRetryCount > 0);
20632063

20642064
if (connectionOptions != null &&
20652065
(connectionOptions.Authentication == SqlAuthenticationMethod.SqlPassword ||
@@ -2102,7 +2102,7 @@ private bool TryOpen(TaskCompletionSource<DbConnectionInternal> retry, SqlConnec
21022102
}
21032103

21042104
// Set future transient fault handling based on connection options
2105-
_applyTransientFaultHandling = connectionOptions != null && connectionOptions.ConnectRetryCount > 0;
2105+
_applyTransientFaultHandling = (retry == null && connectionOptions != null && connectionOptions.ConnectRetryCount > 0);
21062106

21072107
return result;
21082108
}

src/Microsoft.Data.SqlClient/tests/FunctionalTests/SqlConnectionBasicTests.cs

Lines changed: 4 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -54,26 +54,6 @@ public async Task PreLoginEncryptionExcludedTest()
5454
Assert.Contains("The instance of SQL Server you attempted to connect to does not support encryption.", ex.Message, StringComparison.OrdinalIgnoreCase);
5555
}
5656

57-
[ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotArmProcess))]
58-
[InlineData(40613)]
59-
[InlineData(42108)]
60-
[InlineData(42109)]
61-
[PlatformSpecific(TestPlatforms.Windows)]
62-
public async Task TransientFaultTestAsync(uint errorCode)
63-
{
64-
using TransientFaultTDSServer server = TransientFaultTDSServer.StartTestServer(true, true, errorCode);
65-
SqlConnectionStringBuilder builder = new()
66-
{
67-
DataSource = "localhost," + server.Port,
68-
IntegratedSecurity = true,
69-
Encrypt = SqlConnectionEncryptOption.Optional
70-
};
71-
72-
using SqlConnection connection = new(builder.ConnectionString);
73-
await connection.OpenAsync();
74-
Assert.Equal(ConnectionState.Open, connection.State);
75-
}
76-
7757
[ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotArmProcess))]
7858
[InlineData(40613)]
7959
[InlineData(42108)]
@@ -97,70 +77,14 @@ public void TransientFaultTest(uint errorCode)
9777
}
9878
catch (Exception e)
9979
{
80+
if (null != connection)
81+
{
82+
Assert.Equal(ConnectionState.Closed, connection.State);
83+
}
10084
Assert.False(true, e.Message);
10185
}
10286
}
10387

104-
[ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotArmProcess))]
105-
[InlineData(40613)]
106-
[InlineData(42108)]
107-
[InlineData(42109)]
108-
[PlatformSpecific(TestPlatforms.Windows)]
109-
public async Task TransientFaultDisabledTestAsync(uint errorCode)
110-
{
111-
using TransientFaultTDSServer server = TransientFaultTDSServer.StartTestServer(true, true, errorCode);
112-
SqlConnectionStringBuilder builder = new()
113-
{
114-
DataSource = "localhost," + server.Port,
115-
IntegratedSecurity = true,
116-
ConnectRetryCount = 0,
117-
Encrypt = SqlConnectionEncryptOption.Optional
118-
};
119-
120-
using SqlConnection connection = new(builder.ConnectionString);
121-
try
122-
{
123-
await connection.OpenAsync();
124-
Assert.False(true, "Connection should not have opened.");
125-
}
126-
catch (SqlException e)
127-
{
128-
// FATAL Error, should result in closed connection.
129-
Assert.Equal(20, e.Class);
130-
Assert.Equal(ConnectionState.Closed, connection.State);
131-
}
132-
}
133-
134-
[ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotArmProcess))]
135-
[InlineData(40613)]
136-
[InlineData(42108)]
137-
[InlineData(42109)]
138-
[PlatformSpecific(TestPlatforms.Windows)]
139-
public void TransientFaultDisabledTest(uint errorCode)
140-
{
141-
using TransientFaultTDSServer server = TransientFaultTDSServer.StartTestServer(true, true, errorCode);
142-
SqlConnectionStringBuilder builder = new()
143-
{
144-
DataSource = "localhost," + server.Port,
145-
IntegratedSecurity = true,
146-
ConnectRetryCount = 0,
147-
Encrypt = SqlConnectionEncryptOption.Optional
148-
};
149-
150-
using SqlConnection connection = new(builder.ConnectionString);
151-
try
152-
{
153-
connection.Open();
154-
Assert.False(true, "Connection should not have opened.");
155-
}
156-
catch (SqlException e)
157-
{
158-
// FATAL Error, should result in closed connection.
159-
Assert.Equal(20, e.Class);
160-
Assert.Equal(ConnectionState.Closed, connection.State);
161-
}
162-
}
163-
16488
[Fact]
16589
public void SqlConnectionDbProviderFactoryTest()
16690
{

src/Microsoft.Data.SqlClient/tests/ManualTests/DataCommon/DataTestUtility.cs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ public static class DataTestUtility
3131
public static readonly string NPConnectionString = null;
3232
public static readonly string TCPConnectionString = null;
3333
public static readonly string TCPConnectionStringHGSVBS = null;
34-
public static readonly string TCPConnectionStringAASVBS = null;
3534
public static readonly string TCPConnectionStringNoneVBS = null;
3635
public static readonly string TCPConnectionStringAASSGX = null;
3736
public static readonly string AADAuthorityURL = null;
@@ -90,7 +89,6 @@ static DataTestUtility()
9089
NPConnectionString = c.NPConnectionString;
9190
TCPConnectionString = c.TCPConnectionString;
9291
TCPConnectionStringHGSVBS = c.TCPConnectionStringHGSVBS;
93-
TCPConnectionStringAASVBS = c.TCPConnectionStringAASVBS;
9492
TCPConnectionStringNoneVBS = c.TCPConnectionStringNoneVBS;
9593
TCPConnectionStringAASSGX = c.TCPConnectionStringAASSGX;
9694
AADAuthorityURL = c.AADAuthorityURL;
@@ -149,11 +147,6 @@ static DataTestUtility()
149147
AEConnStringsSetup.Add(TCPConnectionStringHGSVBS);
150148
}
151149

152-
if (!string.IsNullOrEmpty(TCPConnectionStringAASVBS))
153-
{
154-
AEConnStrings.Add(TCPConnectionStringAASVBS);
155-
}
156-
157150
if (!string.IsNullOrEmpty(TCPConnectionStringNoneVBS))
158151
{
159152
AEConnStrings.Add(TCPConnectionStringNoneVBS);

src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.ExtUtilities/SqlDbManager.cs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ public static class SqlDbManager
2424
private const string TCPConnectionString = "TCPConnectionString";
2525
private const string NPConnectionString = "NPConnectionString";
2626
private const string TCPConnectionStringAASSGX = "TCPConnectionStringAASSGX";
27-
private const string TCPConnectionStringAASVBS = "TCPConnectionStringAASVBS";
2827
private const string TCPConnectionStringHGSVBS = "TCPConnectionStringHGSVBS";
2928

3029
/// <summary>
@@ -124,10 +123,6 @@ private static void LoadActiveConnectionStrings()
124123
{
125124
s_activeConnectionStrings.Add(TCPConnectionStringAASSGX, s_configJson.TCPConnectionStringAASSGX);
126125
}
127-
if (!string.IsNullOrEmpty(s_configJson.TCPConnectionStringAASVBS))
128-
{
129-
s_activeConnectionStrings.Add(TCPConnectionStringAASVBS, s_configJson.TCPConnectionStringAASVBS);
130-
}
131126
if (!string.IsNullOrEmpty(s_configJson.TCPConnectionStringHGSVBS))
132127
{
133128
s_activeConnectionStrings.Add(TCPConnectionStringHGSVBS, s_configJson.TCPConnectionStringHGSVBS);
@@ -148,9 +143,6 @@ private static void UpdateConfig(string key, SqlConnectionStringBuilder builder)
148143
case TCPConnectionStringAASSGX:
149144
s_configJson.TCPConnectionStringAASSGX = builder.ConnectionString;
150145
break;
151-
case TCPConnectionStringAASVBS:
152-
s_configJson.TCPConnectionStringAASVBS = builder.ConnectionString;
153-
break;
154146
case TCPConnectionStringHGSVBS:
155147
s_configJson.TCPConnectionStringHGSVBS = builder.ConnectionString;
156148
break;

src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.TestUtilities/Config.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ public class Config
1313
public string TCPConnectionString = null;
1414
public string NPConnectionString = null;
1515
public string TCPConnectionStringHGSVBS = null;
16-
public string TCPConnectionStringAASVBS = null;
1716
public string TCPConnectionStringNoneVBS = null;
1817
public string TCPConnectionStringAASSGX = null;
1918
public string AADAuthorityURL = null;

src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.TestUtilities/config.default.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
"TCPConnectionString": "Data Source=tcp:localhost;Database=Northwind;Integrated Security=true;Encrypt=false;",
33
"NPConnectionString": "Data Source=np:localhost;Database=Northwind;Integrated Security=true;Encrypt=false;",
44
"TCPConnectionStringHGSVBS": "",
5-
"TCPConnectionStringAASVBS": "",
65
"TCPConnectionStringNoneVBS": "",
76
"TCPConnectionStringAASSGX": "",
87
"EnclaveEnabled": false,

src/Microsoft.Data.SqlClient/tests/tools/TDS/TDS.Servers/TransientFaultTDSServer.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,6 @@ private void Dispose(bool isDisposing)
146146
if (isDisposing)
147147
{
148148
_endpoint?.Stop();
149-
RequestCounter = 0;
150149
}
151150
}
152151
}

0 commit comments

Comments
 (0)