More @DirtiesContext for tests in attempt to mitigate OOM error on CI/CD

This commit is contained in:
Artem Bilan
2024-12-03 11:58:46 -05:00
parent 567fb9bae8
commit e2aa904a7b
36 changed files with 254 additions and 190 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2023 the original author or authors.
* Copyright 2002-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -34,6 +34,7 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.PollableChannel;
import org.springframework.messaging.support.GenericMessage;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import org.springframework.util.MultiValueMap;
import org.springframework.xml.transform.StringResult;
@@ -47,6 +48,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Artem Bilan
*/
@SpringJUnitConfig
@DirtiesContext
public class MarshallingTransformerParserTests {
@Autowired

View File

@@ -34,6 +34,7 @@ import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.MessagingException;
import org.springframework.messaging.PollableChannel;
import org.springframework.messaging.support.GenericMessage;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import org.springframework.util.MultiValueMap;
import org.springframework.xml.transform.StringSource;
@@ -45,8 +46,10 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
* @author Jonas Partner
* @author Mark Fisher
* @author Gary Russell
* @author Artem Bilan
*/
@SpringJUnitConfig
@DirtiesContext
public class UnmarshallingTransformerParserTests {
@Autowired

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2023 the original author or authors.
* Copyright 2002-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -31,6 +31,7 @@ import org.springframework.integration.test.util.TestUtils;
import org.springframework.integration.xml.util.XmlTestUtil;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.support.GenericMessage;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import static org.assertj.core.api.Assertions.assertThat;
@@ -40,6 +41,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Artem Bilan
*/
@ContextConfiguration
@DirtiesContext
public class XPathMessageSplitterParserTests {
private static final String channelDefinitions = """
@@ -89,6 +91,7 @@ public class XPathMessageSplitterParserTests {
.autowireBeanProperties(this, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, false);
inputChannel.send(docMessage);
assertThat(outputChannel.getQueueSize()).as("Wrong number of split messages ").isEqualTo(2);
ctx.close();
}
@Test
@@ -119,6 +122,7 @@ public class XPathMessageSplitterParserTests {
.as("Splitter failed to create documents ").isInstanceOf(Document.class);
assertThat(outputChannel.receive(1000).getPayload())
.as("Splitter failed to create documents ").isInstanceOf(Document.class);
ctx.close();
}
@Test
@@ -142,6 +146,7 @@ public class XPathMessageSplitterParserTests {
fieldAccessor = new DirectFieldAccessor(handler);
Object documentBuilderFactory = fieldAccessor.getPropertyValue("documentBuilderFactory");
assertThat(documentBuilderFactory).isInstanceOf(DocumentBuilderFactory.class);
ctx.close();
}
@Test
@@ -162,6 +167,7 @@ public class XPathMessageSplitterParserTests {
fieldAccessor = new DirectFieldAccessor(handler);
Object documentBuilderFactory = fieldAccessor.getPropertyValue("documentBuilderFactory");
assertThat(documentBuilderFactory).isInstanceOf(DocumentBuilderFactory.class);
ctx.close();
}
}

View File

@@ -41,6 +41,7 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.PollableChannel;
import org.springframework.messaging.support.GenericMessage;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.util.MultiValueMap;
@@ -55,6 +56,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Artem Bilan
*/
@ContextConfiguration
@DirtiesContext
public class XPathRouterParserTests {
String channelConfig = """

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2023 the original author or authors.
* Copyright 2002-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -37,6 +37,7 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.PollableChannel;
import org.springframework.messaging.support.GenericMessage;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import org.springframework.util.MultiValueMap;
import org.springframework.xml.transform.StringResult;
@@ -51,6 +52,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Artem Bilan
*/
@SpringJUnitConfig
@DirtiesContext
public class XsltPayloadTransformerParserTests {
private static final String doc = """

View File

@@ -31,6 +31,7 @@ import org.springframework.integration.support.MessageBuilder;
import org.springframework.integration.test.util.TestUtils;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import static org.assertj.core.api.Assertions.assertThat;
@@ -42,6 +43,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Artem Bilan
*/
@SpringJUnitConfig
@DirtiesContext
public class XsltTransformerTests {
private final String docAsString = """
@@ -73,9 +75,12 @@ public class XsltTransformerTests {
TestUtils.locateComponentInHistory(history, "paramHeadersWithStartWildCharacter", 0);
assertThat(componentHistoryRecord).isNotNull();
assertThat(componentHistoryRecord.get("type")).isEqualTo("xml:xslt-transformer");
assertThat(resultMessage.getPayload().getClass()).as("Wrong payload type").isEqualTo(String.class);
assertThat(((String) resultMessage.getPayload()).contains("testParamValue")).isTrue();
assertThat(((String) resultMessage.getPayload()).contains("FOO")).isFalse();
assertThat(resultMessage.getPayload())
.as("Wrong payload type")
.isInstanceOf(String.class)
.asString()
.contains("testParamValue")
.doesNotContain("FOO");
}
@Test
@@ -87,9 +92,11 @@ public class XsltTransformerTests {
build();
input.send(message);
Message<?> resultMessage = output.receive();
assertThat(resultMessage.getPayload().getClass()).as("Wrong payload type").isEqualTo(String.class);
assertThat(((String) resultMessage.getPayload()).contains("testParamValue")).isTrue();
assertThat(((String) resultMessage.getPayload()).contains("FOO")).isTrue();
assertThat(resultMessage.getPayload())
.as("Wrong payload type")
.isInstanceOf(String.class)
.asString()
.contains("testParamValue", "FOO");
}
@Test
@@ -101,10 +108,11 @@ public class XsltTransformerTests {
build();
input.send(message);
Message<?> resultMessage = output.receive();
assertThat(resultMessage.getPayload().getClass()).as("Wrong payload type").isEqualTo(String.class);
assertThat(((String) resultMessage.getPayload()).contains("testParamValue")).isTrue();
assertThat(((String) resultMessage.getPayload()).contains("FOO")).isTrue();
assertThat(((String) resultMessage.getPayload()).contains("hello")).isTrue();
assertThat(resultMessage.getPayload())
.as("Wrong payload type")
.isInstanceOf(String.class)
.asString()
.contains("testParamValue", "FOO", "hello");
}
@Test
@@ -116,10 +124,11 @@ public class XsltTransformerTests {
build();
input.send(message);
Message<?> resultMessage = output.receive();
assertThat(resultMessage.getPayload().getClass()).as("Wrong payload type").isEqualTo(String.class);
assertThat(((String) resultMessage.getPayload()).contains("testParamValue")).isTrue();
assertThat(((String) resultMessage.getPayload()).contains("FOO")).isTrue();
assertThat(((String) resultMessage.getPayload()).contains("hello")).isTrue();
assertThat(resultMessage.getPayload())
.as("Wrong payload type")
.isInstanceOf(String.class)
.asString()
.contains("testParamValue", "FOO", "hello");
}
@Test

View File

@@ -35,6 +35,7 @@ import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.PollableChannel;
import org.springframework.messaging.support.GenericMessage;
import org.springframework.oxm.UnmarshallingFailureException;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import org.springframework.xml.transform.StringSource;
@@ -46,6 +47,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
* @author Artem Bilan
*/
@SpringJUnitConfig
@DirtiesContext
public class JaxbMarshallingIntegrationTests {
@Autowired

View File

@@ -32,6 +32,7 @@ import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.MessagingException;
import org.springframework.messaging.PollableChannel;
import org.springframework.messaging.support.GenericMessage;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import org.springframework.xml.xpath.NodeMapper;
@@ -46,6 +47,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException
* @since 3.0
*/
@SpringJUnitConfig
@DirtiesContext
public class XPathTests {
private static final String XML = """