Repository: stratos Updated Branches: refs/heads/master 5bae29ec8 -> b4ddbe5a4
Making pod activation test and service proxy test optional Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/b4ddbe5a Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/b4ddbe5a Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/b4ddbe5a Branch: refs/heads/master Commit: b4ddbe5a45a24f122c0446a7acac66e4ae7c57d4 Parents: 5bae29e Author: Imesh Gunaratne <[email protected]> Authored: Thu Jan 29 18:06:56 2015 +0530 Committer: Imesh Gunaratne <[email protected]> Committed: Thu Jan 29 18:06:56 2015 +0530 ---------------------------------------------------------------------- .../live/KubernetesApiClientLiveTest.java | 51 ++++++++++++++------ 1 file changed, 35 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/b4ddbe5a/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java b/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java index 565cef6..adc1a8e 100644 --- a/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java +++ b/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java @@ -33,7 +33,6 @@ import org.junit.BeforeClass; import org.junit.Test; import org.junit.experimental.categories.Category; -import java.net.InetAddress; import java.net.Socket; import java.net.URL; import java.util.ArrayList; @@ -54,16 +53,18 @@ public class KubernetesApiClientLiveTest extends TestCase{ private static final Log log = LogFactory.getLog(KubernetesApiClientLiveTest.class); - private static final int DEFAULT_CONTAINER_PORT = 80; + private static final int DEFAULT_CONTAINER_PORT = 6379; //80; private static final int SERVICE_PORT = 4500; private static final String DEFAULT_KUBERNETES_MASTER_IP = "172.17.8.100"; - private static final String DEFAULT_DOCKER_IMAGE = "stratos/php:4.1.0-alpha"; + private static final String DEFAULT_DOCKER_IMAGE = "gurpartap/redis"; //"stratos/php:4.1.0-alpha"; private static final int POD_ACTIVATION_WAIT_TIME = 10000; // 10 seconds private KubernetesApiClient client; private String dockerImage; private String endpoint; private int containerPort; + private boolean testPodActivation; + private boolean testProxyServiceSocket; @BeforeClass public void setUp() { @@ -87,14 +88,26 @@ public class KubernetesApiClientLiveTest extends TestCase{ } else { containerPort = DEFAULT_CONTAINER_PORT; } + + String testPodActivationStr = System.getProperty("test.pod.activation"); + if(StringUtils.isNotBlank(testPodActivationStr)) { + testPodActivation = Boolean.parseBoolean(testPodActivationStr); + } + + String testProxyServiceSocketStr = System.getProperty("test.proxy.service.socket"); + if(StringUtils.isNotBlank(testProxyServiceSocketStr)) { + testProxyServiceSocket = Boolean.parseBoolean(testProxyServiceSocketStr); + } log.info("Live test setup completed"); } @AfterClass public void tearDown() { + log.info("Cleaning kubernetes resources..."); deleteReplicationControllers(); deletePods(); deleteServices(); + log.info("Kubernetes resources cleaned"); } @Test @@ -105,18 +118,23 @@ public class KubernetesApiClientLiveTest extends TestCase{ String podName = "stratos-test-pod"; String containerPortName = "http-1"; + log.info("Creating pod: [pod-id] " + podId); List<Port> ports = createPorts(containerPortName); client.createPod(podId, podName, dockerImage, ports); Thread.sleep(2000); Pod pod = client.getPod(podId); assertNotNull(pod); - - Thread.sleep(POD_ACTIVATION_WAIT_TIME); - pod = client.getPod(podId); - assertNotNull(pod); - assertEquals(KubernetesConstants.POD_STATUS_RUNNING, pod.getCurrentState().getStatus()); - log.info("Pod state changed to running: " + pod.getId()); + log.info("Pod created successfully: [pod-id] " + podId); + + if(testPodActivation) { + log.info("Waiting pod status to be changed to running: [pod-id] " + podId); + Thread.sleep(POD_ACTIVATION_WAIT_TIME); + pod = client.getPod(podId); + assertNotNull(pod); + assertEquals(KubernetesConstants.POD_STATUS_RUNNING, pod.getCurrentState().getStatus()); + log.info("Pod state changed to running: [pod-id]" + pod.getId()); + } log.info("Deleting pod: " + pod.getId()); client.deletePod(pod.getId()); @@ -199,8 +217,7 @@ public class KubernetesApiClientLiveTest extends TestCase{ String serviceName = "stratos-test-service"; String containerPortName = "http-1"; - InetAddress address = InetAddress.getByName(new URL(endpoint).getHost()); - String publicIp = address.getHostAddress(); + String publicIp = new URL(endpoint).getHost(); log.info("Creating pod..."); List<Port> ports = createPorts(containerPortName); @@ -228,11 +245,13 @@ public class KubernetesApiClientLiveTest extends TestCase{ assertNotNull(service); log.info("Service re-creation with an existing id successful"); - // test service proxy is accessibility - log.info("Connecting to service proxy..."); - Socket socket = new Socket(publicIp, SERVICE_PORT); - assertTrue(socket.isConnected()); - log.info("Connecting to service proxy successful"); + if(testProxyServiceSocket) { + // test service proxy is accessibility + log.info("Connecting to service proxy..."); + Socket socket = new Socket(publicIp, SERVICE_PORT); + assertTrue(socket.isConnected()); + log.info("Connecting to service proxy successful"); + } log.info("Deleting service..."); client.deleteService(serviceId);
