public void ExceptionsInBeforeTransactionCompletionAreIgnored() { Assert.IsTrue(sessions.Settings.IsInterceptorsBeforeTransactionCompletionIgnoreExceptions); C c = new C(); c.ID = 1; c.Value = "value"; var sessionInterceptor = new SessionInterceptorThatThrowsExceptionAtBeforeTransactionCompletion(); using (ISession s = sessions.OpenSession(sessionInterceptor)) using (ITransaction t = s.BeginTransaction()) { s.Save(c); try { t.Commit(); } catch (BadException) { Assert.Fail("BadException not expected"); } } using (ISession s = sessions.OpenSession()) { var objectInDb = s.Get<C>(1); Assert.IsNotNull(objectInDb); s.Delete(objectInDb); s.Flush(); } }
public void ExceptionsInBeforeTransactionCompletionAreIgnored() { Assert.IsTrue(sessions.Settings.IsInterceptorsBeforeTransactionCompletionIgnoreExceptionsEnabled); var c = new C { ID = 1, Value = "value" }; var sessionInterceptor = new SessionInterceptorThatThrowsExceptionAtBeforeTransactionCompletion(); using (ISession s = sessions.OpenSession(sessionInterceptor)) using (ITransaction t = s.BeginTransaction()) { s.Save(c); Assert.DoesNotThrow(t.Commit); } using (ISession s = sessions.OpenSession()) { var objectInDb = s.Get <C>(1); Assert.IsNotNull(objectInDb); s.Delete(objectInDb); s.Flush(); } }
public void ExceptionsInBeforeTransactionCompletionAbortTransaction() { #pragma warning disable 618 Assert.IsFalse(sessions.Settings.IsInterceptorsBeforeTransactionCompletionIgnoreExceptionsEnabled); #pragma warning restore 618 var c = new C { ID = 1, Value = "value" }; var sessionInterceptor = new SessionInterceptorThatThrowsExceptionAtBeforeTransactionCompletion(); using (ISession s = sessions.OpenSession(sessionInterceptor)) using (ITransaction t = s.BeginTransaction()) { s.Save(c); Assert.Throws <BadException>(t.Commit); } using (ISession s = sessions.OpenSession()) { var objectInDb = s.Get <C>(1); Assert.IsNull(objectInDb); } }
public async Task ExceptionsInBeforeTransactionCompletionAbortTransactionAsync() { var c = new C { ID = 1, Value = "value" }; var sessionInterceptor = new SessionInterceptorThatThrowsExceptionAtBeforeTransactionCompletion(); using (var s = Sfi.WithOptions().Interceptor(sessionInterceptor).OpenSession()) using (var t = s.BeginTransaction()) { await(s.SaveAsync(c)); Assert.ThrowsAsync <BadException>(() => t.CommitAsync()); } using (ISession s = Sfi.OpenSession()) { var objectInDb = await(s.GetAsync <C>(1)); Assert.IsNull(objectInDb); } }
public void ExceptionsInBeforeTransactionCompletionAbortTransaction() { var c = new C { ID = 1, Value = "value" }; var sessionInterceptor = new SessionInterceptorThatThrowsExceptionAtBeforeTransactionCompletion(); using (var s = sessions.WithOptions().Interceptor(sessionInterceptor).OpenSession()) using (var t = s.BeginTransaction()) { s.Save(c); Assert.Throws <BadException>(t.Commit); } using (ISession s = sessions.OpenSession()) { var objectInDb = s.Get <C>(1); Assert.IsNull(objectInDb); } }
public void ExceptionsInBeforeTransactionCompletionAbortTransaction() { #pragma warning disable 618 Assert.IsFalse(sessions.Settings.IsInterceptorsBeforeTransactionCompletionIgnoreExceptionsEnabled); #pragma warning restore 618 var c = new C {ID = 1, Value = "value"}; var sessionInterceptor = new SessionInterceptorThatThrowsExceptionAtBeforeTransactionCompletion(); using (ISession s = sessions.OpenSession(sessionInterceptor)) using (ITransaction t = s.BeginTransaction()) { s.Save(c); Assert.Throws<BadException>(t.Commit); } using (ISession s = sessions.OpenSession()) { var objectInDb = s.Get<C>(1); Assert.IsNull(objectInDb); } }
public void ExceptionsInBeforeTransactionCompletionAreIgnored() { Assert.IsTrue(sessions.Settings.IsInterceptorsBeforeTransactionCompletionIgnoreExceptionsEnabled); var c = new C {ID = 1, Value = "value"}; var sessionInterceptor = new SessionInterceptorThatThrowsExceptionAtBeforeTransactionCompletion(); using (ISession s = sessions.OpenSession(sessionInterceptor)) using (ITransaction t = s.BeginTransaction()) { s.Save(c); Assert.DoesNotThrow(t.Commit); } using (ISession s = sessions.OpenSession()) { var objectInDb = s.Get<C>(1); Assert.IsNotNull(objectInDb); s.Delete(objectInDb); s.Flush(); } }