Repository: incubator-geode
Updated Branches:
  refs/heads/feature/e2e-testing 75521268a -> 0ff26e83d


Add a few more basic tests


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/946ff2c7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/946ff2c7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/946ff2c7

Branch: refs/heads/feature/e2e-testing
Commit: 946ff2c7d764331d02385eab2eed6f5cb7af6615
Parents: 7552126
Author: Jens Deppe <[email protected]>
Authored: Tue Oct 4 14:38:15 2016 -0700
Committer: Jens Deppe <[email protected]>
Committed: Tue Oct 4 14:38:15 2016 -0700

----------------------------------------------------------------------
 .../test/java/org/apache/geode/e2e/GetPut.java  |  3 +-
 .../java/org/apache/geode/e2e/GetPutSteps.java  | 34 +++++++++++++++++---
 .../geode/e2e/container/DockerCluster.java      | 10 ++++++
 .../org/apache/geode/e2e/get_put.story          | 10 +++++-
 4 files changed, 50 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/946ff2c7/geode-core/src/test/java/org/apache/geode/e2e/GetPut.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/e2e/GetPut.java 
b/geode-core/src/test/java/org/apache/geode/e2e/GetPut.java
index e62194b..4b4a79f 100644
--- a/geode-core/src/test/java/org/apache/geode/e2e/GetPut.java
+++ b/geode-core/src/test/java/org/apache/geode/e2e/GetPut.java
@@ -11,7 +11,8 @@ import org.jbehave.core.steps.InstanceStepsFactory;
 
 public class GetPut extends JUnitStory {
 
-  // Here we specify the configuration, starting from default 
MostUsefulConfiguration, and changing only what is need ed
+  // Here we specify the configuration, starting from default 
MostUsefulConfiguration,
+  // and changing only what is needed
   @Override
   public Configuration configuration() {
     return new MostUsefulConfiguration()

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/946ff2c7/geode-core/src/test/java/org/apache/geode/e2e/GetPutSteps.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/e2e/GetPutSteps.java 
b/geode-core/src/test/java/org/apache/geode/e2e/GetPutSteps.java
index bb4db31..d427670 100644
--- a/geode-core/src/test/java/org/apache/geode/e2e/GetPutSteps.java
+++ b/geode-core/src/test/java/org/apache/geode/e2e/GetPutSteps.java
@@ -1,8 +1,11 @@
 package org.apache.geode.e2e;
 
+import static 
org.apache.geode.internal.cache.execute.DistributedRegionFunctionExecutionDUnitTest.region;
+import static org.bouncycastle.crypto.tls.ConnectionEnd.client;
 import static org.junit.Assert.assertEquals;
 
 import com.spotify.docker.client.exceptions.DockerException;
+import org.apache.geode.cache.CacheClosedException;
 import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.client.ClientCache;
@@ -22,6 +25,7 @@ public class GetPutSteps {
 
   @BeforeStories
   public void teardownContainers() throws DockerException, 
InterruptedException {
+    // Stop and delete all current containers
     DockerCluster.scorch();
   }
 
@@ -47,12 +51,14 @@ public class GetPutSteps {
     cluster.gfshCommand(String.format("create region --name=%s --type=%s", 
name, type));
   }
 
+  @Given("server $idx is killed")
+  public void killServer(int idx) throws Exception {
+    cluster.killServer(idx);
+  }
+
   @When("I put $count entries into region $name")
   public void when(int count, String name) throws Exception {
-    ClientCache cache = new ClientCacheFactory().
-      set("log-level", "warn").
-      addPoolLocator("localhost", cluster.getLocatorPort()).
-      create();
+    ClientCache cache = getClientCache();
     Region region = 
cache.createClientRegionFactory(ClientRegionShortcut.PROXY).create(name);
     for (int i = 0; i < count; i++) {
       region.put("key_" + i, "value_" + i);
@@ -61,11 +67,29 @@ public class GetPutSteps {
 
   @Then("I can get $count entries from region $name")
   public void then(int count, String name) throws Exception {
-    Region region = CacheFactory.getAnyInstance().getRegion(name);
+    ClientCache cache = getClientCache();
+    Region region = cache.getRegion(name);
 
     for (int i = 0; i < count; i++) {
       assertEquals("value_" + i, region.get("key_" + i));
     }
   }
+
+  private ClientCache getClientCache() {
+    ClientCache cache;
+    try {
+      cache = ClientCacheFactory.getAnyInstance();
+      return cache;
+    } catch (CacheClosedException ignored) {
+      // ignored
+    }
+
+    cache = new ClientCacheFactory().
+      set("log-level", "fine").
+      addPoolLocator("localhost", cluster.getLocatorPort()).
+      create();
+
+    return cache;
+  }
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/946ff2c7/geode-core/src/test/java/org/apache/geode/e2e/container/DockerCluster.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/test/java/org/apache/geode/e2e/container/DockerCluster.java 
b/geode-core/src/test/java/org/apache/geode/e2e/container/DockerCluster.java
index c9a4478..875fa78 100644
--- a/geode-core/src/test/java/org/apache/geode/e2e/container/DockerCluster.java
+++ b/geode-core/src/test/java/org/apache/geode/e2e/container/DockerCluster.java
@@ -18,6 +18,7 @@ import com.spotify.docker.client.messages.ContainerCreation;
 import com.spotify.docker.client.messages.HostConfig;
 import com.spotify.docker.client.messages.NetworkSettings;
 import com.spotify.docker.client.messages.PortBinding;
+import com.sun.javaws.exceptions.InvalidArgumentException;
 
 public class DockerCluster {
 
@@ -228,6 +229,15 @@ public class DockerCluster {
     return locatorPort;
   }
 
+  public void killServer(int idx) throws DockerException, InterruptedException 
{
+    String id = nodeIds.get(idx + locatorCount);
+    if (id == null) {
+      throw new IllegalArgumentException("Could not find server with index: " 
+ idx);
+    }
+    docker.killContainer(id);
+    docker.removeContainer(id);
+  }
+
   public static void scorch() throws DockerException, InterruptedException {
     DockerClient docker = DefaultDockerClient.builder().
       uri("unix:///var/run/docker.sock").build();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/946ff2c7/geode-core/src/test/resources/org/apache/geode/e2e/get_put.story
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/org/apache/geode/e2e/get_put.story 
b/geode-core/src/test/resources/org/apache/geode/e2e/get_put.story
index b981023..8cad6e9 100644
--- a/geode-core/src/test/resources/org/apache/geode/e2e/get_put.story
+++ b/geode-core/src/test/resources/org/apache/geode/e2e/get_put.story
@@ -1,5 +1,13 @@
 Scenario: gfsh can start and manage a cluster
-Given cluster is started with 1 locators and 2 servers
+Given cluster is started with 1 locators and 3 servers
 Given region FOO is created as REPLICATE
 When I put 100 entries into region FOO
 Then I can get 100 entries from region FOO
+
+Given region BAR is created as PARTITION
+When I put 100 entries into region BAR
+Then I can get 100 entries from region BAR
+
+Given server 0 is killed
+Then I can get 100 entries from region FOO
+Then I can get 100 entries from region BAR

Reply via email to