1- // Copyright (C) 2017 Xtensive LLC.
2- // All rights reserved .
3- // For conditions of distribution and use, see license .
1+ // Copyright (C) 2017-2021 Xtensive LLC.
2+ // This code is distributed under MIT license terms .
3+ // See the License.txt file in the project root for more information .
44// Created by: Julian Mamokin
55// Created: 2017.02.08
66
@@ -38,75 +38,92 @@ public class FailedQueryAndDbCommandNotificationsTest : AutoBuildTest
3838 public void InvalidQueryTest ( )
3939 {
4040 Exception thrownException = null ;
41- EventHandler < QueryEventArgs > invalidQueryHandler = ( sender , args ) => { thrownException = args . Exception ; } ;
4241 using ( var session = Domain . OpenSession ( ) ) {
43- session . Events . QueryExecuted += invalidQueryHandler ;
44- using ( session . OpenTransaction ( ) )
45- Assert . Throws < InvalidOperationException > ( ( ) => session . Query . All < TestModel > ( ) . Single ( m => m . SomeStringField == "lol" ) ) ;
46- session . Events . QueryExecuted -= invalidQueryHandler ;
42+ session . Events . QueryExecuted += InvalidQueryHandler ;
43+ using ( session . OpenTransaction ( ) ) {
44+ _ = Assert . Throws < InvalidOperationException > ( ( ) => session . Query . All < TestModel > ( ) . Single ( m => m . SomeStringField == "lol" ) ) ;
45+ }
46+ session . Events . QueryExecuted -= InvalidQueryHandler ;
4747 Assert . IsNotNull ( thrownException ) ;
4848 Assert . AreSame ( typeof ( InvalidOperationException ) , thrownException . GetType ( ) ) ;
4949 }
50+
51+ void InvalidQueryHandler ( object sender , QueryEventArgs args )
52+ {
53+ thrownException = args . Exception ;
54+ }
5055 }
5156
5257 [ Test ]
5358 public void ValidQueryTest ( )
5459 {
55- EventHandler < QueryEventArgs > validQueryHandler = ( sender , args ) => { Assert . IsNull ( args . Exception ) ; } ;
5660 using ( var session = Domain . OpenSession ( ) ) {
57- session . Events . QueryExecuted += validQueryHandler ;
61+ session . Events . QueryExecuted += ValidQueryHandler ;
5862 using ( session . OpenTransaction ( ) )
5963 Assert . DoesNotThrow ( ( ) => session . Query . All < TestModel > ( ) . Single ( m => m . SomeStringField == "string1" ) ) ;
60- session . Events . QueryExecuted -= validQueryHandler ;
64+ session . Events . QueryExecuted -= ValidQueryHandler ;
65+ }
66+
67+ static void ValidQueryHandler ( object sender , QueryEventArgs args )
68+ {
69+ Assert . IsNull ( args . Exception ) ;
6170 }
6271 }
6372
6473 [ Test ]
6574 public void InvalidDbCommandTest ( )
6675 {
6776 Exception commandExecutedException = null ;
68- EventHandler < DbCommandEventArgs > invalidDbCommandHandler = ( sender , args ) => { commandExecutedException = args . Exception ; } ;
6977 using ( var session = Domain . OpenSession ( ) ) {
7078 using ( session . OpenTransaction ( ) ) {
71- new TestModel { SomeStringField = "wat" , SomeDateTimeField = DateTime . Now , UniqueValue = 1 } ;
79+ _ = new TestModel { SomeStringField = "wat" , SomeDateTimeField = DateTime . Now , UniqueValue = 1 } ;
7280 var expectedException = GetUniqueConstraintViolationExceptionType ( ) ;
73- session . Events . DbCommandExecuted += invalidDbCommandHandler ;
74- Assert . Throws ( expectedException , ( ) => session . SaveChanges ( ) ) ;
75- session . Events . DbCommandExecuted -= invalidDbCommandHandler ;
81+ session . Events . DbCommandExecuted += InvalidDbCommandHandler ;
82+ _ = Assert . Throws ( expectedException , ( ) => session . SaveChanges ( ) ) ;
83+ session . Events . DbCommandExecuted -= InvalidDbCommandHandler ;
7684 Assert . NotNull ( commandExecutedException ) ;
7785 Assert . AreEqual ( expectedException , commandExecutedException . GetType ( ) ) ;
7886 }
7987 }
88+
89+ void InvalidDbCommandHandler ( object sender , DbCommandEventArgs args )
90+ {
91+ commandExecutedException = args . Exception ;
92+ }
8093 }
8194
8295 [ Test ]
8396 public void ValidDbCommandTest ( )
8497 {
85- EventHandler < DbCommandEventArgs > validDbCommandHandler = ( sender , args ) => { Assert . IsNull ( args . Exception ) ; } ;
8698 using ( var session = Domain . OpenSession ( ) ) {
8799 using ( session . OpenTransaction ( ) ) {
88- new TestModel { SomeStringField = "wat" , SomeDateTimeField = DateTime . Now , UniqueValue = 3 } ;
89- new TestModel { SomeStringField = "dat" , SomeDateTimeField = DateTime . Now , UniqueValue = 4 } ;
90- session . Events . DbCommandExecuted += validDbCommandHandler ;
100+ _ = new TestModel { SomeStringField = "wat" , SomeDateTimeField = DateTime . Now , UniqueValue = 3 } ;
101+ _ = new TestModel { SomeStringField = "dat" , SomeDateTimeField = DateTime . Now , UniqueValue = 4 } ;
102+ session . Events . DbCommandExecuted += ValidDbCommandHandler ;
91103 Assert . DoesNotThrow ( ( ) => session . SaveChanges ( ) ) ;
92- session . Events . DbCommandExecuted -= validDbCommandHandler ;
104+ session . Events . DbCommandExecuted -= ValidDbCommandHandler ;
93105 }
94106 }
107+
108+ static void ValidDbCommandHandler ( object sender , DbCommandEventArgs args )
109+ {
110+ Assert . IsNull ( args . Exception ) ;
111+ }
95112 }
96113
97114 protected override void PopulateData ( )
98115 {
99116 using ( var session = Domain . OpenSession ( ) )
100117 using ( var transaction = session . OpenTransaction ( ) ) {
101- new TestModel { SomeStringField = "string1" , SomeDateTimeField = DateTime . Now , UniqueValue = 1 } ;
118+ _ = new TestModel { SomeStringField = "string1" , SomeDateTimeField = DateTime . Now , UniqueValue = 1 } ;
102119 transaction . Complete ( ) ;
103120 }
104121 }
105122
106123 protected override DomainConfiguration BuildConfiguration ( )
107124 {
108125 var configuration = base . BuildConfiguration ( ) ;
109- configuration . Types . Register ( typeof ( TestModel ) . Assembly , typeof ( TestModel ) . Namespace ) ;
126+ configuration . Types . Register ( typeof ( TestModel ) . Assembly , typeof ( TestModel ) . Namespace ) ;
110127 configuration . UpgradeMode = DomainUpgradeMode . Recreate ;
111128 return configuration ;
112129 }
@@ -115,12 +132,10 @@ private Type GetUniqueConstraintViolationExceptionType()
115132 {
116133 var providerName = ProviderInfo . ProviderName ;
117134 switch ( providerName ) {
118- case WellKnown . Provider . MySql :
119135 case WellKnown . Provider . Sqlite :
120- case WellKnown . Provider . Firebird :
121- return typeof ( StorageException ) ;
136+ return typeof ( StorageException ) ;
122137 default :
123- return typeof ( UniqueConstraintViolationException ) ;
138+ return typeof ( UniqueConstraintViolationException ) ;
124139 }
125140 }
126141 }
0 commit comments