Refine search
@Test(groups="createProducts", dataProvider="setupProducts", dataProviderClass=ProductDataProvider.class) @Rollback(false) @Transactional public void createProducts(Product product) { product = catalogService.saveProduct(product); assert(product.getId() != null); savedProducts.add(product); }
/** * Determine whether or not to rollback transactions by default for the * supplied {@linkplain TestContext test context}. * <p>Supports {@link Rollback @Rollback} or {@link Commit @Commit} at the * class-level. * @param testContext the test context for which the default rollback flag * should be retrieved * @return the <em>default rollback</em> flag for the supplied test context * @throws Exception if an error occurs while determining the default rollback flag */ protected final boolean isDefaultRollback(TestContext testContext) throws Exception { Class<?> testClass = testContext.getTestClass(); Rollback rollback = AnnotatedElementUtils.findMergedAnnotation(testClass, Rollback.class); boolean rollbackPresent = (rollback != null); if (rollbackPresent) { boolean defaultRollback = rollback.value(); if (logger.isDebugEnabled()) { logger.debug(String.format("Retrieved default @Rollback(%s) for test class [%s].", defaultRollback, testClass.getName())); } return defaultRollback; } // else return true; }
@Transactional("txMgr") @Rollback(true) public class DefaultRollbackTrueRollbackAnnotationTransactionalTests extends AbstractTransactionalSpringRunnerTests {
/** * Extension of {@link CommitForRequiresNewEjbTxDaoTestNGTests} which sets the default * rollback semantics for the {@link TransactionalTestExecutionListener} to * {@code true}. The transaction managed by the TestContext framework will be * rolled back after each test method. Consequently, any work performed in * transactional methods that participate in the test-managed transaction will * be rolled back automatically. On the other hand, any work performed in * transactional methods that do <strong>not</strong> participate in the * test-managed transaction will not be affected by the rollback of the * test-managed transaction. For example, such work may in fact be committed * outside the scope of the test-managed transaction. * * @author Sam Brannen * @since 4.0.1 */ @Test(suiteName = "Rollback for REQUIRES_NEW") @Rollback public class RollbackForRequiresNewEjbTxDaoTestNGTests extends CommitForRequiresNewEjbTxDaoTestNGTests { /* test methods in superclass */ }
@Rollback static class EmptyClassLevelRollbackTestCase { public void test() { } }
@Transactional("txMgr") @Rollback(false) public class DefaultRollbackFalseRollbackAnnotationTransactionalTests extends AbstractTransactionalSpringRunnerTests {
@Rollback(false) static class ClassLevelRollbackWithExplicitValueTestCase { public void test() { } }
@Test(groups = "createId") @Rollback(false) @Transactional public void createId() { IdGeneration idGeneration = new IdGenerationImpl(); idGeneration.setType("IdGenerationTest"); idGeneration.setBatchStart(1L); idGeneration.setBatchSize(10L); em.persist(idGeneration); }
@Rollback @Transactional("transactionManager") @DirtiesContext public class JpaPollingChannelAdapterTests {
@Rollback public void test() { } }
AnnotatedElementUtils.findMergedAnnotation(testContext.getTestMethod(), Rollback.class); if (rollbackAnnotation != null) { boolean rollbackOverride = rollbackAnnotation.value(); if (logger.isDebugEnabled()) { logger.debug(String.format(
@Test(groups = { "createPhone" }, dataProvider = "setupPhone", dataProviderClass = PhoneDataProvider.class, dependsOnGroups = { "readCustomer" }) @Transactional @Rollback(false) public void createPhone(Phone phone) { userName = "customer1"; assert phone.getId() == null; phone = phoneService.savePhone(phone); assert phone.getId() != null; phoneId = phone.getId(); }
@Test @Transactional @Rollback(false) @Repeat(20) public void testSameMessageToMultipleGroups() throws Exception { final String group1Id = "group1"; final String group2Id = "group2"; final Message<String> message = MessageBuilder.withPayload("foo").build(); final MessageBuilder<String> builder1 = MessageBuilder.fromMessage(message); final MessageBuilder<String> builder2 = MessageBuilder.fromMessage(message); builder1.setSequenceNumber(1); builder2.setSequenceNumber(2); final Message<?> message1 = builder1.build(); final Message<?> message2 = builder2.build(); messageStore.addMessageToGroup(group1Id, message1); messageStore.addMessageToGroup(group2Id, message2); final Message<?> messageFromGroup1 = messageStore.pollMessageFromGroup(group1Id); final Message<?> messageFromGroup2 = messageStore.pollMessageFromGroup(group2Id); assertNotNull(messageFromGroup1); assertNotNull(messageFromGroup2); LOG.info("messageFromGroup1: " + messageFromGroup1.getHeaders().getId() + "; Sequence #: " + new IntegrationMessageHeaderAccessor(messageFromGroup1).getSequenceNumber()); LOG.info("messageFromGroup2: " + messageFromGroup2.getHeaders().getId() + "; Sequence #: " + new IntegrationMessageHeaderAccessor(messageFromGroup2).getSequenceNumber()); assertEquals(Integer.valueOf(1), messageFromGroup1.getHeaders().get(IntegrationMessageHeaderAccessor.SEQUENCE_NUMBER)); assertEquals(Integer.valueOf(2), messageFromGroup2.getHeaders().get(IntegrationMessageHeaderAccessor.SEQUENCE_NUMBER)); }
@Test(groups = "findIdsForBeginEndSequence", dependsOnGroups = "createIdForBeginEndSequence") @Rollback(true) public void findIdsForBeginEndSequence() { for (int i = 1; i < 101; i++) { Long id = idGenerationService.findNextId("IdGenerationBeginEndTest"); int expected = i % 10; if (expected == 0) { expected = 10; } //System.out.println("jbtest: i=" + i + ", id=" + id + ", expected=" + expected); assert id == expected; } } }
@Rollback(false) public void test() { } }
/** * Determine whether or not to rollback transactions by default for the * supplied {@linkplain TestContext test context}. * <p>Supports {@link Rollback @Rollback} or {@link Commit @Commit} at the * class-level. * @param testContext the test context for which the default rollback flag * should be retrieved * @return the <em>default rollback</em> flag for the supplied test context * @throws Exception if an error occurs while determining the default rollback flag */ protected final boolean isDefaultRollback(TestContext testContext) throws Exception { Class<?> testClass = testContext.getTestClass(); Rollback rollback = AnnotatedElementUtils.findMergedAnnotation(testClass, Rollback.class); boolean rollbackPresent = (rollback != null); if (rollbackPresent) { boolean defaultRollback = rollback.value(); if (logger.isDebugEnabled()) { logger.debug(String.format("Retrieved default @Rollback(%s) for test class [%s].", defaultRollback, testClass.getName())); } return defaultRollback; } // else return true; }
@Test(groups = { "createCartForCustomer" }, dependsOnGroups = { "readCustomer", "createPhone" }) @Transactional @Rollback(false) public void createCartForCustomer() { String userName = "customer1"; Customer customer = customerService.readCustomerByUsername(userName); Order order = orderService.createNewCartForCustomer(customer); assert order != null; assert order.getId() != null; this.orderId = order.getId(); }
@Test @Transactional @Rollback(false) @Repeat(20) public void testSameMessageAndGroupToMultipleRegions() throws Exception { final String groupId = "myGroup"; final String region1 = "region1"; final String region2 = "region2"; final JdbcMessageStore messageStore1 = new JdbcMessageStore(dataSource); messageStore1.setRegion(region1); final JdbcMessageStore messageStore2 = new JdbcMessageStore(dataSource); messageStore1.setRegion(region2); final Message<String> message = MessageBuilder.withPayload("foo").build(); final MessageBuilder<String> builder1 = MessageBuilder.fromMessage(message); final MessageBuilder<String> builder2 = MessageBuilder.fromMessage(message); builder1.setSequenceNumber(1); builder2.setSequenceNumber(2); final Message<?> message1 = builder1.build(); final Message<?> message2 = builder2.build(); messageStore1.addMessageToGroup(groupId, message1); messageStore2.addMessageToGroup(groupId, message2); final Message<?> messageFromRegion1 = messageStore1.pollMessageFromGroup(groupId); final Message<?> messageFromRegion2 = messageStore2.pollMessageFromGroup(groupId); assertNotNull(messageFromRegion1); assertNotNull(messageFromRegion2); LOG.info("messageFromRegion1: " + messageFromRegion1.getHeaders().getId() + "; Sequence #: " + new IntegrationMessageHeaderAccessor(messageFromRegion1).getSequenceNumber()); LOG.info("messageFromRegion2: " + messageFromRegion2.getHeaders().getId() + "; Sequence #: " + new IntegrationMessageHeaderAccessor(messageFromRegion2).getSequenceNumber()); assertEquals(Integer.valueOf(1), messageFromRegion1.getHeaders().get(IntegrationMessageHeaderAccessor.SEQUENCE_NUMBER)); assertEquals(Integer.valueOf(2), messageFromRegion2.getHeaders().get(IntegrationMessageHeaderAccessor.SEQUENCE_NUMBER)); }