DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
In order to write integration tests for your application, you need ability to spin up a geode cluster from your test and then run tests for your application that work against the cluster. Geode now ships with a JUnit Rule to help.
You can use this GfshRule like so:
public class LibraryTest {
@Rule
public GfshRule gfshRule = new GfshRule();
@Test
public void testSomeLibraryMethod() {
Library classUnderTest = new Library();
GfshScript.of("start locator --name=loc",
"start server --name=serv1",
"create region --name=test --type=REPLICATE").execute(gfshRule);
classUnderTest.doPut();
assertEquals("one", classUnderTest.doGet());
}
}
While running this test, a locator and a server JVM will be spun-up by GfshRule.
Step-by-step guide
You need to follow the following steps to get this to work:
Specify geode-junit as a compile dependency for your tests by adding the following in your build.gradle
testCompile 'org.apache.geode:geode-junit:geodeVersion'
- Specify the gradle plugin that will download and install the Geode distribution to be used by GfshRule by adding the following at the top of your build.gradle file
plugins { id "io.pivotal.GeodeIntegrationTestPlugin" version "1.0" }This will download the latest version of Apache Geode. If you want to specify a version use the following in your build.gradle
geodeIntegration { version = "1.2.0" } - Write your integration tests by spinning up a Geode cluster using gfsh commands as shown above.
A very simple application can be found at: https://github.com/sbawaska/geode-integration-test-example