Project

General

Profile

1
package edu.ucsb.nceas.metacat.dataone;
2

    
3
import java.util.Map;
4

    
5
import org.dataone.service.types.v1.Identifier;
6
import org.junit.Before;
7
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
	@Before
19
	public void setUp() {
20
		
21
	}
22
	
23
	@Test
24
    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
		
37
		System.getProperties().setProperty("hazelcast.config",
38
				"/Users/rnahf/software/workspace/nceas/metacat/" +
39
				"test/edu/ucsb/nceas/metacat/dataone/hazelcast.test.properties.xml");
40
		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
	
59
	
60
		
61
	private Identifier createIdentifier(String idValue) {
62
		Identifier id = new Identifier();
63
		id.setValue(idValue);
64
		return id;
65
	}
66

    
67
}
(3-3/8)