X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fgeneral%2FLookupProxyFactoryTest.java;h=5dbf81ad3a78a3105b569e2355599d3cbe9e37b2;hb=66d09690a9c113766d63df4e7623534fb278f265;hp=c7650906ffa2488103a72c606fcd8a6d93aca105;hpb=8e20b580861e4aec9cdce7968db2f65e6bff99ca;p=utils diff --git a/support/general/src/test/java/org/wamblee/general/LookupProxyFactoryTest.java b/support/general/src/test/java/org/wamblee/general/LookupProxyFactoryTest.java index c7650906..5dbf81ad 100644 --- a/support/general/src/test/java/org/wamblee/general/LookupProxyFactoryTest.java +++ b/support/general/src/test/java/org/wamblee/general/LookupProxyFactoryTest.java @@ -18,6 +18,8 @@ package org.wamblee.general; import static org.junit.Assert.*; import static org.mockito.Mockito.*; +import java.io.Serializable; + import javax.naming.InitialContext; import org.junit.After; @@ -93,5 +95,38 @@ public class LookupProxyFactoryTest { assertEquals(NAA_NA_NA_NAA_NA, e.getMessage()); } } + + private static final class MyLookup implements Lookup { + + @Override + public Object lookup() throws Exception { + return new MyInterface() { + + @Override + public int execute() { + return 10; + } + }; + } + } + + @Test + public void testProxyMustBerializable() throws Exception { + lookup = new MyLookup(); + LookupProxyFactory factory = new LookupProxyFactory( + MyInterface.class, lookup); + proxy = factory.getProxy(); + + assertEquals(10, proxy.execute()); + + assertTrue(proxy instanceof Serializable); + + proxy = ObjectSerializationUtils.deserialize(ObjectSerializationUtils.serialize(proxy), + MyInterface.class); + + // and it should still work + assertEquals(10, proxy.execute()); + } + }