diff --git a/pom.xml b/pom.xml
index 372e41e..106bea0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
UTF-8
1.14
true
- 3.2
+ 4.2.0
-lcrypto
@@ -30,11 +30,10 @@
hawtjni-runtime
${hawtjni-version}
-
- junit
- junit
- 4.12
+ org.junit.jupiter
+ junit-jupiter
+ 5.8.2
test
@@ -44,9 +43,15 @@
test
- org.easymock
- easymock
- ${easymock-version}
+ org.mockito
+ mockito-core
+ ${mockito-version}
+ test
+
+
+ org.mockito
+ mockito-junit-jupiter
+ ${mockito-version}
test
@@ -143,6 +148,11 @@
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.0.0-M5
+
org.apache.maven.plugins
maven-shade-plugin
diff --git a/src/test/java/com/github/plusvic/yara/GenericIteratorTest.java b/src/test/java/com/github/plusvic/yara/GenericIteratorTest.java
index 4bd0573..bb843d7 100644
--- a/src/test/java/com/github/plusvic/yara/GenericIteratorTest.java
+++ b/src/test/java/com/github/plusvic/yara/GenericIteratorTest.java
@@ -1,11 +1,15 @@
package com.github.plusvic.yara;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
import java.util.NoSuchElementException;
import java.util.UUID;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* User: pba
@@ -97,7 +101,7 @@ protected String getNext() {
assertEquals(size, count);
}
- @Test(expected = NoSuchElementException.class)
+ @Test
public void testNextFirst() {
GenericIterator it = new GenericIterator() {
private boolean used = false;
@@ -113,13 +117,13 @@ protected String getNext() {
};
assertNotNull(it.next());
- assertNotNull(it.next());
+ Assertions.assertThrows(NoSuchElementException.class, it::next);
}
@Test
public void testNextFirstMultiple() {
GenericIterator it = new GenericIterator() {
- private String values[] = new String[] { "one", "two"};
+ private final String[] values = new String[] { "one", "two"};
private int pos = 0;
@Override
diff --git a/src/test/java/com/github/plusvic/yara/UtilsTest.java b/src/test/java/com/github/plusvic/yara/UtilsTest.java
index 2972a3b..c62b766 100644
--- a/src/test/java/com/github/plusvic/yara/UtilsTest.java
+++ b/src/test/java/com/github/plusvic/yara/UtilsTest.java
@@ -1,8 +1,9 @@
package com.github.plusvic.yara;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.Assert.assertEquals;
/**
* User: pba
diff --git a/src/test/java/com/github/plusvic/yara/embedded/YaraCompilerImplTest.java b/src/test/java/com/github/plusvic/yara/embedded/YaraCompilerImplTest.java
index 6fef44c..2626044 100644
--- a/src/test/java/com/github/plusvic/yara/embedded/YaraCompilerImplTest.java
+++ b/src/test/java/com/github/plusvic/yara/embedded/YaraCompilerImplTest.java
@@ -1,11 +1,15 @@
package com.github.plusvic.yara.embedded;
-import com.github.plusvic.yara.*;
+import com.github.plusvic.yara.TestUtils;
+import com.github.plusvic.yara.YaraCompilationCallback;
+import com.github.plusvic.yara.YaraCompiler;
+import com.github.plusvic.yara.YaraException;
+import com.github.plusvic.yara.YaraScanner;
import net.jcip.annotations.NotThreadSafe;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
import java.io.File;
import java.nio.file.Files;
@@ -16,7 +20,10 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
/**
* User: pba
@@ -56,12 +63,13 @@ public class YaraCompilerImplTest {
private YaraImpl yara;
- @Before
+ @BeforeEach
public void setup() {
+ System.out.println("assign yara");
this.yara = new YaraImpl();
}
- @After
+ @AfterEach
public void teardown() throws Exception {
this.yara.close();
}
@@ -87,12 +95,7 @@ public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, Str
@Test
public void testAddRulesContentSucceeds() throws Exception {
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> fail();
try (YaraCompiler compiler = yara.createCompiler()) {
compiler.setCallback(callback);
@@ -103,13 +106,9 @@ public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, Str
@Test
public void testAddRulesContentFails() throws Exception {
final AtomicBoolean called = new AtomicBoolean();
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- called.set(true);
- LOGGER.log(Level.INFO, String.format("Compilation failed in %s at %d: %s",
- fileName, lineNumber, message));
- }
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> {
+ called.set(true);
+ LOGGER.log(Level.INFO, String.format("Compilation failed in %s at %d: %s", fileName, lineNumber, message));
};
try (YaraCompiler compiler = yara.createCompiler()) {
@@ -235,12 +234,7 @@ public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, Str
@Test
public void testCreateScanner() throws Exception {
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> fail();
try (YaraCompiler compiler = yara.createCompiler()) {
compiler.setCallback(callback);
@@ -252,14 +246,10 @@ public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, Str
}
}
- @Ignore("yara asserts which stops execution")
+ @Test
+ @Disabled("yara asserts which stops execution")
public void testAddRulesAfterScannerCreate() throws Exception {
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> fail();
try (YaraCompiler compiler = yara.createCompiler()) {
compiler.setCallback(callback);
diff --git a/src/test/java/com/github/plusvic/yara/embedded/YaraImplTest.java b/src/test/java/com/github/plusvic/yara/embedded/YaraImplTest.java
index 74ed746..14db105 100644
--- a/src/test/java/com/github/plusvic/yara/embedded/YaraImplTest.java
+++ b/src/test/java/com/github/plusvic/yara/embedded/YaraImplTest.java
@@ -1,9 +1,9 @@
package com.github.plusvic.yara.embedded;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import com.github.plusvic.yara.YaraCompiler;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
/**
* User: pba
diff --git a/src/test/java/com/github/plusvic/yara/embedded/YaraLibraryTest.java b/src/test/java/com/github/plusvic/yara/embedded/YaraLibraryTest.java
index 255b2e3..e5047ae 100644
--- a/src/test/java/com/github/plusvic/yara/embedded/YaraLibraryTest.java
+++ b/src/test/java/com/github/plusvic/yara/embedded/YaraLibraryTest.java
@@ -1,7 +1,7 @@
package com.github.plusvic.yara.embedded;
import net.jcip.annotations.NotThreadSafe;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.io.IOException;
diff --git a/src/test/java/com/github/plusvic/yara/embedded/YaraScannerImplTest.java b/src/test/java/com/github/plusvic/yara/embedded/YaraScannerImplTest.java
index 861d22a..4091570 100644
--- a/src/test/java/com/github/plusvic/yara/embedded/YaraScannerImplTest.java
+++ b/src/test/java/com/github/plusvic/yara/embedded/YaraScannerImplTest.java
@@ -2,12 +2,11 @@
import com.github.plusvic.yara.*;
import net.jcip.annotations.NotThreadSafe;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.io.File;
-import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
@@ -18,8 +17,14 @@
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
-import static org.easymock.EasyMock.createNiceMock;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+import static org.mockito.Mockito.mock;
+
/**
* User: pba
@@ -56,52 +61,43 @@ public class YaraScannerImplTest {
private YaraImpl yara;
- @Before
+ @BeforeEach
public void setup() {
this.yara = new YaraImpl();
}
- @After
+ @AfterEach
public void teardown() throws Exception {
yara.close();
}
- @Test(expected = IllegalArgumentException.class)
- public void testCreateNoRules() throws IOException {
- new YaraScannerImpl(createNiceMock(YaraLibrary.class), 0);
+ @Test
+ public void testCreateNoRules() {
+ assertThrows(IllegalArgumentException.class, () -> new YaraScannerImpl(mock(YaraLibrary.class), 0));
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testCreateNoLibrary() {
- new YaraScannerImpl(null, 1);
+ assertThrows(IllegalArgumentException.class, () -> new YaraScannerImpl(null, 1));
}
@Test
public void testCreate() {
- new YaraScannerImpl(createNiceMock(YaraLibrary.class), 1);
+ new YaraScannerImpl(mock(YaraLibrary.class), 1);
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testWrongTimeout() {
- new YaraScannerImpl(createNiceMock(YaraLibrary.class), 1).setTimeout(-1);
+ YaraScannerImpl impl = new YaraScannerImpl(mock(YaraLibrary.class), 1);
+ assertThrows(IllegalArgumentException.class, () -> impl.setTimeout(-1));
}
@Test
public void testSetCallback() throws Exception {
//
- YaraCompilationCallback compileCallback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
-
- YaraScanCallback scanCallback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule v) {
- }
- };
+ YaraCompilationCallback compileCallback = (errorLevel, fileName, lineNumber, message) -> fail();
+ YaraScanCallback scanCallback = v -> {};
// Create compiler and get scanner
try (YaraCompiler compiler = yara.createCompiler()) {
@@ -124,25 +120,17 @@ public void testScanMatch() throws Exception {
//
- YaraCompilationCallback compileCallback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback compileCallback = (errorLevel, fileName, lineNumber, message) -> fail();
final AtomicBoolean match = new AtomicBoolean();
- YaraScanCallback scanCallback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule v) {
- assertEquals("HelloWorld", v.getIdentifier());
- assertMetas(v.getMetadata());
- assertStrings(v.getStrings());
- assertTags(v.getTags());
+ YaraScanCallback scanCallback = v -> {
+ assertEquals("HelloWorld", v.getIdentifier());
+ assertMetas(v.getMetadata());
+ assertStrings(v.getStrings());
+ assertTags(v.getTags());
- match.set(true);
- }
+ match.set(true);
};
// Create compiler and get scanner
@@ -173,23 +161,15 @@ public void testScanNegateMatch() throws Exception {
//
- YaraCompilationCallback compileCallback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback compileCallback = (errorLevel, fileName, lineNumber, message) -> fail();
final AtomicInteger match = new AtomicInteger();
- YaraScanCallback scanCallback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule v) {
- assertMetas(v.getMetadata());
- assertFalse(v.getStrings().next().getMatches().hasNext());
+ YaraScanCallback scanCallback = v -> {
+ assertMetas(v.getMetadata());
+ assertFalse(v.getStrings().next().getMatches().hasNext());
- match.incrementAndGet();
- }
+ match.incrementAndGet();
};
// Create compiler and get scanner
@@ -222,23 +202,14 @@ public void testScanNegateLimitMatch() throws Exception {
//
- YaraCompilationCallback compileCallback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback compileCallback = (errorLevel, fileName, lineNumber, message) -> fail();
final AtomicInteger match = new AtomicInteger();
- YaraScanCallback scanCallback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule v) {
- assertMetas(v.getMetadata());
- assertFalse(v.getStrings().next().getMatches().hasNext());
-
- match.incrementAndGet();
- }
+ YaraScanCallback scanCallback = v -> {
+ assertMetas(v.getMetadata());
+ assertFalse(v.getStrings().next().getMatches().hasNext());
+ match.incrementAndGet();
};
// Create compiler and get scanner
@@ -268,21 +239,11 @@ public void testScanNoMatch() throws Exception {
//
- YaraCompilationCallback compileCallback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback compileCallback = (errorLevel, fileName, lineNumber, message) -> fail();
final AtomicBoolean match = new AtomicBoolean();
- YaraScanCallback scanCallback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule v) {
- match.set(true);
- }
- };
+ YaraScanCallback scanCallback = v -> match.set(true);
// Create compiler and get scanner
try (YaraCompiler compiler = yara.createCompiler()) {
@@ -306,24 +267,14 @@ public void testScanModule() throws Exception {
File temp = File.createTempFile(UUID.randomUUID().toString(), ".tmp");
Files.write(Paths.get(temp.getAbsolutePath()), "Hello world".getBytes(), StandardOpenOption.WRITE);
- Map args = new HashMap();
+ Map args = new HashMap<>();
args.put("pe", temp.getAbsolutePath());
- YaraCompilationCallback compileCallback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback compileCallback = (errorLevel, fileName, lineNumber, message) -> fail();
final AtomicBoolean match = new AtomicBoolean();
- YaraScanCallback scanCallback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule v) {
- match.set(true);
- }
- };
+ YaraScanCallback scanCallback = v -> match.set(true);
// Create compiler and get scanner
try (YaraCompiler compiler = yara.createCompiler()) {
@@ -346,24 +297,16 @@ public void testScanMemMatch() throws Exception {
// Make test buffer
byte[] buffer = "Hello world".getBytes();
- YaraCompilationCallback compileCallback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback compileCallback = (errorLevel, fileName, lineNumber, message) -> fail();
final AtomicBoolean match = new AtomicBoolean();
- YaraScanCallback scanCallback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule v) {
- assertEquals("HelloWorld", v.getIdentifier());
- assertMetas(v.getMetadata());
- assertStrings(v.getStrings());
- assertTags(v.getTags());
- match.set(true);
- }
+ YaraScanCallback scanCallback = v -> {
+ assertEquals("HelloWorld", v.getIdentifier());
+ assertMetas(v.getMetadata());
+ assertStrings(v.getStrings());
+ assertTags(v.getTags());
+ match.set(true);
};
// Create compiler and get scanner
diff --git a/src/test/java/com/github/plusvic/yara/external/LineTokenizerTest.java b/src/test/java/com/github/plusvic/yara/external/LineTokenizerTest.java
index 07f24ff..0b41a0a 100644
--- a/src/test/java/com/github/plusvic/yara/external/LineTokenizerTest.java
+++ b/src/test/java/com/github/plusvic/yara/external/LineTokenizerTest.java
@@ -1,10 +1,14 @@
package com.github.plusvic.yara.external;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.Iterator;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
/**
* User: pba
@@ -12,9 +16,9 @@
* Time: 6:15 PM
*/
public class LineTokenizerTest {
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testCreateNull() {
- new LineTokenizer(null);
+ assertThrows(IllegalArgumentException.class, () ->new LineTokenizer(null));
}
@Test
@@ -300,7 +304,7 @@ public void testUnbalancedString() {
assertEquals(new LineTokenizer.Token(LineTokenizer.TokenType.IDENTIFIER, "one"), tokens.next());
assertEquals(new LineTokenizer.Token(LineTokenizer.TokenType.STRING, "this is a test"), tokens.next());
- assertEquals(new LineTokenizer.Token(LineTokenizer.TokenType.STRING, "two"), tokens.next());;
+ assertEquals(new LineTokenizer.Token(LineTokenizer.TokenType.STRING, "two"), tokens.next());
assertFalse(tokens.hasNext());
assertEquals(LineTokenizer.EMPTY_TOKENS, tokenizer.next(LineTokenizer.TOKENS_ALL));
diff --git a/src/test/java/com/github/plusvic/yara/external/NativeExecutableTest.java b/src/test/java/com/github/plusvic/yara/external/NativeExecutableTest.java
index 2a083ee..2b6a32c 100644
--- a/src/test/java/com/github/plusvic/yara/external/NativeExecutableTest.java
+++ b/src/test/java/com/github/plusvic/yara/external/NativeExecutableTest.java
@@ -1,10 +1,13 @@
package com.github.plusvic.yara.external;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.UUID;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
/**
* User: pba
@@ -12,14 +15,15 @@
* Time: 8:55 AM
*/
public class NativeExecutableTest {
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testCreateNoName() {
- new NativeExecutable("");
+ assertThrows(IllegalArgumentException.class, () -> new NativeExecutable(""));
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testCreateNullName() {
- new NativeExecutable(null, NativeExecutableTest.class.getClassLoader());
+ assertThrows(IllegalArgumentException.class,
+ () -> new NativeExecutable(null, NativeExecutableTest.class.getClassLoader()));
}
@Test
diff --git a/src/test/java/com/github/plusvic/yara/external/YaraCompilerTest.java b/src/test/java/com/github/plusvic/yara/external/YaraCompilerTest.java
index a910223..2f9079a 100644
--- a/src/test/java/com/github/plusvic/yara/external/YaraCompilerTest.java
+++ b/src/test/java/com/github/plusvic/yara/external/YaraCompilerTest.java
@@ -1,7 +1,7 @@
package com.github.plusvic.yara.external;
import com.github.plusvic.yara.*;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.io.File;
import java.nio.file.Files;
@@ -13,7 +13,12 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
/**
* User: pba
@@ -55,35 +60,28 @@ public void testCreate() {
new YaraCompilerImpl();
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testSetNullCallback() {
- new YaraCompilerImpl().setCallback(null);
+ YaraCompilerImpl impl = new YaraCompilerImpl();
+ assertThrows(IllegalArgumentException.class, () -> impl.setCallback(null));
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testAddNullRule() {
- new YaraCompilerImpl().addRulesContent(null, null);
+ YaraCompilerImpl yaraCompiler = new YaraCompilerImpl();
+ assertThrows(IllegalArgumentException.class, () -> yaraCompiler.addRulesContent(null, null));
}
@Test
public void testSetCallback() throws Exception {
try (YaraCompiler compiler = new YaraCompilerImpl()) {
- compiler.setCallback(new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- }
- });
+ compiler.setCallback((errorLevel, fileName, lineNumber, message) -> {});
}
}
@Test
public void testAddRulesContentSucceeds() throws Exception {
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> fail();
try (YaraCompiler compiler = new YaraCompilerImpl()) {
compiler.setCallback(callback);
@@ -94,13 +92,10 @@ public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, Str
@Test
public void testAddRulesContentFails() throws Exception {
final AtomicBoolean called = new AtomicBoolean();
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- called.set(true);
- LOGGER.log(Level.INFO, String.format("Compilation failed in %s at %d: %s",
- fileName, lineNumber, message));
- }
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> {
+ called.set(true);
+ LOGGER.log(Level.INFO, String.format("Compilation failed in %s at %d: %s",
+ fileName, lineNumber, message));
};
try (YaraCompiler compiler = new YaraCompilerImpl()) {
@@ -119,12 +114,7 @@ public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, Str
@Test
public void testAddRulesFileSucceeds() throws Exception {
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> fail();
Path rule = File.createTempFile(UUID.randomUUID().toString(), "yara")
@@ -138,19 +128,15 @@ public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, Str
}
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testAddRulesFileFails() throws Exception {
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- }
- };
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> {};
String rule = UUID.randomUUID().toString();
try (YaraCompiler compiler = new YaraCompilerImpl()) {
compiler.setCallback(callback);
- compiler.addRulesFile(rule, rule, null);
+ assertThrows(IllegalArgumentException.class, () -> compiler.addRulesFile(rule, rule, null));
}
}
@@ -158,12 +144,7 @@ public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, Str
public void testAddRulePackageSucceeds() throws Exception {
final AtomicBoolean called = new AtomicBoolean();
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> fail();
try (YaraCompiler compiler = new YaraCompilerImpl()) {
@@ -175,11 +156,7 @@ public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, Str
Files.write(Paths.get(temp.getAbsolutePath()), "Hello world".getBytes(), StandardOpenOption.WRITE);
try (YaraScanner scanner = compiler.createScanner()) {
- scanner.setCallback(new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule rule) {
- }
- });
+ scanner.setCallback(rule -> {});
scanner.scan(temp);
}
@@ -191,12 +168,7 @@ public void onMatch(YaraRule rule) {
public void testAddRuleMultiLevelPackageSucceeds() throws Exception {
final AtomicBoolean called = new AtomicBoolean();
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> fail();
try (YaraCompiler compiler = new YaraCompilerImpl()) {
@@ -208,11 +180,7 @@ public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, Str
Files.write(Paths.get(temp.getAbsolutePath()), "Hello world".getBytes(), StandardOpenOption.WRITE);
try (YaraScanner scanner = compiler.createScanner()) {
- scanner.setCallback(new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule rule) {
- }
- });
+ scanner.setCallback(rule -> {});
scanner.scan(temp);
}
@@ -223,13 +191,10 @@ public void onMatch(YaraRule rule) {
@Test
public void testAddRulePackageFails() throws Exception {
final AtomicBoolean called = new AtomicBoolean();
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- called.set(true);
- LOGGER.log(Level.INFO, String.format("Compilation failed in %s at %d: %s",
- fileName, lineNumber, message));
- }
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> {
+ called.set(true);
+ LOGGER.log(Level.INFO, String.format("Compilation failed in %s at %d: %s",
+ fileName, lineNumber, message));
};
// Write test file
@@ -242,11 +207,7 @@ public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, Str
compiler.addRulesPackage(TestUtils.getResource("rules/two-levels.zip").toString(), null);
try (YaraScanner scanner = compiler.createScanner()) {
- scanner.setCallback(new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule rule) {
- }
- });
+ scanner.setCallback(rule -> {});
scanner.scan(temp);
}
@@ -261,12 +222,7 @@ public void onMatch(YaraRule rule) {
@Test
public void testCreateScanner() throws Exception {
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> fail();
try (YaraCompiler compiler = new YaraCompilerImpl()) {
compiler.setCallback(callback);
@@ -280,12 +236,7 @@ public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, Str
@Test
public void testAddRulesAfterScannerCreate() throws Exception {
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> fail();
try (YaraCompiler compiler = new YaraCompilerImpl()) {
compiler.setCallback(callback);
diff --git a/src/test/java/com/github/plusvic/yara/external/YaraImplTest.java b/src/test/java/com/github/plusvic/yara/external/YaraImplTest.java
index f2ebd25..0271ff8 100644
--- a/src/test/java/com/github/plusvic/yara/external/YaraImplTest.java
+++ b/src/test/java/com/github/plusvic/yara/external/YaraImplTest.java
@@ -1,8 +1,8 @@
package com.github.plusvic.yara.external;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
/**
* User: pba
diff --git a/src/test/java/com/github/plusvic/yara/external/YaraOutputProcessorTest.java b/src/test/java/com/github/plusvic/yara/external/YaraOutputProcessorTest.java
index c44b751..0622ef9 100644
--- a/src/test/java/com/github/plusvic/yara/external/YaraOutputProcessorTest.java
+++ b/src/test/java/com/github/plusvic/yara/external/YaraOutputProcessorTest.java
@@ -1,15 +1,20 @@
package com.github.plusvic.yara.external;
import com.github.plusvic.yara.*;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
-import static org.easymock.EasyMock.createNiceMock;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.fail;
+import static org.mockito.Mockito.mock;
+
/**
* User: pba
@@ -17,24 +22,19 @@
* Time: 3:56 PM
*/
public class YaraOutputProcessorTest {
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testCreateNull() {
- new YaraOutputProcessor(null);
+ assertThrows(IllegalArgumentException.class, () -> new YaraOutputProcessor(null));
}
@Test
public void testCreate() {
- new YaraOutputProcessor(createNiceMock(YaraScanCallback.class));
+ new YaraOutputProcessor(mock(YaraScanCallback.class));
}
@Test
public void testStartComplete() {
- YaraScanCallback callback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule rule) {
- fail();
- }
- };
+ YaraScanCallback callback = rule -> fail();
YaraOutputProcessor processor = new YaraOutputProcessor(callback);
processor.onStart();
@@ -45,12 +45,7 @@ public void onMatch(YaraRule rule) {
public void testRuleNoMeta() {
final AtomicReference captureRule = new AtomicReference<>();
- YaraScanCallback callback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule rule) {
- captureRule.set(rule);
- }
- };
+ YaraScanCallback callback = captureRule::set;
String value = "HelloWorld [] []";
@@ -69,12 +64,7 @@ public void onMatch(YaraRule rule) {
public void testRuleTags() {
final AtomicReference captureRule = new AtomicReference<>();
- YaraScanCallback callback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule rule) {
- captureRule.set(rule);
- }
- };
+ YaraScanCallback callback = captureRule::set;
String value = "HelloWorld [One,Two,Three] []";
@@ -103,12 +93,7 @@ public void onMatch(YaraRule rule) {
public void testRuleMeta() {
final AtomicReference captureRule = new AtomicReference<>();
- YaraScanCallback callback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule rule) {
- captureRule.set(rule);
- }
- };
+ YaraScanCallback callback = captureRule::set;
String value = "HelloWorld [] [name=\"InstallsDriver\",description=\"The file attempted to install a driver\"]";
@@ -140,12 +125,7 @@ public void onMatch(YaraRule rule) {
public void testRuleMetaAll() {
final AtomicReference captureRule = new AtomicReference<>();
- YaraScanCallback callback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule rule) {
- captureRule.set(rule);
- }
- };
+ YaraScanCallback callback = captureRule::set;
String value = "HelloWorld [] [string=\"String\",number=1,boolean=true]";
@@ -181,12 +161,7 @@ public void onMatch(YaraRule rule) {
public void testRuleMetaUgly() {
final AtomicReference captureRule = new AtomicReference<>();
- YaraScanCallback callback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule rule) {
- captureRule.set(rule);
- }
- };
+ YaraScanCallback callback = captureRule::set;
String value = "HelloWorld [One] [name=\"InstallsDriver\"," +
"description=\"The file attempted to install a driver\"," +
@@ -248,12 +223,7 @@ public void onMatch(YaraRule rule) {
public void testRuleMultiple() {
final List rules =new ArrayList<>();
- YaraScanCallback callback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule rule) {
- rules.add(rule);
- }
- };
+ YaraScanCallback callback = rules::add;
String[] lines = new String[] {
"HelloWorld [] [name=\"InstallsDriver\",description=\"The file attempted to install a driver\"] test.bla",
diff --git a/src/test/java/com/github/plusvic/yara/external/YaraScannerImplTest.java b/src/test/java/com/github/plusvic/yara/external/YaraScannerImplTest.java
index 97c08bd..545ecb5 100644
--- a/src/test/java/com/github/plusvic/yara/external/YaraScannerImplTest.java
+++ b/src/test/java/com/github/plusvic/yara/external/YaraScannerImplTest.java
@@ -2,7 +2,7 @@
import com.github.plusvic.yara.*;
import net.jcip.annotations.NotThreadSafe;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.io.File;
import java.nio.file.Files;
@@ -15,7 +15,13 @@
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+
/**
* User: pba
@@ -51,9 +57,9 @@ public class YaraScannerImplTest {
"}";
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testCreateNoRules() {
- new YaraScannerImpl(null);
+ assertThrows(IllegalArgumentException.class, () -> new YaraScannerImpl(null));
}
@Test
@@ -61,26 +67,18 @@ public void testCreate() {
new YaraScannerImpl(Paths.get(System.getProperty("java.io.tmpdir")));
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testWrongTimeout() {
- new YaraScannerImpl(Paths.get(System.getProperty("java.io.tmpdir"))).setTimeout(-1);
+ YaraScannerImpl impl = new YaraScannerImpl(Paths.get(System.getProperty("java.io.tmpdir")));
+ assertThrows(IllegalArgumentException.class, () -> impl.setTimeout(-1));
}
@Test
public void testSetCallback() throws Exception {
//
- YaraCompilationCallback compileCallback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback compileCallback = (errorLevel, fileName, lineNumber, message) -> fail();
- YaraScanCallback scanCallback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule v) {
- }
- };
+ YaraScanCallback scanCallback = v -> {};
// Create compiler and get scanner
try (YaraCompiler compiler = new YaraCompilerImpl()) {
@@ -103,24 +101,16 @@ public void testScanMatch() throws Exception {
//
- YaraCompilationCallback compileCallback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback compileCallback = (errorLevel, fileName, lineNumber, message) -> fail();
final AtomicBoolean match = new AtomicBoolean();
- YaraScanCallback scanCallback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule v) {
- assertEquals("HelloWorld", v.getIdentifier());
- assertMetas(v.getMetadata());
- assertStrings(v.getStrings());
+ YaraScanCallback scanCallback = v -> {
+ assertEquals("HelloWorld", v.getIdentifier());
+ assertMetas(v.getMetadata());
+ assertStrings(v.getStrings());
- match.set(true);
- }
+ match.set(true);
};
// Create compiler and get scanner
@@ -151,23 +141,14 @@ public void testScanNegateMatch() throws Exception {
//
- YaraCompilationCallback compileCallback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback compileCallback = (errorLevel, fileName, lineNumber, message) -> fail();
final AtomicInteger match = new AtomicInteger();
- YaraScanCallback scanCallback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule v) {
- assertMetas(v.getMetadata());
- assertFalse(v.getStrings().hasNext());
-
- match.incrementAndGet();
- }
+ YaraScanCallback scanCallback = v -> {
+ assertMetas(v.getMetadata());
+ assertFalse(v.getStrings().hasNext());
+ match.incrementAndGet();
};
// Create compiler and get scanner
@@ -200,23 +181,14 @@ public void testScanNegateLimitMatch() throws Exception {
//
- YaraCompilationCallback compileCallback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback compileCallback = (errorLevel, fileName, lineNumber, message) -> fail();
final AtomicInteger match = new AtomicInteger();
- YaraScanCallback scanCallback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule v) {
- assertMetas(v.getMetadata());
- assertFalse(v.getStrings().hasNext());
-
- match.incrementAndGet();
- }
+ YaraScanCallback scanCallback = v -> {
+ assertMetas(v.getMetadata());
+ assertFalse(v.getStrings().hasNext());
+ match.incrementAndGet();
};
// Create compiler and get scanner
@@ -245,21 +217,11 @@ public void testScanNoMatch() throws Exception {
//
- YaraCompilationCallback compileCallback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback compileCallback = (errorLevel, fileName, lineNumber, message) -> fail();
final AtomicBoolean match = new AtomicBoolean();
- YaraScanCallback scanCallback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule v) {
- match.set(true);
- }
- };
+ YaraScanCallback scanCallback = v -> match.set(true);
// Create compiler and get scanner
try (YaraCompiler compiler = new YaraCompilerImpl()) {
@@ -283,27 +245,16 @@ public void testScanModule() throws Exception {
File temp = File.createTempFile(UUID.randomUUID().toString(), ".tmp");
Files.write(Paths.get(temp.getAbsolutePath()), "Hello world".getBytes(), StandardOpenOption.WRITE);
- Map moduleArgs = new HashMap();
+ Map moduleArgs = new HashMap<>();
moduleArgs.put("pe", temp.getAbsolutePath());
//
- YaraCompilationCallback compileCallback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback compileCallback = (errorLevel, fileName, lineNumber, message) -> fail();
final AtomicBoolean match = new AtomicBoolean();
- YaraScanCallback scanCallback = new YaraScanCallback() {
- @Override
- public void onMatch(YaraRule v) {
-
- match.set(true);
- }
- };
+ YaraScanCallback scanCallback = v -> match.set(true);
// Create compiler and get scanner
diff --git a/src/test/java/com/github/plusvic/yara/external/YaracExecutableTest.java b/src/test/java/com/github/plusvic/yara/external/YaracExecutableTest.java
index b0ebb12..8628672 100644
--- a/src/test/java/com/github/plusvic/yara/external/YaracExecutableTest.java
+++ b/src/test/java/com/github/plusvic/yara/external/YaracExecutableTest.java
@@ -2,15 +2,23 @@
import com.github.plusvic.yara.TestUtils;
import com.github.plusvic.yara.YaraCompilationCallback;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.concurrent.atomic.AtomicBoolean;
-import static org.easymock.EasyMock.*;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
/**
* User: pba
@@ -23,26 +31,26 @@ public void testCreate() {
new YaracExecutable();
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testCreateNull() {
- new YaracExecutable(null);
+ assertThrows(IllegalArgumentException.class, () -> new YaracExecutable(null));
}
@Test
public void testCreateNativeExec() {
- NativeExecutable exec = createNiceMock(NativeExecutable.class);
- expect(exec.load()).andReturn(true).once();
- replay(exec);
+ NativeExecutable exec = mock(NativeExecutable.class);
+ when(exec.load()).thenReturn(true);
new YaracExecutable(exec);
- verify(exec);
+ verify(exec, times(1)).load();
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testRuleNullNamespace() {
YaracExecutable exec = new YaracExecutable();
- assertEquals(exec, exec.addRule(null, Paths.get(System.getProperty("java.io.tmpdir"))));
+ Path tempdir = Paths.get(System.getProperty("java.io.tmpdir"));
+ assertThrows(IllegalArgumentException.class, () -> exec.addRule(null, tempdir));
}
@@ -56,12 +64,7 @@ public void testRule() {
public void testExecuteNoArgs() throws Exception {
final AtomicBoolean failure = new AtomicBoolean();
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- failure.set(true);
- }
- };
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> failure.set(true);
Path output = new YaracExecutable().compile(callback);
assertNotNull(output);
@@ -70,12 +73,7 @@ public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, Str
@Test
public void testExecuteOK() throws Exception {
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- fail();
- }
- };
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> fail();
Path output = new YaracExecutable()
.addRule(TestUtils.getResource("rules/hello.yara"))
@@ -89,15 +87,12 @@ public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, Str
public void testExecuteError() throws Exception {
final AtomicBoolean failure = new AtomicBoolean();
- YaraCompilationCallback callback = new YaraCompilationCallback() {
- @Override
- public void onError(ErrorLevel errorLevel, String fileName, long lineNumber, String message) {
- assertEquals(ErrorLevel.ERROR, errorLevel);
- assertTrue(fileName.endsWith("error.yara"));
- assertEquals(13, lineNumber);
- assertTrue(message.endsWith("$b\""));
- failure.set(true);
- }
+ YaraCompilationCallback callback = (errorLevel, fileName, lineNumber, message) -> {
+ assertEquals(YaraCompilationCallback.ErrorLevel.ERROR, errorLevel);
+ assertTrue(fileName.endsWith("error.yara"));
+ assertEquals(13, lineNumber);
+ assertTrue(message.endsWith("$b\""));
+ failure.set(true);
};
Path output = new YaracExecutable()