List of usage examples for org.springframework.transaction.support SimpleTransactionStatus SimpleTransactionStatus
public SimpleTransactionStatus()
From source file:org.dalesbred.integration.spring.SpringTransactionContextTest.java
@Test public void rollingBackDelegatesToOriginalContexts() throws SQLException { try (Connection connection = TestDatabaseProvider.createInMemoryHSQLDataSource().getConnection()) { SimpleTransactionStatus status = new SimpleTransactionStatus(); SpringTransactionContext context = new SpringTransactionContext(status, connection); assertThat(context.getConnection(), is(connection)); assertThat(context.isRollbackOnly(), is(false)); assertThat(status.isRollbackOnly(), is(false)); context.setRollbackOnly();// w w w. j a va 2s . c o m assertThat(context.isRollbackOnly(), is(true)); assertThat(status.isRollbackOnly(), is(true)); } }
From source file:corner.transaction.services.impl.JpaTransactionDecoratorImplTest.java
@Test public void void_method() { VoidService delegate = newMock(VoidService.class); PlatformTransactionManager transactionManager = newMock(PlatformTransactionManager.class); TransactionInterceptor transactionInterceptor = TransactionModule .buildTransactionInterceptor(transactionManager); TransactionAdvisor advisor = new SpringTransactionAdvisor(transactionInterceptor); TransactionDecorator decorator = new TransactionDecoratorImpl(aspectDecorator, advisor); VoidService interceptor = decorator.build(VoidService.class, delegate, "foo.Bar"); TransactionStatus transactionStatus = new SimpleTransactionStatus(); expect(transactionManager.getTransaction(EasyMock.isA(TransactionAttribute.class))) .andReturn(transactionStatus);//TransactionDefinition.PROPAGATION_REQUIRED); transactionManager.commit(transactionStatus); delegate.voidMethod();/*from w w w . j a v a 2s . c o m*/ replay(); interceptor.voidMethod(); verify(); }
From source file:com.thoughtworks.go.server.dao.PipelineSqlMapDaoCachingTest.java
@Test public void savePipeline_shouldClearLatestPipelineIdCacheCaseInsensitively() { when(mockTemplate.queryForList(eq("getPipelineRange"), any())).thenReturn(Arrays.asList(99L)); doAnswer(new Answer<Object>() { @Override/* w w w . java 2 s . com*/ public Object answer(InvocationOnMock invocation) { ((TransactionSynchronizationAdapter) invocation.getArguments()[0]).afterCommit(); return null; } }).when(transactionSynchronizationManager).registerSynchronization(any(TransactionSynchronization.class)); when(transactionTemplate.execute(any(TransactionCallback.class))).then(new Answer<Object>() { @Override public Object answer(InvocationOnMock invocation) { ((TransactionCallback) invocation.getArguments()[0]).doInTransaction(new SimpleTransactionStatus()); return null; } }); pipelineDao.save(PipelineMother.pipeline("pipelineName")); pipelineDao.findPipelineIds("pipelineName", 1, 0); pipelineDao.save(PipelineMother.pipeline("pipelineName".toUpperCase())); pipelineDao.findPipelineIds("pipelineName", 1, 0); verify(mockTemplate, times(2)).queryForList(eq("getPipelineRange"), any()); }
From source file:com.thoughtworks.go.server.dao.PipelineSqlMapDaoCachingTest.java
@Test public void shouldInvalidateCacheOfPipelineInstancesTriggeredWithDependencyMaterial() { String cacheKey = pipelineDao.cacheKeyForPipelineInstancesTriggeredWithDependencyMaterial("p1", "p", 1); List<PipelineIdentifier> result = Arrays.asList(new PipelineIdentifier("p1", 1, "1")); when(mockTemplate.queryForList(eq("pipelineInstancesTriggeredOutOfDependencyMaterial"), anyString())) .thenReturn(new ArrayList()); List<PipelineIdentifier> actual = pipelineDao.getPipelineInstancesTriggeredWithDependencyMaterial("p1", new PipelineIdentifier("p", 1)); assertThat(actual, hasSize(0));/*w w w . j av a 2 s . co m*/ assertThat((List<PipelineIdentifier>) goCache.get(cacheKey), hasSize(0)); MaterialRevisions materialRevisions = new MaterialRevisions(new MaterialRevision( new DependencyMaterial(new CaseInsensitiveString("p"), new CaseInsensitiveString("s")), new Modification("u", "comment", "email", new Date(), "p/1/s/1"))); Pipeline pipeline = new Pipeline("p1", BuildCause.createWithModifications(materialRevisions, "")); doAnswer(new Answer<Object>() { @Override public Object answer(InvocationOnMock invocation) { ((TransactionSynchronizationAdapter) invocation.getArguments()[0]).afterCommit(); return null; } }).when(transactionSynchronizationManager).registerSynchronization(any(TransactionSynchronization.class)); when(transactionTemplate.execute(any(TransactionCallback.class))).then(new Answer<Object>() { @Override public Object answer(InvocationOnMock invocation) { ((TransactionCallback) invocation.getArguments()[0]).doInTransaction(new SimpleTransactionStatus()); return null; } }); pipelineDao.save(pipeline); assertThat(goCache.get(cacheKey), is(Matchers.nullValue())); }
From source file:com.thoughtworks.go.server.dao.PipelineSqlMapDaoCachingTest.java
@Test public void shouldInvalidateCacheOfPipelineInstancesTriggeredWithMaterialRevision() { GitMaterialInstance materialInstance = new GitMaterialInstance("url", null, "branch", "submodule", "flyweight"); String cacheKey = pipelineDao.cacheKeyForPipelineInstancesTriggeredWithDependencyMaterial("p1", materialInstance.getFingerprint(), "r1"); List<PipelineIdentifier> result = Arrays.asList(new PipelineIdentifier("p1", 1, "1")); when(mockTemplate.queryForList(eq("pipelineInstancesTriggeredOffOfMaterialRevision"), any())) .thenReturn((List) result); List<PipelineIdentifier> actual = pipelineDao.getPipelineInstancesTriggeredWithDependencyMaterial("p1", materialInstance, "r1"); assertThat(actual, hasSize(1));// www . j a v a2 s . c om assertThat((List<PipelineIdentifier>) goCache.get(cacheKey), hasSize(1)); MaterialRevisions materialRevisions = new MaterialRevisions(new MaterialRevision( new GitMaterial("url", "branch"), new Modification("user", "comment", "email", new Date(), "r1"))); Pipeline pipeline = new Pipeline("p1", BuildCause.createWithModifications(materialRevisions, "")); doAnswer(new Answer<Object>() { @Override public Object answer(InvocationOnMock invocation) { ((TransactionSynchronizationAdapter) invocation.getArguments()[0]).afterCommit(); return null; } }).when(transactionSynchronizationManager).registerSynchronization(any(TransactionSynchronization.class)); when(transactionTemplate.execute(any(TransactionCallback.class))).then(new Answer<Object>() { @Override public Object answer(InvocationOnMock invocation) { ((TransactionCallback) invocation.getArguments()[0]).doInTransaction(new SimpleTransactionStatus()); return null; } }); pipelineDao.save(pipeline); assertThat(goCache.get(cacheKey), is(Matchers.nullValue())); }