Skip to content

Commit 863a13e

Browse files
Sql driver switch: re-enabling a test.
And rewritting driver tests for them to be more robust.
1 parent 84ca202 commit 863a13e

File tree

6 files changed

+20
-10
lines changed

6 files changed

+20
-10
lines changed

src/NHibernate.Test/Async/Hql/Ast/LimitClauseFixture.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010

1111
using System.Linq;
1212
using NHibernate.Cfg;
13+
using NHibernate.Driver;
1314
using NHibernate.Hql.Ast.ANTLR;
15+
using NHibernate.Util;
1416
using NUnit.Framework;
1517

1618
namespace NHibernate.Test.Hql.Ast
@@ -22,7 +24,8 @@ public class LimitClauseFixtureAsync : BaseFixture
2224
protected override bool AppliesTo(Dialect.Dialect dialect)
2325
{
2426
return dialect.SupportsVariableLimit
25-
&& !(Dialect is Dialect.MsSql2000Dialect && cfg.Properties[Environment.ConnectionDriver] == typeof(Driver.OdbcDriver).FullName); // don't know why, but these tests don't work on SQL Server using ODBC
27+
&& !(Dialect is Dialect.MsSql2000Dialect && // don't know why, but these tests don't work on SQL Server using ODBC
28+
typeof(OdbcDriver).IsAssignableFrom(ReflectHelper.ClassForName(cfg.GetProperty(Environment.ConnectionDriver))));
2629
}
2730

2831
protected override void OnSetUp()
@@ -186,4 +189,4 @@ public async Task TakeWithParameterAsync()
186189
s.Close();
187190
}
188191
}
189-
}
192+
}

src/NHibernate.Test/Async/NHSpecificTest/NH1144/Fixture.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
using NHibernate.AdoNet;
1313
using NHibernate.Cfg;
1414
using NHibernate.Driver;
15+
using NHibernate.Util;
1516
using NUnit.Framework;
1617

1718
namespace NHibernate.Test.NHSpecificTest.NH1144
@@ -36,7 +37,7 @@ protected override void Configure(Configuration configuration)
3637
[Test]
3738
public async Task CanSaveInSingleBatchAsync()
3839
{
39-
if (configuration.Properties[Environment.ConnectionDriver].Contains(typeof (OracleDataClientDriver).Name) == false)
40+
if (!typeof(OracleDataClientDriver).IsAssignableFrom(ReflectHelper.ClassForName(cfg.GetProperty(Environment.ConnectionDriver))))
4041
{
4142
Assert.Ignore("Only applicable for Oracle Data Client driver");
4243
}
@@ -85,4 +86,4 @@ public async Task CanSaveInSingleBatchAsync()
8586
Assert.IsTrue(executedBatch);
8687
}
8788
}
88-
}
89+
}

src/NHibernate.Test/Async/NHSpecificTest/NH3202/Fixture.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
using NHibernate.Cfg;
1414
using NHibernate.Dialect;
1515
using NHibernate.Driver;
16+
using NHibernate.Util;
1617
using NUnit.Framework;
1718

1819
namespace NHibernate.Test.NHSpecificTest.NH3202
@@ -26,7 +27,7 @@ protected override void Configure(Configuration configuration)
2627
if (!(Dialect is MsSql2008Dialect))
2728
Assert.Ignore("Test is for MS SQL Server dialect only (custom dialect).");
2829

29-
if (!Environment.ConnectionDriver.Contains("SqlClientDriver"))
30+
if (!typeof(SqlClientDriver).IsAssignableFrom(ReflectHelper.ClassForName(cfg.GetProperty(Environment.ConnectionDriver))))
3031
Assert.Ignore("Test is for MS SQL Server driver only (custom driver is used).");
3132

3233
cfg.SetProperty(Environment.Dialect, typeof(OffsetStartsAtOneTestDialect).AssemblyQualifiedName);

src/NHibernate.Test/Hql/Ast/LimitClauseFixture.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using System.Linq;
22
using NHibernate.Cfg;
3+
using NHibernate.Driver;
34
using NHibernate.Hql.Ast.ANTLR;
5+
using NHibernate.Util;
46
using NUnit.Framework;
57

68
namespace NHibernate.Test.Hql.Ast
@@ -11,7 +13,8 @@ public class LimitClauseFixture : BaseFixture
1113
protected override bool AppliesTo(Dialect.Dialect dialect)
1214
{
1315
return dialect.SupportsVariableLimit
14-
&& !(Dialect is Dialect.MsSql2000Dialect && cfg.Properties[Environment.ConnectionDriver] == typeof(Driver.OdbcDriver).FullName); // don't know why, but these tests don't work on SQL Server using ODBC
16+
&& !(Dialect is Dialect.MsSql2000Dialect && // don't know why, but these tests don't work on SQL Server using ODBC
17+
typeof(OdbcDriver).IsAssignableFrom(ReflectHelper.ClassForName(cfg.GetProperty(Environment.ConnectionDriver))));
1518
}
1619

1720
protected override void OnSetUp()
@@ -175,4 +178,4 @@ public void TakeWithParameter()
175178
s.Close();
176179
}
177180
}
178-
}
181+
}

src/NHibernate.Test/NHSpecificTest/NH1144/Fixture.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using NHibernate.AdoNet;
33
using NHibernate.Cfg;
44
using NHibernate.Driver;
5+
using NHibernate.Util;
56
using NUnit.Framework;
67

78
namespace NHibernate.Test.NHSpecificTest.NH1144
@@ -25,7 +26,7 @@ protected override void Configure(Configuration configuration)
2526
[Test]
2627
public void CanSaveInSingleBatch()
2728
{
28-
if (configuration.Properties[Environment.ConnectionDriver].Contains(typeof (OracleDataClientDriver).Name) == false)
29+
if (!typeof(OracleDataClientDriver).IsAssignableFrom(ReflectHelper.ClassForName(cfg.GetProperty(Environment.ConnectionDriver))))
2930
{
3031
Assert.Ignore("Only applicable for Oracle Data Client driver");
3132
}
@@ -74,4 +75,4 @@ public void CanSaveInSingleBatch()
7475
Assert.IsTrue(executedBatch);
7576
}
7677
}
77-
}
78+
}

src/NHibernate.Test/NHSpecificTest/NH3202/Fixture.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using NHibernate.Cfg;
44
using NHibernate.Dialect;
55
using NHibernate.Driver;
6+
using NHibernate.Util;
67
using NUnit.Framework;
78

89
namespace NHibernate.Test.NHSpecificTest.NH3202
@@ -15,7 +16,7 @@ protected override void Configure(Configuration configuration)
1516
if (!(Dialect is MsSql2008Dialect))
1617
Assert.Ignore("Test is for MS SQL Server dialect only (custom dialect).");
1718

18-
if (!Environment.ConnectionDriver.Contains("SqlClientDriver"))
19+
if (!typeof(SqlClientDriver).IsAssignableFrom(ReflectHelper.ClassForName(cfg.GetProperty(Environment.ConnectionDriver))))
1920
Assert.Ignore("Test is for MS SQL Server driver only (custom driver is used).");
2021

2122
cfg.SetProperty(Environment.Dialect, typeof(OffsetStartsAtOneTestDialect).AssemblyQualifiedName);

0 commit comments

Comments
 (0)