public void SessionBeingSharedByMultipleTransactionsInSequenceStateless() { ISessionManager sessionManager = container.Resolve <ISessionManager>(); ITransaction transaction; using (IStatelessSession session = sessionManager.OpenStatelessSession()) { transaction = session.Transaction; Assert.IsFalse(transaction.IsActive); FirstDao service = container.Resolve <FirstDao>("myfirstdao"); // This call is transactional service.CreateStateless(); // This call is transactional service.CreateStateless("ps2's blogs"); // This call is transactional service.CreateStateless("game cube's blogs"); RootService rootService = container.Resolve <RootService>(); Array blogs = rootService.FindAllStateless(typeof(Blog)); Assert.AreEqual(3, blogs.Length); } Assert.IsTrue(transaction.WasCommitted); }
public void TransactionNotHijackingTheStatelessSession() { ISessionManager sessionManager = container.Resolve <ISessionManager>(); ITransaction transaction; using (IStatelessSession session = sessionManager.OpenStatelessSession()) { transaction = session.Transaction; Assert.IsFalse(transaction.IsActive); FirstDao service = container.Resolve <FirstDao>("myfirstdao"); // This call is transactional Blog blog = service.CreateStateless(); RootService rootService = container.Resolve <RootService>(); Array blogs = rootService.FindAllStateless(typeof(Blog)); Assert.AreEqual(1, blogs.Length); } Assert.IsTrue(transaction.WasCommitted); }
public void TestTransactionStateless() { RootService service = container.Resolve <RootService>(); FirstDao dao = container.Resolve <FirstDao>("myfirstdao"); Blog blog = dao.CreateStateless("Blog1"); try { service.DoBlogRefOperationStateless(blog); // Expects a constraint exception on Commit Assert.Fail("Must fail"); } catch (Exception) { // transaction exception expected } }
public void NonTransactionalRootStateless() { ISessionManager sessionManager = container.Resolve <ISessionManager>(); ITransaction transaction; using (IStatelessSession session = sessionManager.OpenStatelessSession()) { transaction = session.Transaction; Assert.IsFalse(transaction.IsActive); FirstDao first = container.Resolve <FirstDao>("myfirstdao"); SecondDao second = container.Resolve <SecondDao>("myseconddao"); // This call is transactional Blog blog = first.CreateStateless(); // TODO: Assert transaction was committed // Assert.IsTrue(session.Transaction.WasCommitted); try { second.CreateWithExceptionStateless2(blog); } catch (Exception) { // Expected } // TODO: Assert transaction was rolledback // Assert.IsTrue(session.Transaction.WasRolledBack); RootService rootService = container.Resolve <RootService>(); Array blogs = rootService.FindAllStateless(typeof(Blog)); Assert.AreEqual(1, blogs.Length); Array blogitems = rootService.FindAllStateless(typeof(BlogItem)); Assert.IsEmpty(blogitems); } }
public virtual Blog CreateBlogStatelessUsingDetachedCriteria(string name) { return(firstDao.CreateStateless(name)); }
public virtual BlogItem SuccessFullCallStateless() { Blog blog = firstDao.CreateStateless(); return(secondDao.CreateStateless(blog)); }