Upgrade dependencies, including Gradle

* Alongside with existing `springAmqpVersion` & `springVersion`
also expose `springDataVersion` & `springSecurityVersion`
project properties.
These can be used in external CI plans for compatibility builds
* Fix `IntegrationGraphServerTests` for the current state of graph -
The node name is now based on the endpoint id, not a `MH` bean name
* Fix MongoDB tests for compatibility with the latest driver
This commit is contained in:
Artem Bilan
2019-12-27 10:00:36 -05:00
parent fab7741368
commit 9c68ae4a7d
14 changed files with 47 additions and 78 deletions

View File

@@ -19,6 +19,7 @@ package org.springframework.integration.mongodb.rules;
import java.time.Duration;
import org.bson.Document;
import org.bson.UuidRepresentation;
import org.bson.conversions.Bson;
import org.junit.Rule;
@@ -38,6 +39,7 @@ import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty;
import org.springframework.integration.mongodb.outbound.MessageCollectionCallback;
import org.springframework.messaging.Message;
import com.mongodb.MongoClientSettings;
import com.mongodb.MongoException;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
@@ -58,11 +60,15 @@ public abstract class MongoDbAvailableTests {
@Rule
public MongoDbAvailableRule mongoDbAvailableRule = new MongoDbAvailableRule();
public static final MongoDatabaseFactory MONGO_DATABASE_FACTORY =
new SimpleMongoClientDatabaseFactory(
MongoClients.create(
MongoClientSettings.builder().uuidRepresentation(UuidRepresentation.STANDARD).build()),
"test");
protected MongoDatabaseFactory prepareMongoFactory(String... additionalCollectionsToDrop) {
MongoDatabaseFactory mongoDbFactory = new SimpleMongoClientDatabaseFactory(MongoClients.create(), "test");
cleanupCollections(mongoDbFactory, additionalCollectionsToDrop);
return mongoDbFactory;
cleanupCollections(MONGO_DATABASE_FACTORY, additionalCollectionsToDrop);
return MONGO_DATABASE_FACTORY;
}
protected ReactiveMongoDatabaseFactory prepareReactiveMongoFactory(String... additionalCollectionsToDrop) {

View File

@@ -31,7 +31,6 @@ import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.data.mongodb.core.SimpleMongoClientDatabaseFactory;
import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.channel.QueueChannel;
import org.springframework.integration.history.MessageHistory;
@@ -47,8 +46,6 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.support.GenericMessage;
import com.mongodb.client.MongoClients;
/**
* @author Oleg Zhurakousky
* @author Gary Russell
@@ -59,9 +56,6 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
protected final GenericApplicationContext testApplicationContext = TestUtils.createTestApplicationContext();
protected final SimpleMongoClientDatabaseFactory clientDbFactory =
new SimpleMongoClientDatabaseFactory(MongoClients.create(), "test");
@Before
public void setup() {
this.testApplicationContext.refresh();
@@ -70,7 +64,7 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@After
public void tearDown() {
this.testApplicationContext.close();
cleanupCollections(this.clientDbFactory);
cleanupCollections(MONGO_DATABASE_FACTORY);
}
@Test

View File

@@ -28,7 +28,6 @@ import org.junit.Test;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.data.annotation.PersistenceConstructor;
import org.springframework.data.mongodb.core.SimpleMongoClientDatabaseFactory;
import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.history.MessageHistory;
import org.springframework.integration.message.AdviceMessage;
@@ -44,8 +43,6 @@ import org.springframework.messaging.MessagingException;
import org.springframework.messaging.support.ErrorMessage;
import org.springframework.messaging.support.GenericMessage;
import com.mongodb.client.MongoClients;
/**
*
* @author Mark Fisher
@@ -58,9 +55,6 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
protected final GenericApplicationContext testApplicationContext = TestUtils.createTestApplicationContext();
protected final SimpleMongoClientDatabaseFactory clientDbFactory =
new SimpleMongoClientDatabaseFactory(MongoClients.create(), "test");
@Before
public void setup() {
this.testApplicationContext.refresh();
@@ -69,7 +63,7 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
@After
public void tearDown() {
this.testApplicationContext.close();
cleanupCollections(this.clientDbFactory);
cleanupCollections(MONGO_DATABASE_FACTORY);
}
@Test

View File

@@ -47,7 +47,8 @@ public class ConfigurableMongoDbMessageGroupStoreTests extends AbstractMongoDbMe
@Override
protected ConfigurableMongoDbMessageStore getMessageGroupStore() {
ConfigurableMongoDbMessageStore mongoDbMessageStore = new ConfigurableMongoDbMessageStore(this.clientDbFactory);
ConfigurableMongoDbMessageStore mongoDbMessageStore =
new ConfigurableMongoDbMessageStore(MONGO_DATABASE_FACTORY);
mongoDbMessageStore.setApplicationContext(this.testApplicationContext);
mongoDbMessageStore.afterPropertiesSet();
return mongoDbMessageStore;

View File

@@ -3,14 +3,14 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/integration
https://www.springframework.org/schema/integration/spring-integration.xsd
http://www.springframework.org/schema/data/mongo
https://www.springframework.org/schema/data/mongo/spring-mongo.xsd">
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/integration https://www.springframework.org/schema/integration/spring-integration.xsd
http://www.springframework.org/schema/data/mongo https://www.springframework.org/schema/data/mongo/spring-mongo.xsd
http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd">
<mongo:db-factory dbname="test"/>
<util:constant id="mongoDbFactory"
static-field="org.springframework.integration.mongodb.store.ConfigurableMongoDbMessageGroupStoreTests.MONGO_DATABASE_FACTORY"/>
<mongo:auditing/>

View File

@@ -27,7 +27,8 @@ public class ConfigurableMongoDbMessageStoreTests extends AbstractMongoDbMessage
@Override
protected MessageStore getMessageStore() {
ConfigurableMongoDbMessageStore mongoDbMessageStore = new ConfigurableMongoDbMessageStore(this.clientDbFactory);
ConfigurableMongoDbMessageStore mongoDbMessageStore =
new ConfigurableMongoDbMessageStore(MONGO_DATABASE_FACTORY);
mongoDbMessageStore.setApplicationContext(this.testApplicationContext);
mongoDbMessageStore.afterPropertiesSet();
return mongoDbMessageStore;

View File

@@ -32,7 +32,7 @@ public class MongoDbMessageGroupStoreTests extends AbstractMongoDbMessageGroupSt
@Override
protected MongoDbMessageStore getMessageGroupStore() {
MongoDbMessageStore mongoDbMessageStore =
new MongoDbMessageStore(this.clientDbFactory);
new MongoDbMessageStore(MONGO_DATABASE_FACTORY);
mongoDbMessageStore.afterPropertiesSet();
return mongoDbMessageStore;
}

View File

@@ -25,7 +25,6 @@ import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.data.mongodb.core.SimpleMongoClientDatabaseFactory;
import org.springframework.integration.mongodb.rules.MongoDbAvailable;
import org.springframework.integration.mongodb.rules.MongoDbAvailableTests;
import org.springframework.integration.support.MessageBuilder;
@@ -34,8 +33,6 @@ import org.springframework.integration.transformer.ClaimCheckInTransformer;
import org.springframework.integration.transformer.ClaimCheckOutTransformer;
import org.springframework.messaging.Message;
import com.mongodb.client.MongoClients;
/**
* @author Mark Fisher
* @author Artem Bilan
@@ -44,9 +41,6 @@ public class MongoDbMessageStoreClaimCheckIntegrationTests extends MongoDbAvaila
private final GenericApplicationContext testApplicationContext = TestUtils.createTestApplicationContext();
private final SimpleMongoClientDatabaseFactory clientDbFactory =
new SimpleMongoClientDatabaseFactory(MongoClients.create(), "test");
@Before
public void setup() {
this.testApplicationContext.refresh();
@@ -60,7 +54,7 @@ public class MongoDbMessageStoreClaimCheckIntegrationTests extends MongoDbAvaila
@Test
@MongoDbAvailable
public void stringPayload() {
MongoDbMessageStore messageStore = new MongoDbMessageStore(this.clientDbFactory);
MongoDbMessageStore messageStore = new MongoDbMessageStore(MONGO_DATABASE_FACTORY);
messageStore.afterPropertiesSet();
ClaimCheckInTransformer checkin = new ClaimCheckInTransformer(messageStore);
ClaimCheckOutTransformer checkout = new ClaimCheckOutTransformer(messageStore);
@@ -76,7 +70,7 @@ public class MongoDbMessageStoreClaimCheckIntegrationTests extends MongoDbAvaila
@Test
@MongoDbAvailable
public void objectPayload() {
MongoDbMessageStore messageStore = new MongoDbMessageStore(this.clientDbFactory);
MongoDbMessageStore messageStore = new MongoDbMessageStore(MONGO_DATABASE_FACTORY);
messageStore.afterPropertiesSet();
ClaimCheckInTransformer checkin = new ClaimCheckInTransformer(messageStore);
ClaimCheckOutTransformer checkout = new ClaimCheckOutTransformer(messageStore);
@@ -96,7 +90,7 @@ public class MongoDbMessageStoreClaimCheckIntegrationTests extends MongoDbAvaila
@Test
@MongoDbAvailable
public void stringPayloadConfigurable() {
ConfigurableMongoDbMessageStore messageStore = new ConfigurableMongoDbMessageStore(this.clientDbFactory);
ConfigurableMongoDbMessageStore messageStore = new ConfigurableMongoDbMessageStore(MONGO_DATABASE_FACTORY);
messageStore.setApplicationContext(this.testApplicationContext);
messageStore.afterPropertiesSet();
ClaimCheckInTransformer checkin = new ClaimCheckInTransformer(messageStore);
@@ -113,7 +107,7 @@ public class MongoDbMessageStoreClaimCheckIntegrationTests extends MongoDbAvaila
@Test
@MongoDbAvailable
public void objectPayloadConfigurable() {
ConfigurableMongoDbMessageStore messageStore = new ConfigurableMongoDbMessageStore(this.clientDbFactory);
ConfigurableMongoDbMessageStore messageStore = new ConfigurableMongoDbMessageStore(MONGO_DATABASE_FACTORY);
messageStore.setApplicationContext(this.testApplicationContext);
messageStore.afterPropertiesSet();
ClaimCheckInTransformer checkin = new ClaimCheckInTransformer(messageStore);

View File

@@ -39,7 +39,7 @@ public class MongoDbMessageStoreTests extends AbstractMongoDbMessageStoreTests {
@Override
protected MessageStore getMessageStore() {
MongoDbMessageStore mongoDbMessageStore = new MongoDbMessageStore(this.clientDbFactory);
MongoDbMessageStore mongoDbMessageStore = new MongoDbMessageStore(MONGO_DATABASE_FACTORY);
mongoDbMessageStore.afterPropertiesSet();
return mongoDbMessageStore;
}
@@ -47,7 +47,7 @@ public class MongoDbMessageStoreTests extends AbstractMongoDbMessageStoreTests {
@Test
@MongoDbAvailable
public void testCustomConverter() throws InterruptedException {
MongoDbMessageStore mongoDbMessageStore = new MongoDbMessageStore(this.clientDbFactory);
MongoDbMessageStore mongoDbMessageStore = new MongoDbMessageStore(MONGO_DATABASE_FACTORY);
FooToBytesConverter fooToBytesConverter = new FooToBytesConverter();
mongoDbMessageStore.setCustomConverters(fooToBytesConverter);
mongoDbMessageStore.afterPropertiesSet();

View File

@@ -17,18 +17,7 @@
</int:channel>
<bean id="mongoStore" class="org.springframework.integration.mongodb.store.MongoDbMessageStore">
<constructor-arg ref="mongoConnectionFactory"/>
</bean>
<bean id="mongoConnectionFactory" class="org.springframework.data.mongodb.core.SimpleMongoClientDatabaseFactory">
<constructor-arg>
<bean class="org.springframework.data.mongodb.core.MongoClientFactoryBean">
<property name="mongoClientSettings">
<bean class="org.springframework.data.mongodb.core.MongoClientSettingsFactoryBean"/>
</property>
</bean>
</constructor-arg>
<constructor-arg value="test"/>
<constructor-arg value="#{T (org.springframework.integration.mongodb.store.MongoDbMessageGroupStoreTests).MONGO_DATABASE_FACTORY}"/>
</bean>
</beans>

View File

@@ -17,18 +17,8 @@
</int:channel>
<bean id="mongoStore" class="org.springframework.integration.mongodb.store.ConfigurableMongoDbMessageStore">
<constructor-arg ref="mongoConnectionFactory"/>
</bean>
<bean id="mongoConnectionFactory" class="org.springframework.data.mongodb.core.SimpleMongoClientDatabaseFactory">
<constructor-arg>
<bean class="org.springframework.data.mongodb.core.MongoClientFactoryBean">
<property name="mongoClientSettings">
<bean class="org.springframework.data.mongodb.core.MongoClientSettingsFactoryBean"/>
</property>
</bean>
</constructor-arg>
<constructor-arg value="test"/>
<constructor-arg
value="#{T (org.springframework.integration.mongodb.store.ConfigurableMongoDbMessageGroupStoreTests).MONGO_DATABASE_FACTORY}"/>
</bean>
</beans>