You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2014/12/19 15:31:02 UTC
svn commit: r1646730 - in /jackrabbit/oak/trunk:
oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java
oak-core/src/test/java/org/apache/jackrabbit/oak/OakBaseTest.java
Author: mduerig
Date: Fri Dec 19 14:31:01 2014
New Revision: 1646730
URL: http://svn.apache.org/r1646730
Log:
OAK-2365: Refactor node store tests
Integrate with FixtureHelper
Modified:
jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/OakBaseTest.java
Modified: jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java?rev=1646730&r1=1646729&r2=1646730&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java (original)
+++ jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java Fri Dec 19 14:31:01 2014
@@ -16,45 +16,44 @@
*/
package org.apache.jackrabbit.oak.commons;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
+import static java.util.Collections.unmodifiableSet;
+
+import java.util.EnumSet;
import java.util.Set;
/**
* helper class that return the list of available fixtures based on the {@code ns-fixtures} system
* property ({@code -Dns-fixtures=SEGMENT_MK}).
*
- * See {@link FixturesHelper#Fixture} for a list of available fixtures
+ * See {@link FixturesHelper.Fixture} for a list of available fixtures
*/
-public class FixturesHelper {
+public final class FixturesHelper {
/**
* splitter for specifying multiple fixtures
*/
-
private static final String SPLIT_ON = ",";
/**
* System property to be used.
*/
public static final String NS_FIXTURES = "ns-fixtures";
-
+
+ private FixturesHelper() { }
+
/**
* default fixtures when no {@code ns-fixtures} is provided
*/
- public static enum Fixture {
- DOCUMENT_MK, DOCUMENT_NS, SEGMENT_MK, DOCUMENT_RDB
- };
+ public enum Fixture {
+ DOCUMENT_MK, DOCUMENT_NS, SEGMENT_MK, DOCUMENT_RDB, MEMORY_NS
+ }
private static final Set<Fixture> FIXTURES;
static {
String raw = System.getProperty(NS_FIXTURES, "");
if (raw.trim().isEmpty()) {
- FIXTURES = Collections.unmodifiableSet(new HashSet<Fixture>(Arrays.asList(Fixture
- .values())));
+ FIXTURES = unmodifiableSet(EnumSet.allOf(Fixture.class));
} else {
- String[] fs = raw.split(SPLIT_ON);
- Set<Fixture> tmp = new HashSet<Fixture>();
- for (String f : fs) {
+ Set<Fixture> tmp = EnumSet.noneOf(Fixture.class);
+ for (String f : raw.split(SPLIT_ON)) {
String x = f.trim();
Fixture fx = Fixture.valueOf(x.toUpperCase());
if (fx != null) {
@@ -63,10 +62,9 @@ public class FixturesHelper {
}
if (tmp.isEmpty()) {
- FIXTURES = Collections.unmodifiableSet(new HashSet<Fixture>(Arrays.asList(Fixture
- .values())));
+ FIXTURES = unmodifiableSet(EnumSet.allOf(Fixture.class));
} else {
- FIXTURES = Collections.unmodifiableSet(tmp);
+ FIXTURES = unmodifiableSet(tmp);
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/OakBaseTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/OakBaseTest.java?rev=1646730&r1=1646729&r2=1646730&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/OakBaseTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/OakBaseTest.java Fri Dec 19 14:31:01 2014
@@ -16,11 +16,19 @@
*/
package org.apache.jackrabbit.oak;
-import java.util.Arrays;
+import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.DOCUMENT_MK;
+import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.DOCUMENT_NS;
+import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.MEMORY_NS;
+import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.SEGMENT_MK;
+
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.Set;
import org.apache.jackrabbit.oak.api.ContentRepository;
import org.apache.jackrabbit.oak.api.ContentSession;
+import org.apache.jackrabbit.oak.commons.FixturesHelper;
+import org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture;
import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
import org.junit.After;
@@ -30,17 +38,32 @@ import org.junit.runners.Parameterized;
@RunWith(Parameterized.class)
public abstract class OakBaseTest {
+ /**
+ * The system property "ns-fixtures" can be used to provide a
+ * whitespace-separated list of fixtures names for which the
+ * tests should be run (the default is to use all fixtures).
+ */
+ private static final Set<Fixture> FIXTURES = FixturesHelper.getFixtures();
+
@Parameterized.Parameters
public static Collection<Object[]> fixtures() {
- Object[][] fixtures = new Object[][] {
- {NodeStoreFixture.MONGO_MK},
- {NodeStoreFixture.MONGO_NS},
- {NodeStoreFixture.SEGMENT_MK},
- {NodeStoreFixture.MEMORY_NS},
- };
- return Arrays.asList(fixtures);
+ Collection<Object[]> result = new ArrayList<Object[]>();
+ if (FIXTURES.contains(DOCUMENT_MK)) {
+ result.add(new Object[] { NodeStoreFixture.MONGO_MK });
+ }
+ if (FIXTURES.contains(DOCUMENT_NS)) {
+ result.add(new Object[] { NodeStoreFixture.MONGO_NS });
+ }
+ if (FIXTURES.contains(SEGMENT_MK)) {
+ result.add(new Object[] { NodeStoreFixture.SEGMENT_MK });
+ }
+ if (FIXTURES.contains(MEMORY_NS)) {
+ result.add(new Object[] { NodeStoreFixture.MEMORY_NS });
+ }
+ return result;
}
+
protected final NodeStoreFixture fixture;
protected final NodeStore store;