1 package org.wamblee.xmlrouter.impl;
3 import static junit.framework.Assert.*;
4 import static org.mockito.Matchers.*;
5 import static org.mockito.Mockito.*;
7 import javax.xml.transform.dom.DOMSource;
9 import org.junit.Before;
10 import org.junit.Test;
11 import org.wamblee.xmlrouter.common.Id;
12 import org.wamblee.xmlrouter.config.Transformation;
14 public class RobustTransformationTest {
15 private Transformation transformation;
16 private Transformation robust;
17 private DOMSource source;
18 private DOMSource resSource;
22 transformation = mock(Transformation.class);
23 robust = new RobustTransformation(new Id<Transformation>(100),
25 source = mock(DOMSource.class);
26 resSource = mock(DOMSource.class);
30 public void testNormalFlow() {
31 when(transformation.getFromType()).thenReturn("from");
32 when(transformation.getToType()).thenReturn("to");
34 when(transformation.transform(same(source))).thenReturn(resSource);
36 assertEquals("from", robust.getFromType());
37 assertEquals("to", robust.getToType());
39 assertSame(resSource, robust.transform(source));
43 public void testFromReturnsNull() {
44 when(transformation.getFromType()).thenReturn(null);
45 assertEquals(Constants.UNKNOWN_DOCUMENT_TYPE.toString(),
46 robust.getFromType());
50 public void testToReturnsNull() {
51 when(transformation.getToType()).thenReturn(null);
52 assertEquals(Constants.UNKNOWN_DOCUMENT_TYPE.toString(),
57 public void testFromThrowsException() {
58 doThrow(new RuntimeException("x")).when(transformation).getFromType();
59 assertEquals(Constants.UNKNOWN_DOCUMENT_TYPE.toString(),
60 robust.getFromType());
64 public void testToThrowsException() {
65 doThrow(new RuntimeException("x")).when(transformation).getFromType();
66 assertEquals(Constants.UNKNOWN_DOCUMENT_TYPE.toString(),
67 robust.getFromType());
71 public void testTransformReturnsNull() {
72 when(transformation.transform(any(DOMSource.class))).thenReturn(null);
73 assertEquals(null, robust.transform(source));
77 public void testTransformationThrowsException() {
78 doThrow(new RuntimeException("x")).when(transformation).transform(
79 any(DOMSource.class));
80 assertEquals(null, robust.transform(source));