@Test public void testInTcp() { DirectFieldAccessor dfa = new DirectFieldAccessor(tcpIn); assertSame(cfS1, dfa.getPropertyValue("serverConnectionFactory")); assertEquals("testInTcp", tcpIn.getComponentName()); assertEquals("ip:tcp-inbound-channel-adapter", tcpIn.getComponentType()); assertEquals(errorChannel, dfa.getPropertyValue("errorChannel")); assertFalse(cfS1.isLookupHost()); assertFalse(tcpIn.isAutoStartup()); assertEquals(124, tcpIn.getPhase()); TcpMessageMapper cfS1Mapper = TestUtils.getPropertyValue(cfS1, "mapper", TcpMessageMapper.class); assertSame(mapper, cfS1Mapper); assertTrue((Boolean) TestUtils.getPropertyValue(cfS1Mapper, "applySequence")); Object socketSupport = TestUtils.getPropertyValue(cfS1, "tcpSocketFactorySupport"); assertTrue(socketSupport instanceof DefaultTcpNetSSLSocketFactorySupport); assertNotNull(TestUtils.getPropertyValue(socketSupport, "sslContext")); TcpSSLContextSupport contextSupport = TestUtils.getPropertyValue( cfS1, "tcpSocketFactorySupport.sslContextSupport", TcpSSLContextSupport.class); assertSame(contextSupport, this.contextSupport); assertTrue(TestUtils.getPropertyValue(contextSupport, "keyStore") instanceof ClassPathResource); assertTrue( TestUtils.getPropertyValue(contextSupport, "trustStore") instanceof ClassPathResource); contextSupport = new DefaultTcpSSLContextSupport("http:foo", "file:bar", "", ""); assertTrue(TestUtils.getPropertyValue(contextSupport, "keyStore") instanceof UrlResource); assertTrue(TestUtils.getPropertyValue(contextSupport, "trustStore") instanceof UrlResource); }
@Test public void testSecureServer() { DirectFieldAccessor dfa = new DirectFieldAccessor(secureServer); assertSame(socketFactorySupport, dfa.getPropertyValue("tcpSocketFactorySupport")); assertSame(socketSupport, dfa.getPropertyValue("tcpSocketSupport")); assertEquals(34, TestUtils.getPropertyValue(this.secureServerNio, "sslHandshakeTimeout")); }
@Test // see INT-2011 public void testAggregatorWithPojoReleaseStrategyAsCollection() { MessageChannel input = (MessageChannel) context.getBean("aggregatorWithPojoReleaseStrategyInputAsCollection"); EventDrivenConsumer endpoint = (EventDrivenConsumer) context.getBean("aggregatorWithPojoReleaseStrategyAsCollection"); ReleaseStrategy releaseStrategy = (ReleaseStrategy) new DirectFieldAccessor(new DirectFieldAccessor(endpoint).getPropertyValue("handler")) .getPropertyValue("releaseStrategy"); Assert.assertTrue(releaseStrategy instanceof MethodInvokingReleaseStrategy); DirectFieldAccessor releaseStrategyAccessor = new DirectFieldAccessor( new DirectFieldAccessor( new DirectFieldAccessor(releaseStrategy).getPropertyValue("adapter")) .getPropertyValue("delegate")); Object handlerMethods = releaseStrategyAccessor.getPropertyValue("handlerMethods"); assertNull(handlerMethods); Object handlerMethod = releaseStrategyAccessor.getPropertyValue("handlerMethod"); assertTrue(handlerMethod.toString().contains("checkCompleteness")); input.send(createMessage(1L, "correlationId", 4, 0, null)); input.send(createMessage(2L, "correlationId", 4, 1, null)); input.send(createMessage(3L, "correlationId", 4, 2, null)); PollableChannel outputChannel = (PollableChannel) context.getBean("outputChannel"); Message<?> reply = outputChannel.receive(0); Assert.assertNull(reply); input.send(createMessage(5L, "correlationId", 4, 3, null)); reply = outputChannel.receive(0); Assert.assertNotNull(reply); assertEquals(11L, reply.getPayload()); }
@Test public void replyQosPropertiesDisabledByDefault() { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("inboundGatewayDefault.xml", this.getClass()); JmsMessageDrivenEndpoint gateway = context.getBean("gateway", JmsMessageDrivenEndpoint.class); DirectFieldAccessor accessor = new DirectFieldAccessor(new DirectFieldAccessor(gateway).getPropertyValue("listener")); assertEquals(false, accessor.getPropertyValue("explicitQosEnabledForReplies")); }
@Test public void testRabbitTemplateMessageConverters() { load(MessageConvertersConfiguration.class); RabbitTemplate rabbitTemplate = this.context.getBean(RabbitTemplate.class); assertThat(rabbitTemplate.getMessageConverter()) .isSameAs(this.context.getBean("myMessageConverter")); DirectFieldAccessor dfa = new DirectFieldAccessor(rabbitTemplate); assertThat(dfa.getPropertyValue("retryTemplate")).isNull(); }
@Test @SuppressWarnings("unchecked") public void putOrDeleteMethodsSupported() throws Exception { DirectFieldAccessor accessor = new DirectFieldAccessor(putOrDeleteAdapter); List<String> supportedMethods = (List<String>) accessor.getPropertyValue("supportedMethods"); assertEquals(2, supportedMethods.size()); assertTrue(supportedMethods.contains(HttpMethod.PUT)); assertTrue(supportedMethods.contains(HttpMethod.DELETE)); }
@Test public void testGatewayWithDefaultExtractPayload() { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "jmsGatewaysWithExtractPayloadAttributes.xml", this.getClass()); JmsMessageDrivenEndpoint gateway = (JmsMessageDrivenEndpoint) context.getBean("defaultGateway"); DirectFieldAccessor accessor = new DirectFieldAccessor(gateway); accessor = new DirectFieldAccessor(accessor.getPropertyValue("listener")); assertEquals(Boolean.TRUE, accessor.getPropertyValue("extractReplyPayload")); }
@Test public void minimalConfig() { HttpRequestExecutingMessageHandler handler = (HttpRequestExecutingMessageHandler) new DirectFieldAccessor(this.minimalConfigEndpoint).getPropertyValue("handler"); MessageChannel requestChannel = (MessageChannel) new DirectFieldAccessor(this.minimalConfigEndpoint).getPropertyValue("inputChannel"); assertEquals(this.applicationContext.getBean("requests"), requestChannel); DirectFieldAccessor handlerAccessor = new DirectFieldAccessor(handler); Object replyChannel = handlerAccessor.getPropertyValue("outputChannel"); assertNull(replyChannel); DirectFieldAccessor templateAccessor = new DirectFieldAccessor(handlerAccessor.getPropertyValue("restTemplate")); ClientHttpRequestFactory requestFactory = (ClientHttpRequestFactory) templateAccessor.getPropertyValue("requestFactory"); assertTrue(requestFactory instanceof SimpleClientHttpRequestFactory); Expression uriExpression = (Expression) handlerAccessor.getPropertyValue("uriExpression"); assertEquals("http://localhost/test1", uriExpression.getValue()); assertEquals( HttpMethod.POST.name(), TestUtils.getPropertyValue(handler, "httpMethodExpression", Expression.class) .getExpressionString()); assertEquals("UTF-8", handlerAccessor.getPropertyValue("charset")); assertEquals(true, handlerAccessor.getPropertyValue("extractPayload")); assertEquals(false, handlerAccessor.getPropertyValue("transferCookies")); }
@Test public void testTransactionManagerIsNullByDefault() { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "jmsGatewayTransactionManagerTests.xml", this.getClass()); JmsMessageDrivenEndpoint gateway = (JmsMessageDrivenEndpoint) context.getBean("gatewayWithoutTransactionManager"); DirectFieldAccessor accessor = new DirectFieldAccessor(gateway); accessor = new DirectFieldAccessor(accessor.getPropertyValue("listenerContainer")); assertNull(accessor.getPropertyValue("transactionManager")); }
@Test public void outboundGateway() throws Exception { DirectFieldAccessor accessor = new DirectFieldAccessor(new DirectFieldAccessor(gateway).getPropertyValue("handler")); File expected = new ClassPathResource("").getFile(); Expression destinationDirectoryExpression = (Expression) accessor.getPropertyValue("destinationDirectoryExpression"); File actual = new File(destinationDirectoryExpression.getExpressionString()); assertEquals("'destinationDirectory' should be set", expected, actual); }
@Test public void queueNameWithResolverChannel() { assertEquals(JmsDestinationBackedMessageChannel.class, queueNameWithResolverChannel.getClass()); JmsDestinationBackedMessageChannel channel = (JmsDestinationBackedMessageChannel) queueNameWithResolverChannel; DirectFieldAccessor accessor = new DirectFieldAccessor(channel); JmsTemplate jmsTemplate = (JmsTemplate) accessor.getPropertyValue("jmsTemplate"); AbstractMessageListenerContainer container = (AbstractMessageListenerContainer) accessor.getPropertyValue("container"); assertEquals("foo", jmsTemplate.getDefaultDestinationName()); assertEquals("foo", container.getDestinationName()); }
@Test public void topicReferenceChannel() { assertEquals(JmsDestinationBackedMessageChannel.class, topicReferenceChannel.getClass()); JmsDestinationBackedMessageChannel channel = (JmsDestinationBackedMessageChannel) topicReferenceChannel; DirectFieldAccessor accessor = new DirectFieldAccessor(channel); JmsTemplate jmsTemplate = (JmsTemplate) accessor.getPropertyValue("jmsTemplate"); AbstractMessageListenerContainer container = (AbstractMessageListenerContainer) accessor.getPropertyValue("container"); assertEquals(topic, jmsTemplate.getDefaultDestination()); assertEquals(topic, container.getDestination()); }
@Test public void channelWithConcurrencySettings() { assertEquals( JmsDestinationBackedMessageChannel.class, channelWithConcurrencySettings.getClass()); JmsDestinationBackedMessageChannel channel = (JmsDestinationBackedMessageChannel) channelWithConcurrencySettings; DirectFieldAccessor accessor = new DirectFieldAccessor(channel); DefaultMessageListenerContainer container = (DefaultMessageListenerContainer) accessor.getPropertyValue("container"); assertEquals(11, container.getConcurrentConsumers()); assertEquals(55, container.getMaxConcurrentConsumers()); }
@Test public void testRabbitListenerContainerFactoryBackOff() { load(TestConfiguration5.class); SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory = this.context.getBean( "rabbitListenerContainerFactory", SimpleRabbitListenerContainerFactory.class); rabbitListenerContainerFactory.setTxSize(10); verify(rabbitListenerContainerFactory).setTxSize(10); DirectFieldAccessor dfa = new DirectFieldAccessor(rabbitListenerContainerFactory); Advice[] adviceChain = (Advice[]) dfa.getPropertyValue("adviceChain"); assertThat(adviceChain).isNull(); }
@Test public void testGatewayWithReplyQosProperties() { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("inboundGatewayWithReplyQos.xml", this.getClass()); JmsMessageDrivenEndpoint gateway = context.getBean("gatewayWithReplyQos", JmsMessageDrivenEndpoint.class); DirectFieldAccessor accessor = new DirectFieldAccessor(new DirectFieldAccessor(gateway).getPropertyValue("listener")); assertEquals(12345L, accessor.getPropertyValue("replyTimeToLive")); assertEquals(7, accessor.getPropertyValue("replyPriority")); assertEquals(DeliveryMode.NON_PERSISTENT, accessor.getPropertyValue("replyDeliveryMode")); assertEquals(true, accessor.getPropertyValue("explicitQosEnabledForReplies")); }
@Test public void testConnectionFactoryPublisherSettings() { load( TestConfiguration.class, "spring.rabbitmq.publisher-confirms=true", "spring.rabbitmq.publisher-returns=true"); CachingConnectionFactory connectionFactory = this.context.getBean(CachingConnectionFactory.class); RabbitTemplate rabbitTemplate = this.context.getBean(RabbitTemplate.class); DirectFieldAccessor dfa = new DirectFieldAccessor(connectionFactory); assertThat(dfa.getPropertyValue("publisherConfirms")).isEqualTo(true); assertThat(dfa.getPropertyValue("publisherReturns")).isEqualTo(true); assertThat(getMandatory(rabbitTemplate)).isTrue(); }
@Test public void customRouter() { Object endpoint = context.getBean("customRouter"); Object handler = TestUtils.getPropertyValue(endpoint, "handler"); assertEquals(RecipientListRouter.class, handler.getClass()); RecipientListRouter router = (RecipientListRouter) handler; DirectFieldAccessor accessor = new DirectFieldAccessor(router); assertEquals( new Long(1234), new DirectFieldAccessor(accessor.getPropertyValue("messagingTemplate")) .getPropertyValue("sendTimeout")); assertEquals(Boolean.TRUE, accessor.getPropertyValue("applySequence")); assertEquals(Boolean.TRUE, accessor.getPropertyValue("ignoreSendFailures")); }
@Test public void testParseWithQueueNames() throws Exception { SimpleMessageListenerContainer container = beanFactory.getBean("container1", SimpleMessageListenerContainer.class); assertEquals(AcknowledgeMode.MANUAL, container.getAcknowledgeMode()); assertEquals(beanFactory.getBean(ConnectionFactory.class), container.getConnectionFactory()); assertEquals(MessageListenerAdapter.class, container.getMessageListener().getClass()); DirectFieldAccessor listenerAccessor = new DirectFieldAccessor(container.getMessageListener()); assertEquals( beanFactory.getBean(TestBean.class), listenerAccessor.getPropertyValue("delegate")); assertEquals("handle", listenerAccessor.getPropertyValue("defaultListenerMethod")); Queue queue = beanFactory.getBean("bar", Queue.class); assertEquals( "[foo, " + queue.getName() + "]", Arrays.asList(container.getQueueNames()).toString()); assertEquals(5, ReflectionTestUtils.getField(container, "concurrentConsumers")); assertEquals(6, ReflectionTestUtils.getField(container, "maxConcurrentConsumers")); assertEquals(1234L, ReflectionTestUtils.getField(container, "startConsumerMinInterval")); assertEquals(2345L, ReflectionTestUtils.getField(container, "stopConsumerMinInterval")); assertEquals(12, ReflectionTestUtils.getField(container, "consecutiveActiveTrigger")); assertEquals(34, ReflectionTestUtils.getField(container, "consecutiveIdleTrigger")); assertEquals(9876L, ReflectionTestUtils.getField(container, "receiveTimeout")); Map<?, ?> consumerArgs = TestUtils.getPropertyValue(container, "consumerArgs", Map.class); assertEquals(1, consumerArgs.size()); Object xPriority = consumerArgs.get("x-priority"); assertNotNull(xPriority); assertEquals(10, xPriority); assertEquals( Long.valueOf(5555), TestUtils.getPropertyValue(container, "recoveryBackOff.interval", Long.class)); assertFalse(TestUtils.getPropertyValue(container, "exclusive", Boolean.class)); assertFalse(TestUtils.getPropertyValue(container, "missingQueuesFatal", Boolean.class)); assertTrue(TestUtils.getPropertyValue(container, "autoDeclare", Boolean.class)); assertEquals(5, TestUtils.getPropertyValue(container, "declarationRetries")); assertEquals(1000L, TestUtils.getPropertyValue(container, "failedDeclarationRetryInterval")); assertEquals(30000L, TestUtils.getPropertyValue(container, "retryDeclarationInterval")); assertEquals( beanFactory.getBean("tagger"), TestUtils.getPropertyValue(container, "consumerTagStrategy")); Collection<?> group = beanFactory.getBean("containerGroup", Collection.class); assertEquals(3, group.size()); assertThat( group, Matchers.contains( beanFactory.getBean("container1"), beanFactory.getBean("testListener1"), beanFactory.getBean("testListener2"))); assertEquals(1235L, ReflectionTestUtils.getField(container, "idleEventInterval")); assertEquals("container1", container.getListenerId()); }
@Before public void setUp() throws Exception { DatabaseOperation.CLEAN_INSERT.execute(getConnection(), getDataSet()); loginServiceImpl = new LoginServiceImpl(); hibernateTemplate = new HibernateTemplate<Customer>(); directFieldAccessor = new DirectFieldAccessor(loginServiceImpl); directFieldAccessor.setPropertyValue("hibernateTemplate", hibernateTemplate); directFieldAccessor = new DirectFieldAccessor(hibernateTemplate); directFieldAccessor.setPropertyValue("session", hibernateSession.openSession()); username = "******"; password = "******"; }
@Test public void testParseWithQueueNames() throws Exception { SimpleMessageListenerContainer container = this.context.getBean("testListener", SimpleMessageListenerContainer.class); assertEquals(AcknowledgeMode.MANUAL, container.getAcknowledgeMode()); assertEquals(this.context.getBean(ConnectionFactory.class), container.getConnectionFactory()); assertEquals(MessageListenerAdapter.class, container.getMessageListener().getClass()); DirectFieldAccessor listenerAccessor = new DirectFieldAccessor(container.getMessageListener()); assertEquals( this.context.getBean(TestBean.class), listenerAccessor.getPropertyValue("delegate")); assertEquals("handle", listenerAccessor.getPropertyValue("defaultListenerMethod")); Queue queue = this.context.getBean("bar", Queue.class); assertEquals( "[foo, " + queue.getName() + "]", Arrays.asList(container.getQueueNames()).toString()); }
@Test public void testUsageWithoutSpringInitialization() { LoggingHandler loggingHandler = new LoggingHandler("ERROR"); DirectFieldAccessor accessor = new DirectFieldAccessor(loggingHandler); Log log = (Log) accessor.getPropertyValue("messageLogger"); log = spy(log); accessor.setPropertyValue("messageLogger", log); String testPayload = "TEST_PAYLOAD"; Message<String> message = MessageBuilder.withPayload(testPayload).build(); loggingHandler.handleMessage(message); verify(log).error(testPayload); }
private void testEarlyClose( final AbstractServerConnectionFactory factory, String property, String message) throws Exception { factory.setApplicationEventPublisher(mock(ApplicationEventPublisher.class)); factory.setBeanName("foo"); factory.registerListener(mock(TcpListener.class)); factory.afterPropertiesSet(); Log logger = spy(TestUtils.getPropertyValue(factory, "logger", Log.class)); new DirectFieldAccessor(factory).setPropertyValue("logger", logger); final CountDownLatch latch1 = new CountDownLatch(1); final CountDownLatch latch2 = new CountDownLatch(1); final CountDownLatch latch3 = new CountDownLatch(1); when(logger.isInfoEnabled()).thenReturn(true); when(logger.isDebugEnabled()).thenReturn(true); doAnswer( invocation -> { latch1.countDown(); // wait until the stop nulls the channel latch2.await(10, TimeUnit.SECONDS); return null; }) .when(logger) .info(contains("Listening")); doAnswer( invocation -> { latch3.countDown(); return null; }) .when(logger) .debug(contains(message)); factory.start(); assertTrue("missing info log", latch1.await(10, TimeUnit.SECONDS)); // stop on a different thread because it waits for the executor Executors.newSingleThreadExecutor().execute(() -> factory.stop()); int n = 0; DirectFieldAccessor accessor = new DirectFieldAccessor(factory); while (n++ < 200 && accessor.getPropertyValue(property) != null) { Thread.sleep(100); } assertTrue("Stop was not invoked in time", n < 200); latch2.countDown(); assertTrue("missing debug log", latch3.await(10, TimeUnit.SECONDS)); String expected = "foo, port=" + factory.getPort() + message; ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class); verify(logger, atLeast(1)).debug(captor.capture()); assertThat(captor.getAllValues(), hasItem(expected)); factory.stop(); }
@Test public void testOutTcp() { DirectFieldAccessor dfa = new DirectFieldAccessor(tcpOut); assertSame(cfC1, dfa.getPropertyValue("clientConnectionFactory")); assertEquals("testOutTcpNio", tcpOut.getComponentName()); assertEquals("ip:tcp-outbound-channel-adapter", tcpOut.getComponentType()); assertFalse(cfC1.isLookupHost()); assertEquals(35, dfa.getPropertyValue("order")); assertFalse(tcpOutEndpoint.isAutoStartup()); assertEquals(125, tcpOutEndpoint.getPhase()); assertFalse( (Boolean) TestUtils.getPropertyValue( TestUtils.getPropertyValue(cfC1, "mapper"), "applySequence")); assertEquals(10000L, TestUtils.getPropertyValue(cfC1, "readDelay")); }
@Test public void testConnectionFactoryCacheSettings() { load( TestConfiguration.class, "spring.rabbitmq.cache.channel.size=23", "spring.rabbitmq.cache.channel.checkoutTimeout=1000", "spring.rabbitmq.cache.connection.mode=CONNECTION", "spring.rabbitmq.cache.connection.size=2"); CachingConnectionFactory connectionFactory = this.context.getBean(CachingConnectionFactory.class); DirectFieldAccessor dfa = new DirectFieldAccessor(connectionFactory); assertThat(dfa.getPropertyValue("channelCacheSize")).isEqualTo(23); assertThat(dfa.getPropertyValue("cacheMode")).isEqualTo(CacheMode.CONNECTION); assertThat(dfa.getPropertyValue("connectionCacheSize")).isEqualTo(2); assertThat(dfa.getPropertyValue("channelCheckoutTimeout")).isEqualTo(1000L); }
public static Object getPropertyValue(Object root, String propertyPath) { Object value = null; DirectFieldAccessor accessor = new DirectFieldAccessor(root); String[] tokens = propertyPath.split("\\."); for (int i = 0; i < tokens.length; i++) { value = accessor.getPropertyValue(tokens[i]); if (value != null) { accessor = new DirectFieldAccessor(value); } else if (i == tokens.length - 1) { return null; } else { throw new IllegalArgumentException("intermediate property '" + tokens[i] + "' is null"); } } return value; }
@Test public void testGatewayWithTransactionManagerReference() { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "jmsGatewayTransactionManagerTests.xml", this.getClass()); JmsMessageDrivenEndpoint gateway = (JmsMessageDrivenEndpoint) context.getBean("gatewayWithTransactionManager"); DirectFieldAccessor accessor = new DirectFieldAccessor(gateway); accessor = new DirectFieldAccessor(accessor.getPropertyValue("listenerContainer")); Object txManager = accessor.getPropertyValue("transactionManager"); assertEquals(JmsTransactionManager.class, txManager.getClass()); assertEquals(context.getBean("txManager"), txManager); assertEquals( context.getBean("testConnectionFactory"), ((JmsTransactionManager) txManager).getConnectionFactory()); }
@Test public void testInGateway1() { DirectFieldAccessor dfa = new DirectFieldAccessor(tcpInboundGateway1); assertSame(cfS2, dfa.getPropertyValue("serverConnectionFactory")); assertEquals(456L, dfa.getPropertyValue("replyTimeout")); assertEquals("inGateway1", tcpInboundGateway1.getComponentName()); assertEquals("ip:tcp-inbound-gateway", tcpInboundGateway1.getComponentType()); assertEquals(errorChannel, dfa.getPropertyValue("errorChannel")); assertTrue(cfS2.isLookupHost()); assertFalse(tcpInboundGateway1.isAutoStartup()); assertEquals(126, tcpInboundGateway1.getPhase()); assertFalse( (Boolean) TestUtils.getPropertyValue( TestUtils.getPropertyValue(cfS2, "mapper"), "applySequence")); assertEquals(100L, TestUtils.getPropertyValue(cfS2, "readDelay")); }
@SuppressWarnings("unchecked") @Test public void testSqlParametersAreSet() throws Exception { setUp("basicStoredProcOutboundChannelAdapterTest.xml", getClass()); DirectFieldAccessor accessor = new DirectFieldAccessor(this.consumer); Object handler = accessor.getPropertyValue("handler"); accessor = new DirectFieldAccessor(handler); Object executor = accessor.getPropertyValue("executor"); DirectFieldAccessor executorAccessor = new DirectFieldAccessor(executor); Object sqlParameters = executorAccessor.getPropertyValue("sqlParameters"); assertNotNull(sqlParameters); assertTrue(sqlParameters instanceof List); List<SqlParameter> sqlParametersAsList = (List<SqlParameter>) sqlParameters; assertTrue(sqlParametersAsList.size() == 4); SqlParameter parameter1 = sqlParametersAsList.get(0); SqlParameter parameter2 = sqlParametersAsList.get(1); SqlParameter parameter3 = sqlParametersAsList.get(2); SqlParameter parameter4 = sqlParametersAsList.get(3); assertEquals("username", parameter1.getName()); assertEquals("password", parameter2.getName()); assertEquals("age", parameter3.getName()); assertEquals("description", parameter4.getName()); assertNull("Expect that the scale is null.", parameter1.getScale()); assertNull("Expect that the scale is null.", parameter2.getScale()); assertEquals("Expect that the scale is 5.", Integer.valueOf(5), parameter3.getScale()); assertNull("Expect that the scale is null.", parameter4.getScale()); assertEquals("SqlType is ", Types.VARCHAR, parameter1.getSqlType()); assertEquals("SqlType is ", Types.VARCHAR, parameter2.getSqlType()); assertEquals("SqlType is ", Types.INTEGER, parameter3.getSqlType()); assertEquals("SqlType is ", Types.VARCHAR, parameter4.getSqlType()); assertTrue(parameter1 instanceof SqlParameter); assertTrue(parameter2 instanceof SqlOutParameter); assertTrue(parameter3 instanceof SqlInOutParameter); assertTrue(parameter4 instanceof SqlParameter); }
@Test public void testProcedureNameIsSet() throws Exception { setUp("basicStoredProcOutboundChannelAdapterTest.xml", getClass()); DirectFieldAccessor accessor = new DirectFieldAccessor(this.consumer); Object handler = accessor.getPropertyValue("handler"); accessor = new DirectFieldAccessor(handler); Object executor = accessor.getPropertyValue("executor"); DirectFieldAccessor executorAccessor = new DirectFieldAccessor(executor); Expression testProcedure1 = (Expression) executorAccessor.getPropertyValue("storedProcedureNameExpression"); assertEquals( "Resolution Required should be 'testProcedure1' but was " + testProcedure1, "testProcedure1", testProcedure1.getValue()); }
@Test public void testDefaultRabbitConfiguration() { load(TestConfiguration.class); RabbitTemplate rabbitTemplate = this.context.getBean(RabbitTemplate.class); RabbitMessagingTemplate messagingTemplate = this.context.getBean(RabbitMessagingTemplate.class); CachingConnectionFactory connectionFactory = this.context.getBean(CachingConnectionFactory.class); DirectFieldAccessor dfa = new DirectFieldAccessor(connectionFactory); RabbitAdmin amqpAdmin = this.context.getBean(RabbitAdmin.class); assertThat(rabbitTemplate.getConnectionFactory()).isEqualTo(connectionFactory); assertThat(getMandatory(rabbitTemplate)).isFalse(); assertThat(messagingTemplate.getRabbitTemplate()).isEqualTo(rabbitTemplate); assertThat(amqpAdmin).isNotNull(); assertThat(connectionFactory.getHost()).isEqualTo("localhost"); assertThat(dfa.getPropertyValue("publisherConfirms")).isEqualTo(false); assertThat(dfa.getPropertyValue("publisherReturns")).isEqualTo(false); assertThat(this.context.containsBean("rabbitListenerContainerFactory")) .as("Listener container factory should be created by default") .isTrue(); }