initial versions.
[xmlrouter] / impl / src / test / java / org / wamblee / xmlrouter / impl / RobustFilterTest.java
1 package org.wamblee.xmlrouter.impl;
2
3 import static junit.framework.Assert.*;
4 import static org.mockito.Matchers.*;
5 import static org.mockito.Mockito.*;
6
7 import javax.xml.transform.dom.DOMSource;
8
9 import org.junit.Before;
10 import org.junit.Test;
11 import org.wamblee.xmlrouter.common.Id;
12 import org.wamblee.xmlrouter.config.Filter;
13
14 public class RobustFilterTest {
15
16     private Filter filter;
17     private Filter robust;
18     private DOMSource source;
19
20     @Before
21     public void setUp() {
22         filter = mock(Filter.class);
23         robust = new RobustFilter(new Id<Filter>(10), filter);
24         source = mock(DOMSource.class);
25     }
26
27     @Test
28     public void testNoEzception() {
29         when(filter.isAllowed(anyString(), any(DOMSource.class))).thenReturn(
30             true);
31         assertTrue(robust.isAllowed("xx", source));
32         verify(filter).isAllowed(eq("xx"), same(source));
33
34         reset(filter);
35         when(filter.isAllowed(anyString(), any(DOMSource.class))).thenReturn(
36             false);
37         assertFalse(robust.isAllowed("xx", source));
38         verify(filter).isAllowed(eq("xx"), same(source));
39     }
40
41     @Test
42     public void testException() {
43         doThrow(new RuntimeException("bla")).when(filter).isAllowed(
44             anyString(), any(DOMSource.class));
45         assertTrue(robust.isAllowed("xx", source));
46         verify(filter).isAllowed(eq("xx"), same(source));
47
48     }
49 }