1 package org.jellyfish.implementation; 2 3 import javax.naming.NamingException; 4 import javax.naming.directory.BasicAttributes; 5 6 import junit.framework.TestCase; 7 import mock.javax.naming.directory.DirContextMock; 8 import mock.org.apache.avalon.framework.logger.LoggerMock; 9 import mock.org.apache.avalon.framework.service.ServiceManagerMock.ServiceManagerMock; 10 11 import org.jellyfish.ConnectionManager; 12 import org.jellyfish.ConnectionManagerMock; 13 import org.jellyfish.MappingManager; 14 import org.jellyfish.MappingManagerMock; 15 import org.jellyfish.model.Person; 16 17 public class BeanConverterTest extends TestCase { 18 private ConverterDefault converter; 19 private ServiceManagerMock serviceManagerMock; 20 private MappingManagerMock mappingManagerMock; 21 private ConnectionManagerMock connectionManagerMock; 22 private LoggerMock loggerMock; 23 24 public BeanConverterTest(String arg0) { 25 super(arg0); 26 } 27 28 protected void setUp() throws Exception { 29 serviceManagerMock = new ServiceManagerMock(); 30 mappingManagerMock = new MappingManagerMock(); 31 serviceManagerMock.lookupMap.put( 32 MappingManager.ROLE, 33 mappingManagerMock); 34 connectionManagerMock = new ConnectionManagerMock(); 35 serviceManagerMock.lookupMap.put( 36 ConnectionManager.ROLE, 37 connectionManagerMock); 38 converter = new ConverterDefault(); 39 converter.service(serviceManagerMock); 40 loggerMock = new LoggerMock(); 41 converter.enableLogging(loggerMock); 42 } 43 44 public void testConvert() { 45 String dn = "cn=jed,ou=people,ou=jellyfish,dc=jellyfish,dc=org"; 46 connectionManagerMock.getContextReturn = new DirContextMock(); 47 connectionManagerMock.getContextReturn.getAttributesReturn = 48 new BasicAttributes(); 49 50 converter.convert(Person.class, dn); 51 52 assertTrue(connectionManagerMock.getContextCalled); 53 assertTrue(mappingManagerMock.mapFromAttributesCalled); 54 } 55 56 public void testConvertNullContext() { 57 String dn = "cn=jed,ou=people,ou=jellyfish,dc=jellyfish,dc=org"; 58 connectionManagerMock.getContextReturn = null; 59 60 converter.convert(Person.class, dn); 61 62 assertTrue(connectionManagerMock.getContextCalled); 63 assertFalse(mappingManagerMock.mapFromAttributesCalled); 64 } 65 66 public void testConvertNullAttributesReturned() { 67 String dn = "cn=jed,ou=people,ou=jellyfish,dc=jellyfish,dc=org"; 68 connectionManagerMock.getContextReturn = new DirContextMock(); 69 connectionManagerMock.getContextReturn.getAttributesReturn = null; 70 71 Person person = (Person) converter.convert(Person.class, dn); 72 73 assertTrue(connectionManagerMock.getContextCalled); 74 assertTrue(mappingManagerMock.mapFromAttributesCalled); 75 assertNull(person); 76 } 77 78 public void testConvertNameNotFound() { 79 String dn = "NONEXISTENTNAME"; 80 connectionManagerMock.getContextReturn = new DirContextMock(); 81 connectionManagerMock.getContextReturn.getAttributesNamingException = 82 new NamingException(); 83 84 assertNull(converter.convert(Person.class, dn)); 85 86 assertTrue(connectionManagerMock.getContextCalled); 87 assertFalse(mappingManagerMock.mapFromAttributesCalled); 88 assertTrue(loggerMock.fatalErrorCalled); 89 } 90 }

This page was automatically generated by Maven