Project

General

Profile

1
package eu.dnetlib.msro.openaireplus.workflows.nodes.dhp.message;
2

    
3
import static org.junit.Assert.assertEquals;
4
import static org.junit.Assert.assertTrue;
5

    
6
import org.junit.Before;
7
import org.junit.Test;
8

    
9
import eu.dnetlib.dhp.message.Message;
10
import eu.dnetlib.msro.rmi.MSROException;
11

    
12
public class DnetMessageManagerTest {
13

    
14
	private DnetMessageManager manager;
15

    
16
	private static final int MAX_N_MESSAGES = 10;
17

    
18
	@Before
19
	public void setUp() throws Exception {
20
		manager = new DnetMessageManager();
21
		manager.setMaxNumberOfMessages(MAX_N_MESSAGES);
22
	}
23

    
24
	@Test
25
	public void testRegisterMessage_multi_wfs() throws MSROException {
26
		for (long i = 0; i < MAX_N_MESSAGES; i++) {
27
			manager.registerMessage(prepareMessage("wf-" + i));
28
			assertTrue(manager.getMessages().size() <= MAX_N_MESSAGES);
29
		}
30

    
31
		for (long i = MAX_N_MESSAGES; i < 200; i++) {
32
			manager.registerMessage(prepareMessage("wf-" + i));
33
			assertEquals(MAX_N_MESSAGES, manager.getMessages().size());
34
		}
35
	}
36

    
37
	@Test
38
	public void testRegisterMessage_single_wf() throws MSROException {
39
		for (long i = 0; i < 100; i++) {
40
			manager.registerMessage(prepareMessage("wf-xxxx"));
41
			assertEquals(1, manager.getMessages().size());
42
		}
43
	}
44

    
45
	private Message prepareMessage(final String wfId) {
46
		final Message msg = new Message();
47
		msg.setWorkflowId(wfId);
48
		return msg;
49
	}
50

    
51
}
    (1-1/1)