protected Fixture createFixture(File ctxFile) throws Exception { Fixture fixture = new Fixture(); fixture.ctx = new FileSystemXmlApplicationContext("file:" + ctxFile.getAbsolutePath()); fixture.config = (LdapConfig) fixture.ctx.getBean("config"); Map<String, LdapContextSource> sources = fixture.ctx.getBeansOfType(LdapContextSource.class); LdapContextSource source = sources.values().iterator().next(); String[] urls = source.getUrls(); assertEquals(1, urls.length); fixture.template = new LdapTemplate(source); fixture.role = mock(RoleProvider.class); RoleProvider provider = (RoleProvider) fixture.role.proxy(); fixture.sql = mock(SqlAction.class); SqlAction sql = (SqlAction) fixture.sql.proxy(); fixture.queryMock = mock(LocalQuery.class); fixture.query = (LocalQuery) fixture.queryMock.proxy(); fixture.queryMock.expects(once()).method("findByString").will(returnValue(null)); fixture.ldap = new LdapImpl(source, fixture.template, new Roles(), fixture.config, provider, sql); fixture.ldap.setQueryService(fixture.query); fixture.provider = new LdapPasswordProvider(new PasswordUtil(sql), fixture.ldap); return fixture; }