Changeset: 702998f3a773 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/702998f3a773
Modified Files:
src/test/java/org/monetdb/jdbc/ApiTests.java
src/test/java/org/monetdb/jdbc/LoggingTests.java
src/test/java/org/monetdb/jdbc/TLSTests.java
src/test/java/org/monetdb/testinfra/Assertions.java
Branch: default
Log Message:
Introduce assertContains
diffs (122 lines):
diff --git a/src/test/java/org/monetdb/jdbc/ApiTests.java
b/src/test/java/org/monetdb/jdbc/ApiTests.java
--- a/src/test/java/org/monetdb/jdbc/ApiTests.java
+++ b/src/test/java/org/monetdb/jdbc/ApiTests.java
@@ -20,6 +20,7 @@ import java.util.HashMap;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assumptions.assumeTrue;
+import static org.monetdb.testinfra.Assertions.assertContains;
import static org.monetdb.testinfra.Assertions.assertSQLException;
/**
@@ -660,8 +661,8 @@ public class ApiTests {
ResultSetMetaData md = rs.getMetaData();
assertTrue(rs.next());
String line = rs.getString(2);
- assertTrue(line.contains(":= querylog.define"), line);
- assertTrue(line.contains("select 42"), line);
+ assertContains(":= querylog.define", line);
+ assertContains("select 42", line);
} finally {
if (rs != null)
rs.close();
@@ -1823,7 +1824,7 @@ public class ApiTests {
// Committing conn2 fails, somehow conn1 and conn2
fight over the primary key index
SQLException sqle = assertThrows(SQLException.class,
conn2::commit);
- assertTrue(sqle.getMessage().contains("concurrency
conflicts"), sqle.getMessage());
+ assertContains("concurrency conflicts",
sqle.getMessage());
conn2.setAutoCommit(true);
stmt2.execute("INSERT INTO tconc_seq(who) VALUES
('client2')");
diff --git a/src/test/java/org/monetdb/jdbc/LoggingTests.java
b/src/test/java/org/monetdb/jdbc/LoggingTests.java
--- a/src/test/java/org/monetdb/jdbc/LoggingTests.java
+++ b/src/test/java/org/monetdb/jdbc/LoggingTests.java
@@ -19,6 +19,7 @@ import java.util.List;
import java.util.Properties;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.monetdb.testinfra.Assertions.assertContains;
public class LoggingTests {
@TempDir
@@ -78,7 +79,7 @@ public class LoggingTests {
byte[] contentBytes = Files.readAllBytes(logFile);
String content = new String(contentBytes,
StandardCharsets.UTF_8);
- assertTrue(content.contains(data));
+ assertContains(data, content);
}
diff --git a/src/test/java/org/monetdb/jdbc/TLSTests.java
b/src/test/java/org/monetdb/jdbc/TLSTests.java
--- a/src/test/java/org/monetdb/jdbc/TLSTests.java
+++ b/src/test/java/org/monetdb/jdbc/TLSTests.java
@@ -27,6 +27,7 @@ import java.net.URLConnection;
import java.sql.SQLException;
import static org.junit.jupiter.api.Assertions.*;
+import static org.monetdb.testinfra.Assertions.assertNotContains;
import static org.monetdb.testinfra.Assertions.assertSQLException;
@Tag("tls")
@@ -102,7 +103,7 @@ public class TLSTests {
*/
private String download(String name) throws IOException {
assertTrue(name.startsWith("/"));
- assertFalse(name.substring(1).contains("/"));
+ assertNotContains("/", name.substring(1));
File filename = new File(tmpDir, name.substring(1));
try (FileOutputStream out = new FileOutputStream(filename)) {
fetch(name, out);
diff --git a/src/test/java/org/monetdb/testinfra/Assertions.java
b/src/test/java/org/monetdb/testinfra/Assertions.java
--- a/src/test/java/org/monetdb/testinfra/Assertions.java
+++ b/src/test/java/org/monetdb/testinfra/Assertions.java
@@ -13,6 +13,7 @@ package org.monetdb.testinfra;
import java.sql.SQLException;
+import static org.junit.jupiter.api.AssertionFailureBuilder.assertionFailure;
import static org.junit.jupiter.api.Assertions.fail;
public class Assertions {
@@ -41,5 +42,39 @@ public class Assertions {
}
+ public static void assertContains(String needle, String haystack) {
+ assertContains(needle, haystack, null);
+ }
+ public static void assertContains(String needle, String haystack,
String message) {
+ if (needle == null)
+ assertionFailure().reason("substring to search must not
be null").buildAndThrow();
+ if (haystack != null && haystack.contains(needle))
+ return;
+
+ assertionFailure() //
+ .reason("substring not found") //
+ .message(message) //
+ .expected(needle) //
+ .actual(haystack) //
+ .buildAndThrow();
+ }
+
+ public static void assertNotContains(String needle, String haystack) {
+ assertNotContains(needle, haystack, null);
+ }
+
+ public static void assertNotContains(String needle, String haystack,
String message) {
+ if (needle == null)
+ assertionFailure().reason("substring to search must not
be null").buildAndThrow();
+ if (haystack != null && !haystack.contains(needle))
+ return;
+
+ assertionFailure() //
+ .reason("forbidden substring did occur") //
+ .message(message) //
+ .expected(needle) //
+ .actual(haystack) //
+ .buildAndThrow();
+ }
}
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]