File tree 3 files changed +12
-0
lines changed
src/Microsoft.Data.SqlClient
netcore/src/Microsoft/Data/SqlClient
netfx/src/Microsoft/Data/SqlClient
3 files changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -227,6 +227,7 @@ private SqlConnection(SqlConnection connection)
227
227
}
228
228
229
229
_accessToken = connection . _accessToken ;
230
+ _accessTokenCallback = connection . _accessTokenCallback ;
230
231
CacheConnectionStringProperties ( ) ;
231
232
}
232
233
Original file line number Diff line number Diff line change @@ -429,6 +429,7 @@ private SqlConnection(SqlConnection connection)
429
429
_credential = new SqlCredential ( connection . _credential . UserId , password ) ;
430
430
}
431
431
_accessToken = connection . _accessToken ;
432
+ _accessTokenCallback = connection . _accessTokenCallback ;
432
433
_serverCertificateValidationCallback = connection . _serverCertificateValidationCallback ;
433
434
_clientCertificateRetrievalCallback = connection . _clientCertificateRetrievalCallback ;
434
435
_originalNetworkAddressInfo = connection . _originalNetworkAddressInfo ;
Original file line number Diff line number Diff line change 4
4
5
5
using System ;
6
6
using System . Data ;
7
+ using System . Threading . Tasks ;
7
8
using Xunit ;
8
9
9
10
namespace Microsoft . Data . SqlClient . Tests
@@ -18,10 +19,19 @@ public void CloneSqlConnection()
18
19
builder . ConnectTimeout = 1 ;
19
20
builder . InitialCatalog = "northwinddb" ;
20
21
SqlConnection connection = new SqlConnection ( builder . ConnectionString ) ;
22
+ connection . AccessToken = Guid . NewGuid ( ) . ToString ( ) ;
21
23
22
24
SqlConnection clonedConnection = ( connection as ICloneable ) . Clone ( ) as SqlConnection ;
23
25
Assert . Equal ( connection . ConnectionString , clonedConnection . ConnectionString ) ;
24
26
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 ) ;
25
35
Assert . NotEqual ( connection , clonedConnection ) ;
26
36
}
27
37
You can’t perform that action at this time.
0 commit comments