Make ApplicationContextRunner immutable

Update `ApplicationContextRunner` so that it is totally immutable.
Methods now return new instances rather than changing existing state.

See gh-9875
This commit is contained in:
Phillip Webb
2017-07-26 16:37:42 -07:00
parent ad9f28110c
commit 89ad0660d1
6 changed files with 145 additions and 37 deletions

View File

@@ -231,15 +231,15 @@ public class ArtemisAutoConfigurationTests {
"spring.artemis.embedded.dataDirectory:"
+ dataFolder.getAbsolutePath())
.run((context) -> context.getBean(JmsTemplate.class).send("TestQueue",
(session) -> session.createTextMessage(messageId)));
// Start the server again and check if our message is still here
this.contextRunner.run((context) -> {
JmsTemplate jmsTemplate2 = context.getBean(JmsTemplate.class);
jmsTemplate2.setReceiveTimeout(1000L);
Message message = jmsTemplate2.receive("TestQueue");
assertThat(message).isNotNull();
assertThat(((TextMessage) message).getText()).isEqualTo(messageId);
});
(session) -> session.createTextMessage(messageId)))
.run((context) -> {
// Start the server again and check if our message is still here
JmsTemplate jmsTemplate2 = context.getBean(JmsTemplate.class);
jmsTemplate2.setReceiveTimeout(1000L);
Message message = jmsTemplate2.receive("TestQueue");
assertThat(message).isNotNull();
assertThat(((TextMessage) message).getText()).isEqualTo(messageId);
});
}
@Test