@Test public void testLookupWithExpectedTypeAndNoMatch() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); jof.setJndiTemplate(new ExpectedLookupTemplate("foo", new Object())); jof.setJndiName("foo"); jof.setExpectedType(String.class); try { jof.afterPropertiesSet(); fail("Should have thrown NamingException"); } catch (NamingException ex) { assertTrue(ex.getMessage().contains("java.lang.String")); } }
@Test public void testLazyLookupWithoutProxyInterface() throws NamingException { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); jof.setJndiName("foo"); jof.setLookupOnStartup(false); try { jof.afterPropertiesSet(); fail("Should have thrown IllegalStateException"); } catch (IllegalStateException ex) { // expected } }
@Test public void testLookupWithSchemeNameAndResourceRefFalse() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); Object o = new Object(); jof.setJndiTemplate(new ExpectedLookupTemplate("java:foo", o)); jof.setJndiName("java:foo"); jof.setResourceRef(false); jof.afterPropertiesSet(); assertTrue(jof.getObject() == o); }
@Test public void testLookupWithFullNameAndResourceRefFalse() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); Object o = new Object(); jof.setJndiTemplate(new ExpectedLookupTemplate("java:comp/env/foo", o)); jof.setJndiName("java:comp/env/foo"); jof.setResourceRef(false); jof.afterPropertiesSet(); assertTrue(jof.getObject() == o); }
@Test public void testLookupWithArbitraryNameAndResourceRefFalse() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); Object o = new Object(); jof.setJndiTemplate(new ExpectedLookupTemplate("foo", o)); jof.setJndiName("foo"); jof.setResourceRef(false); jof.afterPropertiesSet(); assertTrue(jof.getObject() == o); }
@Test public void testLookupWithFullNameAndResourceRefTrue() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); Object o = new Object(); jof.setJndiTemplate(new ExpectedLookupTemplate("java:comp/env/foo", o)); jof.setJndiName("java:comp/env/foo"); jof.setResourceRef(true); jof.afterPropertiesSet(); assertTrue(jof.getObject() == o); }
@Test public void testLookupWithShortNameAndResourceRefFalse() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); Object o = new Object(); jof.setJndiTemplate(new ExpectedLookupTemplate("java:comp/env/foo", o)); jof.setJndiName("foo"); jof.setResourceRef(false); try { jof.afterPropertiesSet(); fail("Should have thrown NamingException"); } catch (NamingException ex) { // expected } }
@Test public void testLookupWithSchemeNameAndResourceRefTrue() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); Object o = new Object(); jof.setJndiTemplate(new ExpectedLookupTemplate("java:foo", o)); jof.setJndiName("java:foo"); jof.setResourceRef(true); jof.afterPropertiesSet(); assertTrue(jof.getObject() == o); }
@Test public void testLookupWithShortNameAndResourceRefTrue() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); Object o = new Object(); jof.setJndiTemplate(new ExpectedLookupTemplate("java:comp/env/foo", o)); jof.setJndiName("foo"); jof.setResourceRef(true); jof.afterPropertiesSet(); assertTrue(jof.getObject() == o); }
@Test public void testLookupWithProxyInterfaceAndExpectedTypeAndNoMatch() { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); TestBean tb = new TestBean(); jof.setJndiTemplate(new ExpectedLookupTemplate("foo", tb)); jof.setJndiName("foo"); jof.setExpectedType(DerivedTestBean.class); jof.setProxyInterface(ITestBean.class); try { jof.afterPropertiesSet(); fail("Should have thrown NamingException"); } catch (NamingException ex) { assertTrue(ex.getMessage().contains("org.springframework.tests.sample.beans.DerivedTestBean")); } }
@Test public void testLookupWithDefaultObjectAndExpectedTypeConversion() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); jof.setJndiTemplate(new ExpectedLookupTemplate("foo", "")); jof.setJndiName("myFoo"); jof.setExpectedType(Integer.class); jof.setDefaultObject("5"); jof.afterPropertiesSet(); assertEquals(new Integer(5), jof.getObject()); }
@Test public void testNotCacheWithoutProxyInterface() throws NamingException { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); jof.setJndiName("foo"); jof.setCache(false); jof.setLookupOnStartup(false); try { jof.afterPropertiesSet(); fail("Should have thrown IllegalStateException"); } catch (IllegalStateException ex) { // expected } }
@Test public void testLookupWithDefaultObjectAndExpectedTypeConversionViaBeanFactory() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); jof.setJndiTemplate(new ExpectedLookupTemplate("foo", "")); jof.setJndiName("myFoo"); jof.setExpectedType(Integer.class); jof.setDefaultObject("5"); jof.setBeanFactory(new DefaultListableBeanFactory()); jof.afterPropertiesSet(); assertEquals(new Integer(5), jof.getObject()); }
@Test public void testLookupWithExpectedTypeAndMatch() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); String s = ""; jof.setJndiTemplate(new ExpectedLookupTemplate("foo", s)); jof.setJndiName("foo"); jof.setExpectedType(String.class); jof.afterPropertiesSet(); assertTrue(jof.getObject() == s); }
@Test public void testLookupWithDefaultObjectAndExpectedType() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); jof.setJndiTemplate(new ExpectedLookupTemplate("foo", "")); jof.setJndiName("myFoo"); jof.setExpectedType(String.class); jof.setDefaultObject("myString"); jof.afterPropertiesSet(); assertEquals("myString", jof.getObject()); }
@Test public void testLookupWithDefaultObjectAndExpectedTypeNoMatch() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); jof.setJndiTemplate(new ExpectedLookupTemplate("foo", "")); jof.setJndiName("myFoo"); jof.setExpectedType(Boolean.class); jof.setDefaultObject("5"); try { jof.afterPropertiesSet(); fail("Should have thrown IllegalArgumentException"); } catch (IllegalArgumentException ex) { // expected } }
@Test public void testLookupWithDefaultObject() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); jof.setJndiTemplate(new ExpectedLookupTemplate("foo", "")); jof.setJndiName("myFoo"); jof.setExpectedType(String.class); jof.setDefaultObject("myString"); jof.afterPropertiesSet(); assertEquals("myString", jof.getObject()); }
@Test public void testLookupWithProxyInterfaceAndDefaultObject() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); TestBean tb = new TestBean(); jof.setJndiTemplate(new ExpectedLookupTemplate("foo", tb)); jof.setJndiName("myFoo"); jof.setProxyInterface(ITestBean.class); jof.setDefaultObject(Boolean.TRUE); try { jof.afterPropertiesSet(); fail("Should have thrown IllegalArgumentException"); } catch (IllegalArgumentException ex) { // expected } }
@Test public void testLookupWithProxyInterface() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); TestBean tb = new TestBean(); jof.setJndiTemplate(new ExpectedLookupTemplate("foo", tb)); jof.setJndiName("foo"); jof.setProxyInterface(ITestBean.class); jof.afterPropertiesSet(); assertTrue(jof.getObject() instanceof ITestBean); ITestBean proxy = (ITestBean) jof.getObject(); assertEquals(0, tb.getAge()); proxy.setAge(99); assertEquals(99, tb.getAge()); }
@Test public void testLookupWithProxyInterfaceAndExpectedTypeAndMatch() throws Exception { JndiObjectFactoryBean jof = new JndiObjectFactoryBean(); TestBean tb = new TestBean(); jof.setJndiTemplate(new ExpectedLookupTemplate("foo", tb)); jof.setJndiName("foo"); jof.setExpectedType(TestBean.class); jof.setProxyInterface(ITestBean.class); jof.afterPropertiesSet(); assertTrue(jof.getObject() instanceof ITestBean); ITestBean proxy = (ITestBean) jof.getObject(); assertEquals(0, tb.getAge()); proxy.setAge(99); assertEquals(99, tb.getAge()); }