Я пытаюсь изучить Spring, написав приложение, которое запрашивает информацию из 2 источников LDAP через 2 класса обслуживания.
У меня есть источник ActiveDirectory:
@Component
public class AdLdapService implements LdapService {
@Override
public Optional<LdapMember> getUserById(String accountName) throws Exception {
}
}
, и это настроено используя
@Configuration
public class AdLdapConfiguration {
@Autowired
Environment env;
@Bean("ad-context")
public LdapContextSource contextSource() {
LdapContextSource contextSource = new LdapContextSource();
contextSource.setUrl(env.getRequiredProperty("ldap.ad.url"));
contextSource.setBase(env.getRequiredProperty("ldap.ad.base"));
contextSource.setUserDn(env.getRequiredProperty("ldap.ad.user"));
contextSource.setPassword(env.getRequiredProperty("ldap.ad.password"));
return contextSource;
}
@Bean("ad-template")
public LdapTemplate ldapTemplate() {
return new LdapTemplate(contextSource());
}
}
У меня также есть вторая пара классов для доступа к другому источнику LDAP. Все это прекрасно работает.
Теперь я хочу добавить несколько модульных тестов для тестирования двух сервисов, и вместо использования живого LDAP я подумал, что было бы лучше создать небольшой встроенный LDAP на лету и протестировать его. против этого. Вот где я застрял.
Я хочу создать 2 отдельных LDAP и заполнить их из 2 файлов LDIF. Мои реализации 2 LdapService
должны затем ссылаться на соответствующие встроенные LDAP.
Мои знания Spring все еще очень ограничены, и я не знаю элегантного способа настроить это.