Project

General

Profile

1 43783 sandro.lab
package eu.dnetlib.resolver.store;
2 43618 sandro.lab
3
import java.util.Arrays;
4
import java.util.HashSet;
5
import java.util.Set;
6
7 49184 sandro.lab
8 44356 claudio.at
import eu.dnetlib.dli.resolver.model.CompletionStatus;
9 49184 sandro.lab
import eu.dnetlib.dli.resolver.model.DLIObjectProvenance;
10
import eu.dnetlib.dli.resolver.model.DLIResolvedObject;
11
12 44356 claudio.at
import eu.dnetlib.dli.resolver.model.ObjectProvisionMode;
13 49184 sandro.lab
import eu.dnetlib.pid.resolver.store.ResolverStore;
14 43618 sandro.lab
import org.junit.After;
15
import org.junit.Assert;
16 46682 sandro.lab
import org.junit.Ignore;
17 43618 sandro.lab
import org.junit.Test;
18
import org.springframework.beans.factory.annotation.Autowired;
19
20
/**
21
 * Created by sandro on 9/8/16.
22
 */
23
24 46682 sandro.lab
//@RunWith(SpringJUnit4ClassRunner.class)
25
//@ContextConfiguration(classes = ConfigurationResolverStoreTestConfig.class)
26
@Ignore
27 43618 sandro.lab
public class ResolverStoreTest {
28
29 43783 sandro.lab
	private static Set<String> expectedIndex = new HashSet<>(Arrays.asList("_id", "pid", "pid_type", "resolver", "dnet_identifier"));
30 43618 sandro.lab
31
	@Autowired
32 44356 claudio.at
	private ResolverStore store;
33 43618 sandro.lab
34
	@After
35
	public void dropDown() {
36 43623 sandro.lab
		store.getMongoDatabase().drop();
37 43618 sandro.lab
	}
38
39
	@Test
40
	public void testIndexes() {
41
		store.checkIntegrityCollection();
42
		Set<String> inputSet = new HashSet<>(store.getIndexName());
43
		Assert.assertTrue(inputSet.containsAll(expectedIndex));
44
	}
45
46
	@Test
47
	public void testInsertSingleItem() {
48 49184 sandro.lab
        final DLIResolvedObject expected = createdMockObject("1234", "DOI");
49
        store.insertRecord("Resolver Test", expected);
50
        final DLIResolvedObject doi = (DLIResolvedObject) store.getRecord(expected.getPid(), expected.getPidType());
51
        Assert.assertNotNull(doi);
52 43783 sandro.lab
		doi.getTitles().forEach(it -> Assert.assertTrue(expected.getTitles().contains(it)));
53 43618 sandro.lab
		Assert.assertEquals(doi.getPid(), expected.getPid());
54
		Assert.assertEquals(doi.getPidType(), expected.getPidType());
55
	}
56
57 49184 sandro.lab
    private DLIResolvedObject createdMockObject(final String pid, final String pidType) {
58
        DLIResolvedObject tmp = new DLIResolvedObject();
59
        tmp.setPid(pid);
60 43618 sandro.lab
		tmp.setPidType(pidType);
61 43783 sandro.lab
		tmp.setTitles(Arrays.asList("Titolo 1", "Titolo 2"));
62 49184 sandro.lab
        DLIObjectProvenance p1 = new DLIObjectProvenance("datasource1", ObjectProvisionMode.collected.toString(),
63
                CompletionStatus.complete.toString(), "{pid, pidtype", "01/01/01", true);
64
        DLIObjectProvenance p2 = new DLIObjectProvenance("datasource2", ObjectProvisionMode.collected.toString(),
65
                CompletionStatus.incomplete.toString(), "{pid, pidtype", "02/02/02", true);
66 43618 sandro.lab
		tmp.setDatasourceProvenance(Arrays.asList(p1, p2));
67 43783 sandro.lab
		tmp.setAuthors(Arrays.asList("Author 1", "Author 2"));
68 43618 sandro.lab
		tmp.setDate("20/09/2016");
69
		return tmp;
70
	}
71
72
}