Project

General

Profile

1 6420 rnahf
package edu.ucsb.nceas.metacat.dataone;
2
3
import java.util.Map;
4
5 6424 rnahf
import org.dataone.service.types.v1.Identifier;
6
import org.junit.Before;
7 6420 rnahf
import org.junit.Test;
8
9
import com.hazelcast.core.Hazelcast;
10
import com.hazelcast.core.HazelcastInstance;
11
12
import edu.ucsb.nceas.MCTestCase;
13
14
15
public class HzObjectPathMapTest extends MCTestCase {
16
17
18 6424 rnahf
	@Before
19
	public void setUp() {
20
21
	}
22
23 6420 rnahf
	@Test
24 6424 rnahf
    public void testInstantiation() {
25
        // start a member
26
        HazelcastInstance h1 = Hazelcast.newHazelcastInstance(null);
27
        Map map1 = h1.getMap("hzObjectPath");
28
        assertEquals(99, map1.size());
29
	}
30
31
32
33
34
	@Test public void testProducerConsumer() {
35
		// start a member
36 6420 rnahf
37
		System.getProperties().setProperty("hazelcast.config",
38 6424 rnahf
				"/Users/rnahf/software/workspace/nceas/metacat/" +
39 6420 rnahf
				"test/edu/ucsb/nceas/metacat/dataone/hazelcast.test.properties.xml");
40 6424 rnahf
		HazelcastInstance h1 = Hazelcast.newHazelcastInstance(null);
41
		Map serverMap = h1.getMap("hzObjectPath");
42
43
44
		System.getProperties().setProperty("hazelcast.hzObjectPathRole","consumer");
45
46
		HazelcastInstance h2 = Hazelcast.newHazelcastInstance(null);
47
		Map clientMap = h2.getMap("hzObjectPath");
48
49
50
		System.out.println(serverMap.get(createIdentifier("testID.35")));
51
		System.out.println(serverMap.get(createIdentifier("testID.23434")));
52
53
		String pathValue = (String) clientMap.get(createIdentifier("testID.35"));
54
55
		System.out.println("pathValue: " + pathValue);
56
		assertEquals("/path/testID.35", pathValue);
57
	}
58 6420 rnahf
59
60 6424 rnahf
61
	private Identifier createIdentifier(String idValue) {
62
		Identifier id = new Identifier();
63
		id.setValue(idValue);
64
		return id;
65
	}
66
67 6420 rnahf
}