1
|
package eu.dnetlib.resolver.store;
|
2
|
|
3
|
import java.io.IOException;
|
4
|
import java.net.UnknownHostException;
|
5
|
|
6
|
import com.mongodb.MongoClient;
|
7
|
|
8
|
import de.flapdoodle.embed.mongo.MongodExecutable;
|
9
|
import de.flapdoodle.embed.mongo.MongodStarter;
|
10
|
import de.flapdoodle.embed.mongo.config.IMongodConfig;
|
11
|
import de.flapdoodle.embed.mongo.config.MongoCmdOptionsBuilder;
|
12
|
import de.flapdoodle.embed.mongo.config.MongodConfigBuilder;
|
13
|
import de.flapdoodle.embed.mongo.config.Net;
|
14
|
import de.flapdoodle.embed.mongo.distribution.Version;
|
15
|
import de.flapdoodle.embed.process.runtime.Network;
|
16
|
import eu.dnetlib.dli.resolver.DLIResolvedObjectFactory;
|
17
|
import eu.dnetlib.pid.resolver.store.ResolverStore;
|
18
|
import org.springframework.context.annotation.Bean;
|
19
|
import org.springframework.context.annotation.Configuration;
|
20
|
|
21
|
@Configuration
|
22
|
public class ConfigurationResolverStoreTestConfig {
|
23
|
|
24
|
@Bean
|
25
|
public MongoClient mongoClient() throws IOException {
|
26
|
MongodStarter starter = MongodStarter.getDefaultInstance();
|
27
|
String bindIp = "localhost";
|
28
|
int port = 54321;
|
29
|
IMongodConfig mongodConfig = new MongodConfigBuilder()
|
30
|
.version(Version.Main.PRODUCTION)
|
31
|
.net(new Net(bindIp, port, Network.localhostIsIPv6()))
|
32
|
.cmdOptions(new MongoCmdOptionsBuilder()
|
33
|
.useNoJournal(false)
|
34
|
.build())
|
35
|
.build();
|
36
|
MongodExecutable mongodExecutable = starter.prepare(mongodConfig);
|
37
|
mongodExecutable.start();
|
38
|
|
39
|
return new MongoClient(bindIp, port);
|
40
|
}
|
41
|
|
42
|
@Bean
|
43
|
public ResolverStore resolverStore() throws IOException {
|
44
|
|
45
|
ResolverStore store = new ResolverStore();
|
46
|
store.setMongoClient(mongoClient());
|
47
|
store.setDatabaseName("mdstore_test");
|
48
|
store.setCollectionName("resolverStore");
|
49
|
|
50
|
return store;
|
51
|
}
|
52
|
|
53
|
@Bean
|
54
|
public DLIResolvedObjectFactory resolvedObjectFactory() {
|
55
|
return new DLIResolvedObjectFactory();
|
56
|
}
|
57
|
|
58
|
}
|