Replaces Redis as RabbitMQ for test binder.

resolves spring-cloud/spring-cloud-task#134
This commit is contained in:
Glenn Renfro
2016-05-06 09:26:39 -04:00
committed by Michael Minella
parent 7d74e05509
commit ef1c027146
16 changed files with 31 additions and 57 deletions

View File

@@ -32,9 +32,9 @@ import org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.annotation.StreamListener;
import org.springframework.cloud.stream.binder.redis.config.RedisServiceAutoConfiguration;
import org.springframework.cloud.stream.binder.rabbit.config.RabbitServiceAutoConfiguration;
import org.springframework.cloud.stream.messaging.Sink;
import org.springframework.cloud.stream.test.junit.redis.RedisTestSupport;
import org.springframework.cloud.stream.test.junit.rabbit.RabbitTestSupport;
import org.springframework.cloud.task.batch.configuration.TaskBatchAutoConfiguration;
import org.springframework.cloud.task.batch.listener.BatchEventAutoConfiguration;
import org.springframework.cloud.task.batch.listener.support.JobExecutionEvent;
@@ -51,7 +51,7 @@ import static org.junit.Assert.assertTrue;
*/
public class BatchExecutionEventTests {
@ClassRule
public static RedisTestSupport redisTestSupport = new RedisTestSupport();
public static RabbitTestSupport rabbitTestSupport = new RabbitTestSupport();
// Count for two job execution events per job
static CountDownLatch jobExecutionLatch = new CountDownLatch(2);
@@ -94,7 +94,7 @@ public class BatchExecutionEventTests {
public void testContext() {
applicationContext = new SpringApplicationBuilder()
.sources(this.getConfigurations(BatchExecutionEventTests.ListenerBinding.class, JobConfiguration.class))
.build().run(new String[]{ "--spring.cloud.task.closecontext.enable=false" });
.build().run(getCommandLineParams("--spring.cloud.stream.bindings.job-execution-events.destination=bazbar"));
assertNotNull(applicationContext.getBean("jobExecutionEventsListener"));
assertNotNull(applicationContext.getBean("stepExecutionEventsListener"));
@@ -258,7 +258,7 @@ public class BatchExecutionEventTests {
TaskBatchAutoConfiguration.class,
TaskEventAutoConfiguration.class,
BatchEventAutoConfiguration.class,
RedisServiceAutoConfiguration.class,
RabbitServiceAutoConfiguration.class,
sinkClazz };
}
@@ -266,7 +266,7 @@ public class BatchExecutionEventTests {
return new String[]{ "--spring.cloud.task.closecontext.enable=false",
"--spring.cloud.task.name=" + TASK_NAME,
"--spring.main.web-environment=false",
"--spring.cloud.stream.defaultBinder=redis",
"--spring.cloud.stream.defaultBinder=rabbit",
"--spring.cloud.stream.bindings.task-events.destination=test",
sinkChannelParam };
}

View File

@@ -31,16 +31,14 @@ import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.annotation.StreamListener;
import org.springframework.cloud.stream.binder.redis.config.RedisServiceAutoConfiguration;
import org.springframework.cloud.stream.binder.rabbit.config.RabbitServiceAutoConfiguration;
import org.springframework.cloud.stream.messaging.Sink;
import org.springframework.cloud.stream.test.junit.redis.RedisTestSupport;
import org.springframework.cloud.stream.test.junit.rabbit.RabbitTestSupport;
import org.springframework.cloud.task.configuration.EnableTask;
import org.springframework.cloud.task.repository.TaskExecution;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
@@ -52,7 +50,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
public class TaskEventTests {
@ClassRule
public static RedisTestSupport redisTestSupport = new RedisTestSupport();
public static RabbitTestSupport rabbitTestSupport = new RabbitTestSupport();
// Count for two task execution events per task
static CountDownLatch latch = new CountDownLatch(2);
@@ -64,10 +62,10 @@ public class TaskEventTests {
ConfigurableApplicationContext applicationContext = new SpringApplicationBuilder().sources(new Object[] {TaskEventsConfiguration.class,
TaskEventAutoConfiguration.class,
PropertyPlaceholderAutoConfiguration.class,
RedisServiceAutoConfiguration.class}).build().run(new String[] {"--spring.cloud.task.closecontext.enable=false",
RabbitServiceAutoConfiguration.class}).build().run(new String[] {"--spring.cloud.task.closecontext.enable=false",
"--spring.cloud.task.name=" + TASK_NAME,
"--spring.main.web-environment=false",
"--spring.cloud.stream.defaultBinder=redis",
"--spring.cloud.stream.defaultBinder=rabbit",
"--spring.cloud.stream.bindings.task-events.destination=test"});
assertNotNull(applicationContext.getBean("taskEventListener"));
assertNotNull(applicationContext.getBean(TaskEventAutoConfiguration.TaskEventChannels.class));
@@ -89,10 +87,5 @@ public class TaskEventTests {
assertTrue(String.format("Task name should be '%s'", TASK_NAME), execution.getTaskName().equals(TASK_NAME));
latch.countDown();
}
@Bean
public RedisConnectionFactory redisConnectionFactory() {
return redisTestSupport.getResource();
}
}
}