package denominator; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; import denominator.Credentials.MapCredentials; import static denominator.CredentialsConfiguration.credentials; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.junit.Assume.assumeFalse; @RunWith(Live.class) public class CheckConnectionLiveTest { @Parameterized.Parameter public DNSApiManager manager; @Test public void success() { assertTrue(manager.checkConnection()); } @Test public void failGracefullyOnIncorrectCredentials() { assumeFalse("This test only applies to providers that authenticate", manager.provider().credentialTypeToParameterNames().isEmpty()); Collection<String> parameters = manager.provider().credentialTypeToParameterNames().values().iterator().next(); Map<String, String> creds = new LinkedHashMap<String, String>(parameters.size()); for (String parameter : parameters) { creds.put(parameter, "foo"); } DNSApiManager incorrectCredentials = Denominator.create(manager.provider(), credentials(MapCredentials.from(creds))); assertFalse(incorrectCredentials.checkConnection()); } }