Skip to content

Commit 808d4c3

Browse files
authored
Change | Separate tests for NetFx and NetCore - NetFx-Only Connection String Properties (#2466)
* Adding TransparentNetworkIpResolution to list of unsupported on platform connection string error messages Splitting unit test for netfx-only connection string properties such that test does not fail on netcore * Remove DeprecatedSynonymCount since referencing the unsupported array is not possible
1 parent 815e5ab commit 808d4c3

File tree

4 files changed

+33
-19
lines changed

4 files changed

+33
-19
lines changed

src/Microsoft.Data.SqlClient/src/Microsoft/Data/Common/DbConnectionStringCommon.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1037,7 +1037,6 @@ internal static class DbConnectionStringKeywords
10371037
internal const string OmitOracleConnectionName = "Omit Oracle Connection Name";
10381038

10391039
// SqlClient
1040-
internal const string TransparentNetworkIPResolution = "Transparent Network IP Resolution";
10411040
internal const string Certificate = "Certificate";
10421041
#endif
10431042
// SqlClient
@@ -1073,6 +1072,7 @@ internal static class DbConnectionStringKeywords
10731072
internal const string IPAddressPreference = "IP Address Preference";
10741073
internal const string ServerSPN = "Server SPN";
10751074
internal const string FailoverPartnerSPN = "Failover Partner SPN";
1075+
internal const string TransparentNetworkIPResolution = "Transparent Network IP Resolution";
10761076

10771077
// common keywords (OleDb, OracleClient, SqlClient)
10781078
internal const string DataSource = "Data Source";
@@ -1092,10 +1092,9 @@ internal static class DbConnectionStringKeywords
10921092

10931093
internal static class DbConnectionStringSynonyms
10941094
{
1095-
#if NETFRAMEWORK
10961095
//internal const string TransparentNetworkIPResolution = TRANSPARENTNETWORKIPRESOLUTION;
10971096
internal const string TRANSPARENTNETWORKIPRESOLUTION = "transparentnetworkipresolution";
1098-
#endif
1097+
10991098
//internal const string ApplicationName = APP;
11001099
internal const string APP = "app";
11011100

src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlConnectionString.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,6 @@ internal static class TRANSACTIONBINDING
233233
internal const int SynonymCount = 33;
234234
#else
235235
internal const int SynonymCount = 30;
236-
internal const int DeprecatedSynonymCount = 2;
237236
#endif // NETFRAMEWORK
238237

239238
private static Dictionary<string, string> s_sqlClientSynonyms;
@@ -837,7 +836,7 @@ internal static Dictionary<string, string> GetParseSynonyms()
837836

838837
int count = SqlConnectionStringBuilder.KeywordsCount + SynonymCount;
839838
#if NET6_0_OR_GREATER
840-
count += SqlConnectionStringBuilder.DeprecatedKeywordsCount + DeprecatedSynonymCount;
839+
count += SqlConnectionStringBuilder.DeprecatedKeywordsCount;
841840
#endif
842841
synonyms = new Dictionary<string, string>(count, StringComparer.OrdinalIgnoreCase)
843842
{

src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlConnectionStringBuilder.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ private enum Keywords
139139
private string _certificate = DbConnectionStringDefaults.Certificate;
140140
#endif
141141
#else
142-
internal const int DeprecatedKeywordsCount = 3;
142+
internal const int DeprecatedKeywordsCount = 5;
143143
#endif
144144
#endregion //Fields
145145

@@ -363,7 +363,6 @@ private object GetAt(Keywords index)
363363
return MinPoolSize;
364364
case Keywords.MultiSubnetFailover:
365365
return MultiSubnetFailover;
366-
// case Keywords.NamedConnection: return NamedConnection;
367366
case Keywords.PacketSize:
368367
return PacketSize;
369368
case Keywords.Password:
@@ -912,17 +911,19 @@ public override StandardValuesCollection GetStandardValues(ITypeDescriptorContex
912911
}
913912
}
914913
#else
915-
private static readonly string[] s_notSupportedKeywords = new string[DeprecatedKeywordsCount] {
914+
private static readonly string[] s_notSupportedKeywords = {
916915
DbConnectionStringKeywords.ConnectionReset,
917916
DbConnectionStringKeywords.ContextConnection,
918917
DbConnectionStringKeywords.TransactionBinding,
918+
DbConnectionStringKeywords.TransparentNetworkIPResolution,
919+
DbConnectionStringSynonyms.TRANSPARENTNETWORKIPRESOLUTION,
919920
};
920921

921-
private static readonly string[] s_notSupportedNetworkLibraryKeywords = new string[] {
922+
private static readonly string[] s_notSupportedNetworkLibraryKeywords = {
922923
DbConnectionStringKeywords.NetworkLibrary,
923924

924925
DbConnectionStringSynonyms.NET,
925-
DbConnectionStringSynonyms.NETWORK
926+
DbConnectionStringSynonyms.NETWORK,
926927
};
927928
#endif
928929
#endregion //Private Methods

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

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -107,19 +107,34 @@ public void ConnectionStringTests(string connectionString)
107107
ExecuteConnectionStringTests(connectionString);
108108
}
109109

110+
public static readonly IEnumerable<object[]> ConnectionStringTestsNetFx_TestCases = new[]
111+
{
112+
new object[] { "Connection Reset = false" },
113+
new object[] { "Context Connection = false" },
114+
new object[] { "Network Library = dbmssocn" },
115+
new object[] { "Network = dbnmpntw" },
116+
new object[] { "Net = dbmsrpcn" },
117+
new object[] { "TransparentNetworkIPResolution = false" },
118+
new object[] { "Transparent Network IP Resolution = true" },
119+
};
120+
110121
[Theory]
111-
[InlineData("Connection Reset = false")]
112-
[InlineData("Context Connection = false")]
113-
[InlineData("Network Library = dbmssocn")]
114-
[InlineData("Network = dbnmpntw")]
115-
[InlineData("Net = dbmsrpcn")]
116-
[InlineData("TransparentNetworkIPResolution = false")]
117-
[InlineData("Transparent Network IP Resolution = true")]
118-
[SkipOnTargetFramework(~TargetFrameworkMonikers.NetFramework)]
119-
public void ConnectionStringTestsNetFx(string connectionString)
122+
[MemberData(nameof(ConnectionStringTestsNetFx_TestCases))]
123+
#if NETFRAMEWORK
124+
public void ConnectionStringTestsNetFx_OnNetFx_Success(string connectionString)
120125
{
121126
ExecuteConnectionStringTests(connectionString);
122127
}
128+
#else
129+
public void ConnectionStringTestsNetFx_OnNetCore_Throws(string connectionString)
130+
{
131+
// Act
132+
Action action = () => _ = new SqlConnectionStringBuilder(connectionString);
133+
134+
// Assert
135+
Assert.Throws<NotSupportedException>(action);
136+
}
137+
#endif
123138

124139
[Fact]
125140
public void SetInvalidApplicationIntent_Throws()

0 commit comments

Comments
 (0)