File tree Expand file tree Collapse file tree 2 files changed +14
-7
lines changed
Async/NHSpecificTest/SqlConverterAndMultiQuery
NHSpecificTest/SqlConverterAndMultiQuery Expand file tree Collapse file tree 2 files changed +14
-7
lines changed Original file line number Diff line number Diff line change 10
10
11
11
using NHibernate . Cfg ;
12
12
using NHibernate . Dialect ;
13
+ using NHibernate . Util ;
13
14
using NUnit . Framework ;
14
15
15
16
namespace NHibernate . Test . NHSpecificTest . SqlConverterAndMultiQuery
@@ -27,9 +28,12 @@ protected override void Configure(Configuration configuration)
27
28
28
29
protected override bool AppliesTo ( Dialect . Dialect dialect )
29
30
{
30
- // MsSqlCe throws InvalidOperationException instead of a DbException for these tests, preventing
31
+ // If prepare_sql is enabled, with most databases prepare will fail with an InvalidOperationException,
32
+ // turned into ADOException by prepare code and then not passed to the exception converter.
33
+ // MsSqlCe throws InvalidOperationException during Prepare (even when disabled), preventing
31
34
// the test SqlConverter to do its job.
32
- return ! ( Dialect is MsSqlCeDialect ) ;
35
+ var prepareSql = PropertiesHelper . GetBoolean ( Environment . PrepareSql , cfg . Properties , false ) ;
36
+ return ! ( prepareSql || Dialect is MsSqlCeDialect ) ;
33
37
}
34
38
35
39
[ Test ]
Original file line number Diff line number Diff line change 1
1
using NHibernate . Cfg ;
2
- using NHibernate . Dialect ;
2
+ using NHibernate . Driver ;
3
+ using NHibernate . Engine ;
3
4
using NUnit . Framework ;
4
5
5
6
namespace NHibernate . Test . NHSpecificTest . SqlConverterAndMultiQuery
@@ -14,11 +15,13 @@ protected override void Configure(Configuration configuration)
14
15
configuration . DataBaseIntegration ( x => x . ExceptionConverter < SqlConverter > ( ) ) ;
15
16
}
16
17
17
- protected override bool AppliesTo ( Dialect . Dialect dialect )
18
+ protected override bool AppliesTo ( ISessionFactoryImplementor factory )
18
19
{
19
- // MsSqlCe throws InvalidOperationException instead of a DbException for these tests, preventing
20
- // the test SqlConverter to do its job.
21
- return ! ( Dialect is MsSqlCeDialect ) ;
20
+ // Test current implementation allows to test mmostly SQL Server. Other databases
21
+ // tend to (validly) send InvalidOperationException during prepare phase due to the closed
22
+ // connection, which get not converted. For testing other case, maybe a failure caused by a
23
+ // schema mismatch (like done in transaction tests) would be better.
24
+ return factory . ConnectionProvider . Driver is SqlClientDriver ;
22
25
}
23
26
24
27
[ Test ]
You can’t perform that action at this time.
0 commit comments