package com.braintreegateway.unittest; import com.braintreegateway.*; import com.braintreegateway.exceptions.ConfigurationException; import com.braintreegateway.testhelpers.TestHelper; import org.junit.Before; import org.junit.Test; import java.net.InetSocketAddress; import java.net.Proxy; import java.util.*; import static org.junit.Assert.*; public class ConfigurationTest { @Test public void testStringEnvironmentConstructor() { Configuration configuration = new Configuration("development", "merchant_id", "public_key", "private_key"); assertEquals(Environment.DEVELOPMENT, configuration.getEnvironment()); } @Test(expected=ConfigurationException.class) public void configurationThrowsErrorOnNullMerchantId() { Configuration configuration = new Configuration(Environment.DEVELOPMENT, null, "integration_public_key", "integration_private_key"); } @Test(expected=ConfigurationException.class) public void configurationThrowsErrorOnEmptyMerchantId() { Configuration configuration = new Configuration(Environment.DEVELOPMENT, "", "integration_public_key", "integration_private_key"); } @Test(expected=ConfigurationException.class) public void configurationThrowsErrorOnNullPublicKey() { Configuration configuration = new Configuration(Environment.DEVELOPMENT, "merchant_id", null, "integration_private_key"); } @Test(expected=ConfigurationException.class) public void configurationThrowsErrorOnEmptyPublicKey() { Configuration configuration = new Configuration(Environment.DEVELOPMENT, "merchant_id", "", "integration_private_key"); } @Test(expected=ConfigurationException.class) public void configurationThrowsErrorOnNullPrivateKey() { Configuration configuration = new Configuration(Environment.DEVELOPMENT, "merchant_id", "integration_public_key", null); } @Test(expected=ConfigurationException.class) public void configurationThrowsErrorOnEmptyPrivateKey() { Configuration configuration = new Configuration(Environment.DEVELOPMENT, "merchant_id", "integration_public_key", ""); } @Test public void configurationUsesNoProxyIfNotSpecified() { Configuration configuration = new Configuration(Environment.DEVELOPMENT, "merchant_id", "integration_public_key", "integration_private_key"); assertNull(configuration.getProxy()); } @Test public void configurationReturnsProxyObject() { Configuration configuration = new Configuration(Environment.DEVELOPMENT, "merchant_id", "integration_public_key", "integration_private_key"); configuration.setProxy("localhost", 3000); assertNotNull(configuration.getProxy()); } @Test public void testConfigurationIsUsingProxy() { Configuration configuration = new Configuration(Environment.DEVELOPMENT, "merchant_id", "integration_public_key", "integration_private_key"); assertFalse(configuration.usesProxy()); configuration.setProxy("localhost", 3000); assertTrue(configuration.usesProxy()); } @Test public void testConfigurationWhenSetByObject(){ Configuration configuration = new Configuration(Environment.DEVELOPMENT, "merchant_id", "integration_public_key", "integration_private_key"); assertFalse(configuration.usesProxy()); Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("localhost", 3000)); configuration.setProxy(proxy); assertEquals(proxy, configuration.getProxy()); } @Test public void testReadtimeoutDefaultsToSixtySeconds() { Configuration configuration = new Configuration(Environment.DEVELOPMENT, "merchant_id", "integration_public_key", "integration_private_key"); assertEquals(configuration.getTimeout(), 60000); } @Test public void testSettingReadTimeout() { Configuration configuration = new Configuration(Environment.DEVELOPMENT, "merchant_id", "integration_public_key", "integration_private_key"); configuration.setTimeout(30000); assertEquals(configuration.getTimeout(), 30000); } }