Skip to content

Commit

Permalink
Move rules and matchers to common module from io.
Browse files Browse the repository at this point in the history
Move RepeatRule, ByteArrayMatcher and NestedThrowableMatcher to common module.
Remove custom Digests utility.
  • Loading branch information
MishaDemianenko committed Jan 11, 2017
1 parent 572e03c commit bbd5541
Show file tree
Hide file tree
Showing 30 changed files with 60 additions and 66 deletions.
Expand Up @@ -17,12 +17,11 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.test;
package org.neo4j.test.matchers;

import org.hamcrest.Description;
import org.hamcrest.TypeSafeDiagnosingMatcher;

// TODO: move to common test module
public class ByteArrayMatcher extends TypeSafeDiagnosingMatcher<byte[]>
{
public static ByteArrayMatcher byteArray( byte... expected )
Expand Down
Expand Up @@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.test;
package org.neo4j.test.matchers;

import org.hamcrest.Description;
import org.hamcrest.TypeSafeMatcher;
Expand Down
Expand Up @@ -17,14 +17,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.test;
package org.neo4j.test.matchers.matchertests;

import org.junit.Test;

import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;

import static org.neo4j.test.ByteArrayMatcher.byteArray;
import static org.neo4j.test.matchers.ByteArrayMatcher.byteArray;

public class ByteArrayMatcherTest
{
Expand Down
Expand Up @@ -17,26 +17,8 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.test;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import org.neo4j.string.HexString;

public class Digests
{
public static String md5Hex( String message )
{
try
{
MessageDigest m = MessageDigest.getInstance( "MD5" );
m.update( message.getBytes(), 0, message.getBytes().length);
return HexString.encodeHexString( m.digest() );
}
catch ( NoSuchAlgorithmException e )
{
throw new RuntimeException( "MD5 hash algorithm is not available on this platform: " + e.getMessage(),e );
}
}
}
/**
* This separate package introduced to separate actual matchers from tests for those matchers.
* That will simplify understanding package content and will make it simpler future refactorings of helper test utils
*/
package org.neo4j.test.matchers.matchertests;
Expand Up @@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.test;
package org.neo4j.test.rule;

import org.junit.rules.TestRule;
import org.junit.runner.Description;
Expand Down
4 changes: 4 additions & 0 deletions community/io/pom.xml
Expand Up @@ -93,6 +93,10 @@ the relevant Commercial Agreement.
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-common</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion community/io/src/test/java/org/neo4j/io/IOUtilsTest.java
Expand Up @@ -28,7 +28,7 @@

import java.io.IOException;

import org.neo4j.test.NestedThrowableMatcher;
import org.neo4j.test.matchers.NestedThrowableMatcher;

import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.verify;
Expand Down
Expand Up @@ -40,7 +40,7 @@
import org.neo4j.io.fs.FileSystemAbstraction;
import org.neo4j.io.pagecache.tracing.PageCacheTracer;
import org.neo4j.test.LinearHistoryPageCacheTracer;
import org.neo4j.test.RepeatRule;
import org.neo4j.test.rule.RepeatRule;

import static org.hamcrest.Matchers.instanceOf;
import static org.hamcrest.Matchers.is;
Expand All @@ -52,7 +52,7 @@
import static org.junit.Assert.fail;
import static org.neo4j.io.pagecache.PagedFile.PF_SHARED_READ_LOCK;
import static org.neo4j.io.pagecache.PagedFile.PF_SHARED_WRITE_LOCK;
import static org.neo4j.test.ByteArrayMatcher.byteArray;
import static org.neo4j.test.matchers.ByteArrayMatcher.byteArray;

public abstract class PageCacheSlowTest<T extends PageCache> extends PageCacheTestSupport<T>
{
Expand Down
Expand Up @@ -72,7 +72,7 @@
import org.neo4j.io.pagecache.tracing.DefaultPageCacheTracer;
import org.neo4j.io.pagecache.tracing.PageCacheTracer;
import org.neo4j.io.pagecache.tracing.PinEvent;
import org.neo4j.test.RepeatRule;
import org.neo4j.test.rule.RepeatRule;

import static java.lang.Long.toHexString;
import static java.lang.System.currentTimeMillis;
Expand Down Expand Up @@ -101,8 +101,8 @@
import static org.neo4j.io.pagecache.PagedFile.PF_NO_GROW;
import static org.neo4j.io.pagecache.PagedFile.PF_SHARED_READ_LOCK;
import static org.neo4j.io.pagecache.PagedFile.PF_SHARED_WRITE_LOCK;
import static org.neo4j.test.ByteArrayMatcher.byteArray;
import static org.neo4j.test.ThreadTestUtils.fork;
import static org.neo4j.test.matchers.ByteArrayMatcher.byteArray;

@SuppressWarnings( "OptionalGetWithoutIsPresent" )
public abstract class PageCacheTest<T extends PageCache> extends PageCacheTestSupport<T>
Expand Down
Expand Up @@ -42,10 +42,10 @@
import org.neo4j.io.fs.StoreChannel;
import org.neo4j.io.pagecache.impl.SingleFilePageSwapperFactory;
import org.neo4j.io.pagecache.tracing.PageCacheTracer;
import org.neo4j.test.RepeatRule;
import org.neo4j.test.rule.RepeatRule;

import static org.junit.Assert.assertThat;
import static org.neo4j.test.ByteArrayMatcher.byteArray;
import static org.neo4j.test.matchers.ByteArrayMatcher.byteArray;

public abstract class PageCacheTestSupport<T extends PageCache>
{
Expand Down
Expand Up @@ -34,7 +34,7 @@
import org.neo4j.io.pagecache.randomharness.RandomPageCacheTestHarness;
import org.neo4j.io.pagecache.randomharness.RecordFormat;
import org.neo4j.io.pagecache.randomharness.StandardRecordFormat;
import org.neo4j.test.RepeatRule;
import org.neo4j.test.rule.RepeatRule;

import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.neo4j.io.pagecache.PagedFile.PF_SHARED_READ_LOCK;
Expand Down
Expand Up @@ -35,7 +35,7 @@
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.neo4j.test.ByteArrayMatcher.byteArray;
import static org.neo4j.test.matchers.ByteArrayMatcher.byteArray;

public class CompositePageCursorTest
{
Expand Down
Expand Up @@ -21,9 +21,9 @@

import org.apache.commons.lang3.SystemUtils;
import org.junit.After;
import org.junit.AssumptionViolatedException;
import org.junit.Before;
import org.junit.Test;
import org.junit.AssumptionViolatedException;

import java.io.BufferedReader;
import java.io.File;
Expand Down Expand Up @@ -56,7 +56,7 @@
import static org.hamcrest.Matchers.nullValue;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
import static org.neo4j.test.ByteArrayMatcher.byteArray;
import static org.neo4j.test.matchers.ByteArrayMatcher.byteArray;

public class SingleFilePageSwapperTest extends PageSwapperTest
{
Expand Down
Expand Up @@ -33,7 +33,7 @@
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;

import org.neo4j.test.RepeatRule;
import org.neo4j.test.rule.RepeatRule;

public class SequenceLockStressIT
{
Expand Down
Expand Up @@ -19,6 +19,7 @@
*/
package org.neo4j.test.rule;

import org.apache.commons.codec.digest.DigestUtils;
import org.junit.Rule;
import org.junit.rules.TestRule;
import org.junit.runner.Description;
Expand All @@ -32,7 +33,6 @@
import org.neo4j.io.fs.DefaultFileSystemAbstraction;
import org.neo4j.io.fs.FileSystemAbstraction;
import org.neo4j.io.fs.FileUtils.MaybeWindowsMemoryMappedFileReleaseProblem;
import org.neo4j.test.Digests;

import static java.lang.String.format;

Expand Down Expand Up @@ -236,7 +236,7 @@ private File directoryForDescription( Description description ) throws IOExcepti
{
test = "static";
}
String dir = Digests.md5Hex( test );
String dir = DigestUtils.md5Hex( test );
register( test, dir );
return cleanDirectory( dir );
}
Expand Down
Expand Up @@ -34,8 +34,8 @@
import org.neo4j.graphdb.Label;
import org.neo4j.graphdb.Node;
import org.neo4j.graphdb.Transaction;
import org.neo4j.test.RepeatRule;
import org.neo4j.test.rule.EmbeddedDatabaseRule;
import org.neo4j.test.rule.RepeatRule;

/**
* Token creation should be able to handle cases of concurrent token creation
Expand Down
Expand Up @@ -56,8 +56,8 @@
import org.neo4j.storageengine.api.RelationshipItem;
import org.neo4j.storageengine.api.txstate.ReadableDiffSets;
import org.neo4j.storageengine.api.txstate.TxStateVisitor;
import org.neo4j.test.RepeatRule;
import org.neo4j.test.rule.RandomRule;
import org.neo4j.test.rule.RepeatRule;

import static java.util.Arrays.asList;
import static java.util.Collections.emptySet;
Expand Down
Expand Up @@ -40,8 +40,8 @@
import org.neo4j.graphdb.ResourceIterator;
import org.neo4j.helpers.collection.PrefetchingIterator;
import org.neo4j.helpers.progress.ProgressListener;
import org.neo4j.test.RepeatRule;
import org.neo4j.test.rule.RandomRule;
import org.neo4j.test.rule.RepeatRule;
import org.neo4j.unsafe.impl.batchimport.InputIterable;
import org.neo4j.unsafe.impl.batchimport.InputIterator;
import org.neo4j.unsafe.impl.batchimport.cache.NumberArrayFactory;
Expand Down
Expand Up @@ -31,8 +31,8 @@
import org.neo4j.test.OtherThreadExecutor;
import org.neo4j.test.OtherThreadExecutor.WorkerCommand;
import org.neo4j.test.Race;
import org.neo4j.test.RepeatRule;
import org.neo4j.test.RepeatRule.Repeat;
import org.neo4j.test.rule.RepeatRule;
import org.neo4j.test.rule.RepeatRule.Repeat;
import org.neo4j.unsafe.impl.batchimport.executor.ParkStrategy.Park;

import static java.util.concurrent.TimeUnit.MILLISECONDS;
Expand Down
Expand Up @@ -56,7 +56,7 @@
import org.neo4j.kernel.api.impl.index.partition.WritableIndexPartitionFactory;
import org.neo4j.kernel.api.impl.index.storage.DirectoryFactory;
import org.neo4j.kernel.api.impl.index.storage.PartitionedIndexStorage;
import org.neo4j.test.RepeatRule;
import org.neo4j.test.rule.RepeatRule;
import org.neo4j.test.rule.TestDirectory;
import org.neo4j.test.rule.fs.DefaultFileSystemRule;

Expand Down
1 change: 1 addition & 0 deletions community/neo4j-harness/LICENSES.txt
Expand Up @@ -3,6 +3,7 @@ libraries. For an overview of the licenses see the NOTICE.txt file.

------------------------------------------------------------------------------
Apache Software License, Version 2.0
Apache Commons Codec
Apache Commons Compress
Apache Commons Configuration
Apache Commons Lang
Expand Down
1 change: 1 addition & 0 deletions community/neo4j-harness/NOTICE.txt
Expand Up @@ -26,6 +26,7 @@ Third-party licenses
--------------------

Apache Software License, Version 2.0
Apache Commons Codec
Apache Commons Compress
Apache Commons Configuration
Apache Commons Lang
Expand Down
8 changes: 6 additions & 2 deletions community/neo4j-harness/pom.xml
Expand Up @@ -103,16 +103,20 @@

<!-- Test dependencies -->

<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<scope>compile</scope>
</dependency>

<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<scope>test</scope>
</dependency>

<dependency>
Expand Down
Expand Up @@ -19,6 +19,7 @@
*/
package org.neo4j.harness.internal;

import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.io.FileUtils;

import java.io.File;
Expand All @@ -40,6 +41,7 @@
import org.neo4j.kernel.GraphDatabaseDependencies;
import org.neo4j.kernel.configuration.BoltConnector;
import org.neo4j.kernel.configuration.HttpConnector;
import org.neo4j.kernel.configuration.HttpConnector.Encryption;
import org.neo4j.kernel.configuration.Settings;
import org.neo4j.kernel.extension.KernelExtensionFactory;
import org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory;
Expand All @@ -49,7 +51,6 @@
import org.neo4j.kernel.lifecycle.LifecycleAdapter;
import org.neo4j.logging.FormattedLogProvider;
import org.neo4j.server.AbstractNeoServer;
import org.neo4j.kernel.configuration.HttpConnector.Encryption;
import org.neo4j.server.configuration.ServerSettings;
import org.neo4j.server.configuration.ThirdPartyJaxRsPackage;

Expand All @@ -58,7 +59,6 @@
import static org.neo4j.graphdb.factory.GraphDatabaseSettings.pagecache_memory;
import static org.neo4j.helpers.collection.Iterables.append;
import static org.neo4j.io.file.Files.createOrOpenAsOuputStream;
import static org.neo4j.test.Digests.md5Hex;

public abstract class AbstractInProcessServerBuilder implements TestServerBuilder
{
Expand Down Expand Up @@ -241,7 +241,7 @@ private TestServerBuilder setDirectory( File dir )

private String randomFolderName()
{
return md5Hex( Long.toString( ThreadLocalRandom.current().nextLong() ) );
return DigestUtils.md5Hex( Long.toString( ThreadLocalRandom.current().nextLong() ) );
}

private int freePort(int startRange, int endRange)
Expand Down
Expand Up @@ -44,7 +44,6 @@
import org.neo4j.helpers.TimeUtil;
import org.neo4j.helpers.collection.Iterables;
import org.neo4j.helpers.collection.PrefetchingIterator;
import org.neo4j.io.fs.watcher.FileWatcher;
import org.neo4j.kernel.configuration.Config;
import org.neo4j.kernel.configuration.Settings;
import org.neo4j.kernel.impl.api.index.BatchingMultipleIndexPopulator;
Expand All @@ -54,10 +53,10 @@
import org.neo4j.kernel.impl.store.format.RecordFormats;
import org.neo4j.logging.NullLogProvider;
import org.neo4j.test.Randoms;
import org.neo4j.test.RepeatRule;
import org.neo4j.test.TestGraphDatabaseFactory;
import org.neo4j.test.rule.CleanupRule;
import org.neo4j.test.rule.RandomRule;
import org.neo4j.test.rule.RepeatRule;
import org.neo4j.test.rule.TestDirectory;
import org.neo4j.test.rule.fs.DefaultFileSystemRule;
import org.neo4j.unsafe.impl.batchimport.BatchImporter;
Expand All @@ -76,12 +75,10 @@
import org.neo4j.unsafe.impl.batchimport.staging.ExecutionMonitors;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;

import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import static java.lang.System.currentTimeMillis;
import static java.util.concurrent.TimeUnit.SECONDS;

import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.neo4j.helpers.collection.MapUtil.stringMap;
import static org.neo4j.helpers.progress.ProgressMonitorFactory.NONE;
import static org.neo4j.unsafe.impl.batchimport.AdditionalInitialIds.EMPTY;
Expand Down

0 comments on commit bbd5541

Please sign in to comment.