package com.lordofthejars.nosqlunit.mongodb.integration; import static com.lordofthejars.nosqlunit.mongodb.MongoDbConfigurationBuilder.mongoDb; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import javax.inject.Inject; import javax.inject.Named; import org.junit.Rule; import org.junit.Test; import com.lordofthejars.nosqlunit.mongodb.MongoDbRule; import com.mongodb.Mongo; public class WhenMultipleMongoObjectsAreAnnotatedWithInject { // @ClassRule // public static ManagedMongoDb managedMongoDb1 = newManagedMongoDbRule().mongodPath("/opt/mongo") // .build(); @Rule public MongoDbRule remoteMongoDbRule1 = new MongoDbRule(mongoDb() .databaseName("test").connectionIdentifier("one").build() ,this); @Rule public MongoDbRule remoteMongoDbRule2 = new MongoDbRule(mongoDb() .databaseName("test").connectionIdentifier("two").build() ,this); @Named("one") @Inject private Mongo mongo1; @Named("two") @Inject private Mongo mongo2; @Test public void mongo_instance_used_in_rule_should_be_injected() throws Throwable { assertThat(mongo1, is(remoteMongoDbRule1.getDatabaseOperation().connectionManager())); assertThat(mongo2, is(remoteMongoDbRule2.getDatabaseOperation().connectionManager())); } }