use of org.springframework.integration.jdbc.storedproc.User in project spring-integration by spring-projects.
the class StoredProcMessageHandlerDerbyIntegrationTests method testDerbyStoredProcedureInsertWithExpression.
@Test
public void testDerbyStoredProcedureInsertWithExpression() {
StoredProcExecutor storedProcExecutor = new StoredProcExecutor(embeddedDatabase);
StoredProcMessageHandler messageHandler = new StoredProcMessageHandler(storedProcExecutor);
storedProcExecutor.setStoredProcedureName("CREATE_USER");
final List<ProcedureParameter> procedureParameters = new ArrayList<ProcedureParameter>();
procedureParameters.add(new ProcedureParameter("username", null, "payload.username.toUpperCase()"));
procedureParameters.add(new ProcedureParameter("password", null, "payload.password.toUpperCase()"));
procedureParameters.add(new ProcedureParameter("email", null, "payload.email.toUpperCase()"));
storedProcExecutor.setProcedureParameters(procedureParameters);
storedProcExecutor.setBeanFactory(mock(BeanFactory.class));
storedProcExecutor.afterPropertiesSet();
messageHandler.setBeanFactory(mock(BeanFactory.class));
messageHandler.afterPropertiesSet();
MessageBuilder<User> message = MessageBuilder.withPayload(new User("Eric.Cartman", "c4rtm4n", "eric@cartman.com"));
messageHandler.handleMessage(message.build());
Map<String, Object> map = jdbcTemplate.queryForMap("SELECT * FROM USERS WHERE USERNAME=?", "ERIC.CARTMAN");
assertEquals("Wrong username", "ERIC.CARTMAN", map.get("USERNAME"));
assertEquals("Wrong password", "C4RTM4N", map.get("PASSWORD"));
assertEquals("Wrong email", "ERIC@CARTMAN.COM", map.get("EMAIL"));
}
use of org.springframework.integration.jdbc.storedproc.User in project spring-integration by spring-projects.
the class StoredProcMessageHandlerDerbyIntegrationTests method testDerbyStoredProcedureInsertWithDefaultSqlSource.
@Test
public void testDerbyStoredProcedureInsertWithDefaultSqlSource() {
StoredProcExecutor storedProcExecutor = new StoredProcExecutor(embeddedDatabase);
StoredProcMessageHandler messageHandler = new StoredProcMessageHandler(storedProcExecutor);
storedProcExecutor.setStoredProcedureName("CREATE_USER");
storedProcExecutor.setBeanFactory(mock(BeanFactory.class));
storedProcExecutor.afterPropertiesSet();
messageHandler.setBeanFactory(mock(BeanFactory.class));
messageHandler.afterPropertiesSet();
MessageBuilder<User> message = MessageBuilder.withPayload(new User("username", "password", "email"));
messageHandler.handleMessage(message.build());
Map<String, Object> map = jdbcTemplate.queryForMap("SELECT * FROM USERS WHERE USERNAME=?", "username");
assertEquals("Wrong username", "username", map.get("USERNAME"));
assertEquals("Wrong password", "password", map.get("PASSWORD"));
assertEquals("Wrong email", "email", map.get("EMAIL"));
}
use of org.springframework.integration.jdbc.storedproc.User in project spring-integration by spring-projects.
the class StoredProcMessageHandlerDerbyIntegrationTests method testDerbyStoredProcInsertWithDefaultSqlSourceAndSpelProcName.
@Test
public void testDerbyStoredProcInsertWithDefaultSqlSourceAndSpelProcName() throws Exception {
StoredProcExecutor storedProcExecutor = new StoredProcExecutor(embeddedDatabase);
StoredProcMessageHandler messageHandler = new StoredProcMessageHandler(storedProcExecutor);
ExpressionFactoryBean efb = new ExpressionFactoryBean("headers.headerWithProcedureName");
efb.afterPropertiesSet();
Expression expression = efb.getObject();
storedProcExecutor.setStoredProcedureNameExpression(expression);
storedProcExecutor.setBeanFactory(mock(BeanFactory.class));
storedProcExecutor.afterPropertiesSet();
messageHandler.setBeanFactory(mock(BeanFactory.class));
messageHandler.afterPropertiesSet();
MessageBuilder<User> message = MessageBuilder.withPayload(new User("username", "password", "email"));
message.setHeader("headerWithProcedureName", "CREATE_USER");
messageHandler.handleMessage(message.build());
Map<String, Object> map = jdbcTemplate.queryForMap("SELECT * FROM USERS WHERE USERNAME=?", "username");
assertEquals("Wrong username", "username", map.get("USERNAME"));
assertEquals("Wrong password", "password", map.get("PASSWORD"));
assertEquals("Wrong email", "email", map.get("EMAIL"));
}
use of org.springframework.integration.jdbc.storedproc.User in project spring-integration by spring-projects.
the class StoredProcMessageHandlerDerbyIntegrationTests method testDerbyStoredProcedureInsertWithHeaderExpression.
@Test
public void testDerbyStoredProcedureInsertWithHeaderExpression() {
StoredProcExecutor storedProcExecutor = new StoredProcExecutor(embeddedDatabase);
StoredProcMessageHandler messageHandler = new StoredProcMessageHandler(storedProcExecutor);
storedProcExecutor.setStoredProcedureName("CREATE_USER");
final List<ProcedureParameter> procedureParameters = new ArrayList<ProcedureParameter>();
procedureParameters.add(new ProcedureParameter("USERNAME", null, "headers[business_id] + '_' + payload.username"));
procedureParameters.add(new ProcedureParameter("password", "static_password", null));
procedureParameters.add(new ProcedureParameter("email", "static_email", null));
storedProcExecutor.setProcedureParameters(procedureParameters);
storedProcExecutor.setBeanFactory(mock(BeanFactory.class));
storedProcExecutor.afterPropertiesSet();
messageHandler.setBeanFactory(mock(BeanFactory.class));
messageHandler.afterPropertiesSet();
MessageBuilder<User> message = MessageBuilder.withPayload(new User("Eric.Cartman", "c4rtm4n", "eric@cartman.com"));
message.setHeader("business_id", "1234");
messageHandler.handleMessage(message.build());
Map<String, Object> map = jdbcTemplate.queryForMap("SELECT * FROM USERS WHERE USERNAME=?", "1234_Eric.Cartman");
assertEquals("Wrong username", "1234_Eric.Cartman", map.get("USERNAME"));
assertEquals("Wrong password", "static_password", map.get("PASSWORD"));
assertEquals("Wrong email", "static_email", map.get("EMAIL"));
}
use of org.springframework.integration.jdbc.storedproc.User in project spring-integration by spring-projects.
the class StoredProcJmxManagedBeanTests method testOutboundGateWayJmxAttributes.
@Test
@SuppressWarnings("unchecked")
public void testOutboundGateWayJmxAttributes() throws Exception {
final List<MBeanServer> servers = MBeanServerFactory.findMBeanServer(null);
assertEquals(1, servers.size());
final MBeanServer server = servers.iterator().next();
final Set<ObjectName> objectNames = server.queryNames(ObjectName.getInstance("org.springframework.integration.jdbc.test:name=my gateway.storedProcExecutor,*"), null);
assertEquals(1, objectNames.size());
ObjectName name = objectNames.iterator().next();
Map<String, Object> cacheStatistics = (Map<String, Object>) server.getAttribute(name, "JdbcCallOperationsCacheStatisticsAsMap");
assertEquals(11, cacheStatistics.size());
assertEquals(0L, cacheStatistics.get("hitCount"));
assertEquals(0L, cacheStatistics.get("loadCount"));
assertEquals(0L, cacheStatistics.get("loadExceptionCount"));
assertEquals(0L, cacheStatistics.get("loadSuccessCount"));
assertEquals(0L, cacheStatistics.get("missCount"));
userService.createUser(new User("myUsername", "myPassword", "myEmail"));
List<Message<Collection<User>>> received = new ArrayList<Message<Collection<User>>>();
received.add(consumer.poll(2000));
Message<Collection<User>> message = received.get(0);
assertNotNull(message);
assertNotNull(message.getPayload());
Map<String, Object> cacheStatistics2 = (Map<String, Object>) server.getAttribute(name, "JdbcCallOperationsCacheStatisticsAsMap");
assertEquals(11, cacheStatistics2.size());
assertEquals(0L, cacheStatistics2.get("hitCount"));
assertEquals(1L, cacheStatistics2.get("loadCount"));
assertEquals(0L, cacheStatistics2.get("loadExceptionCount"));
assertEquals(1L, cacheStatistics2.get("loadSuccessCount"));
assertEquals(1L, cacheStatistics2.get("missCount"));
}
Aggregations