1 package org.objectweb.celtix.bus.context; 2 3 4 import java.io.InputStream ; 5 import java.io.OutputStream ; 6 7 import javax.xml.ws.handler.MessageContext; 8 9 import org.easymock.classextension.EasyMock; 10 import org.objectweb.celtix.context.GenericMessageContext; 11 import org.objectweb.celtix.context.InputStreamMessageContext; 12 import org.objectweb.celtix.context.MessageContextWrapper; 13 import org.objectweb.celtix.context.OutputStreamMessageContext; 14 import org.objectweb.celtix.context.StreamMessageContext; 15 16 17 public class StreamMessageContextImplTest extends AbstractMessageContextTestBase 18 { 19 private final GenericMessageContext base = new GenericMessageContext(); 20 21 @Override 22 protected MessageContext getMessageContext() { 23 return new StreamMessageContextImpl(new ToyInputStreamMessageContext(base)); 24 } 25 26 public void testContextWithInputStream() { 27 28 InputStream inStream = EasyMock.createMock(InputStream .class); 29 InputStreamMessageContext inctx = EasyMock.createMock(InputStreamMessageContext.class); 30 31 inctx.getInputStream(); 32 org.easymock.EasyMock.expectLastCall().andReturn(inStream); 33 34 StreamMessageContext ctx = new StreamMessageContextImpl(inctx); 35 36 EasyMock.replay(inctx); 37 assertSame(inStream, ctx.getInputStream()); 38 EasyMock.verify(inctx); 39 40 EasyMock.reset(inctx); 41 InputStream in2 = EasyMock.createMock(InputStream .class); 42 inctx.setInputStream(in2); 43 EasyMock.replay(inctx); 44 ctx.setInputStream(in2); 45 46 EasyMock.verify(inctx); 47 48 } 49 50 public void testContextWithOutputStream() { 51 52 OutputStream outStream = EasyMock.createMock(OutputStream .class); 53 OutputStreamMessageContext outctx = EasyMock.createMock(OutputStreamMessageContext.class); 54 55 outctx.getOutputStream(); 56 org.easymock.EasyMock.expectLastCall().andReturn(outStream); 57 58 StreamMessageContext ctx = new StreamMessageContextImpl(outctx); 59 60 EasyMock.replay(outctx); 61 assertSame(outStream, ctx.getOutputStream()); 62 EasyMock.verify(outctx); 63 64 EasyMock.reset(outctx); 65 OutputStream out2 = EasyMock.createMock(OutputStream .class); 66 outctx.setOutputStream(out2); 67 EasyMock.replay(outctx); 68 ctx.setOutputStream(out2); 69 70 EasyMock.verify(outctx); 71 } 72 73 74 public void testContextWithOutputStreamInvokeInputStream() { 75 76 OutputStreamMessageContext outctx = EasyMock.createMock(OutputStreamMessageContext.class); 77 StreamMessageContext ctx = new StreamMessageContextImpl(outctx); 78 79 try { 80 ctx.getInputStream(); 81 fail("did not get expected exception"); 82 } catch (IllegalStateException ex) { 83 } 85 86 try { 87 ctx.setInputStream(EasyMock.createMock(InputStream .class)); 88 fail("did not get expected exception"); 89 } catch (IllegalStateException ex) { 90 } 92 } 93 94 95 public void testContextWithInputStreamInvokeOutputStream() { 96 97 InputStreamMessageContext inctx = EasyMock.createMock(InputStreamMessageContext.class); 98 StreamMessageContext ctx = new StreamMessageContextImpl(inctx); 99 100 try { 101 ctx.getOutputStream(); 102 fail("did not get expected exception"); 103 } catch (IllegalStateException ex) { 104 } 106 107 try { 108 ctx.setOutputStream(EasyMock.createMock(OutputStream .class)); 109 fail("did not get expected exception"); 110 } catch (IllegalStateException ex) { 111 } 113 } 114 115 public void testContrcutorNullInput() { 116 117 try { 118 new StreamMessageContextImpl((InputStreamMessageContext)null); 119 fail("did not get expected expcetion"); 120 } catch (NullPointerException ex) { 121 } 123 } 124 125 126 public void testContrcutorNullOutput() { 127 128 try { 129 new StreamMessageContextImpl((OutputStreamMessageContext)null); 130 fail("did not get expected expcetion"); 131 } catch (NullPointerException ex) { 132 } 134 } 135 136 static class ToyInputStreamMessageContext extends MessageContextWrapper 137 implements InputStreamMessageContext { 138 private static final long serialVersionUID = 1; 139 140 ToyInputStreamMessageContext(MessageContext wrapped) { 141 super(wrapped); 142 } 143 144 public InputStream getInputStream() { 145 return null; 146 } 147 148 public void setInputStream(InputStream ins) { 149 } 150 151 public boolean isFault() { 152 return false; 153 } 154 155 public void setFault(boolean b) { 156 } 157 } 158 159 } | Popular Tags |