1 10 11 package org.mule.tck.providers; 12 13 import org.mule.impl.RequestContext; 14 import org.mule.tck.AbstractMuleTestCase; 15 import org.mule.umo.MessagingException; 16 import org.mule.umo.provider.MessageTypeNotSupportedException; 17 import org.mule.umo.provider.UMOMessageAdapter; 18 19 22 public abstract class AbstractMessageAdapterTestCase extends AbstractMuleTestCase 23 { 24 protected void doSetUp() throws Exception 25 { 26 RequestContext.setEvent(getTestEvent("hello")); 27 } 28 29 protected void doTearDown() throws Exception 30 { 31 RequestContext.clear(); 32 } 33 34 protected void doTestMessageEqualsPayload(Object message, Object payload) throws Exception 35 { 36 assertEquals(message, payload); 37 } 38 39 public void testMessageRetrieval() throws Exception 40 { 41 Object message = getValidMessage(); 42 UMOMessageAdapter adapter = createAdapter(message); 43 44 doTestMessageEqualsPayload(message, adapter.getPayload()); 45 46 byte[] bytes = adapter.getPayloadAsBytes(); 47 assertNotNull(bytes); 48 49 String stringMessage = adapter.getPayloadAsString(); 50 assertNotNull(stringMessage); 51 52 assertNotNull(adapter.getPayload()); 53 54 try 55 { 56 adapter = createAdapter(getInvalidMessage()); 57 fail("Message adapter should throw MessageTypeNotSupportedException if an invalid message is set"); 58 } 59 catch (MessageTypeNotSupportedException e) 60 { 61 } 63 } 64 65 public void testMessageProps() throws Exception 66 { 67 UMOMessageAdapter adapter = createAdapter(getValidMessage()); 68 69 adapter.setProperty("TestString", "Test1"); 70 adapter.setProperty("TestLong", new Long (20000000)); 71 adapter.setProperty("TestInt", new Integer (200000)); 72 assertNotNull(adapter.getPropertyNames()); 73 74 Object prop = adapter.getProperty("TestString"); 75 assertNotNull(prop); 76 assertEquals("Test1", prop); 77 78 prop = adapter.getProperty("TestLong"); 79 assertNotNull(prop); 80 assertEquals(new Long (20000000), prop); 81 82 prop = adapter.getProperty("TestInt"); 83 assertNotNull(prop); 84 assertEquals(new Integer (200000), prop); 85 } 86 87 public Object getInvalidMessage() 88 { 89 return new InvalidMessage(); 90 } 91 92 public abstract Object getValidMessage() throws Exception ; 93 94 public abstract UMOMessageAdapter createAdapter(Object payload) throws MessagingException; 95 96 final class InvalidMessage 97 { 98 public String toString() 99 { 100 return "invalid message"; 101 } 102 } 103 104 } 105 | Popular Tags |