У меня есть проект, в котором мы используем JNDI для запроса записей DNS. Сам проект работает очень сильно, однако я не смог найти простой и независимый способ тестирования JNDI-зависимых компонентов с помощью jUnit.mocking JNDI DNS-интерфейс
Код далеко от науки о ракетах и очень похож на типичный DNS-запрос ванильного JNDI.
В настоящее время я указываю тестовые единицы на общедоступные записи DNS (записи A, MX, TXT), но это своего рода нет.
...
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
env.put("com.sun.jndi.dns.timeout.initial", timeOut);
env.put("com.sun.jndi.dns.timeout.retries", retries);
env.put("java.naming.provider.url", dns:);
}
Attributes attrs;
try {
DirContext ictx = new InitialDirContext(env);
attrs = ictx.getAttributes(queryInput, new String[]{queryType});
return attrs;
} catch (NameNotFoundException e) {
getLogger().debug("Resolution for domain {} failed due to {}", new Object[]{queryInput, e});
attrs = new BasicAttributes(queryType, "NXDOMAIN",true);
return attrs;
Есть ли способ ввода сигналов TXT и A в JNDI?