+++ /dev/null
-/*
- * Copyright 2005-2010 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.wamblee.test.jndi;
-
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
-
-import javax.naming.InitialContext;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.wamblee.test.jndi.JndiProxyFactory;
-import org.wamblee.test.jndi.StubInitialContextFactory;
-import org.wamblee.test.jndi.JndiProxyFactory.JndiWiringException;
-
-public class JndiProxyFactoryTest {
-
- private static final String NAA_NA_NA_NAA_NA = "naa, na, na, naa, na";
-
- private static interface MyInterface {
- int execute();
- }
-
- private static final String JNDI = "jndi/xyz";
- private MyInterface intf;
- private InitialContext ctx;
- private MyInterface proxy;
-
- @Before
- public void setUp() throws Exception {
- StubInitialContextFactory.register();
- intf = mock(MyInterface.class);
- ctx = new InitialContext();
- JndiProxyFactory<MyInterface> factory = new JndiProxyFactory<MyInterface>(
- MyInterface.class, JNDI);
- proxy = factory.getProxy();
- }
-
- @After
- public void tearDown() throws Exception {
- StubInitialContextFactory.unregister();
- }
-
- @Test
- public void testFoundAtJndi() throws Exception {
- ctx.bind(JNDI, intf);
- when(intf.execute()).thenReturn(1);
- assertEquals(1, proxy.execute());
-
- }
-
- @Test(expected = JndiWiringException.class)
- public void testNotFoundAtJndi() {
- proxy.execute();
- }
-
- @Test(expected = JndiWiringException.class)
- public void testWrongTypeAtJndi() throws Exception {
- ctx.bind(JNDI, "a string type");
- when(intf.execute()).thenReturn(1);
- assertEquals(1, proxy.execute());
- }
-
- @Test(expected = JndiWiringException.class )
- public void testNullAtJndi() throws Exception {
- ctx.bind(JNDI, null);
- when(intf.execute()).thenReturn(1);
- assertEquals(1, proxy.execute());
- }
-
- @Test
- public void testFoundButInvocationThrowsException() throws Exception {
- ctx.bind(JNDI, intf);
- when(intf.execute()).thenThrow(new RuntimeException(NAA_NA_NA_NAA_NA));
- try{
- proxy.execute();
- } catch (RuntimeException e) {
- assertEquals(NAA_NA_NA_NAA_NA, e.getMessage());
- }
- }
-
-}