22using System . Data ;
33using System . Data . Odbc ;
44using System . Data . SqlClient ;
5+ using System . Configuration ;
56using System . Transactions ;
67using NHibernate . Dialect ;
78using NHibernate . Driver ;
89using NHibernate . Engine ;
910using NUnit . Framework ;
1011
12+ using Environment = NHibernate . Cfg . Environment ;
13+
1114namespace NHibernate . Test . NHSpecificTest . NH2420
1215{
1316 [ TestFixture ]
@@ -23,12 +26,35 @@ protected override bool AppliesTo(Dialect.Dialect dialect)
2326 return ( dialect is MsSql2005Dialect ) ;
2427 }
2528
29+ private string FetchConnectionStringFromConfiguration ( )
30+ {
31+ string connectionString ;
32+ if ( cfg . Properties . TryGetValue ( Environment . ConnectionString , out connectionString ) )
33+ {
34+ Assert . IsNotNullOrEmpty ( connectionString ) ;
35+ return connectionString ;
36+ }
37+ string connectionStringName ;
38+ if ( cfg . Properties . TryGetValue ( Environment . ConnectionStringName , out connectionStringName ) )
39+ {
40+ var connectionStringSettings = ConfigurationManager . ConnectionStrings [ connectionStringName ] ;
41+ Assert . IsNotNull ( connectionStringSettings ) ;
42+ connectionString = connectionStringSettings . ConnectionString ;
43+ Assert . IsNotNullOrEmpty ( connectionString ) ;
44+ return connectionString ;
45+ }
46+ else
47+ {
48+ Assert . Fail ( "Unable to find a connection string or connection string name" ) ;
49+ return string . Empty ;
50+ }
51+ }
52+
2653 [ Test ]
2754 public void ShouldBeAbleToReleaseSuppliedConnectionAfterDistributedTransaction ( )
2855 {
29- string connectionString = cfg . GetProperty ( "connection.connection_string" ) ;
56+ string connectionString = FetchConnectionStringFromConfiguration ( ) ;
3057 ISession s ;
31-
3258 using ( var ts = new TransactionScope ( ) )
3359 {
3460 // Enlisting DummyEnlistment as a durable resource manager will start
0 commit comments