Project

General

Profile

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
}
(1-1/2)