Skip to content

Commit 9d6ccf1

Browse files
authored
Merge f0707ef into 82de540
2 parents 82de540 + f0707ef commit 9d6ccf1

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

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

+1
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,7 @@ private SqlConnection(SqlConnection connection)
227227
}
228228

229229
_accessToken = connection._accessToken;
230+
_accessTokenCallback = connection._accessTokenCallback;
230231
CacheConnectionStringProperties();
231232
}
232233

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

+1
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,7 @@ private SqlConnection(SqlConnection connection)
429429
_credential = new SqlCredential(connection._credential.UserId, password);
430430
}
431431
_accessToken = connection._accessToken;
432+
_accessTokenCallback = connection._accessTokenCallback;
432433
_serverCertificateValidationCallback = connection._serverCertificateValidationCallback;
433434
_clientCertificateRetrievalCallback = connection._clientCertificateRetrievalCallback;
434435
_originalNetworkAddressInfo = connection._originalNetworkAddressInfo;

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

+10
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
using System;
66
using System.Data;
7+
using System.Threading.Tasks;
78
using Xunit;
89

910
namespace Microsoft.Data.SqlClient.Tests
@@ -18,10 +19,19 @@ public void CloneSqlConnection()
1819
builder.ConnectTimeout = 1;
1920
builder.InitialCatalog = "northwinddb";
2021
SqlConnection connection = new SqlConnection(builder.ConnectionString);
22+
connection.AccessToken = Guid.NewGuid().ToString();
2123

2224
SqlConnection clonedConnection = (connection as ICloneable).Clone() as SqlConnection;
2325
Assert.Equal(connection.ConnectionString, clonedConnection.ConnectionString);
2426
Assert.Equal(connection.ConnectionTimeout, clonedConnection.ConnectionTimeout);
27+
Assert.Equal(connection.AccessToken, clonedConnection.AccessToken);
28+
Assert.NotEqual(connection, clonedConnection);
29+
30+
connection = new SqlConnection(builder.ConnectionString);
31+
connection.AccessTokenCallback = (ctx, token) =>
32+
Task.FromResult(new SqlAuthenticationToken(Guid.NewGuid().ToString(), DateTimeOffset.MaxValue));
33+
clonedConnection = (connection as ICloneable).Clone() as SqlConnection;
34+
Assert.Equal(connection.AccessTokenCallback, clonedConnection.AccessTokenCallback);
2535
Assert.NotEqual(connection, clonedConnection);
2636
}
2737

0 commit comments

Comments
 (0)