Skip HyperSQL tests if the test environment has crypto restrictions.

This commit is contained in:
akwizgran
2020-09-10 15:07:38 +01:00
parent bb71de1a78
commit 2201585a34
4 changed files with 38 additions and 0 deletions

View File

@@ -40,6 +40,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -50,6 +51,7 @@ import java.util.Random;
import java.util.concurrent.atomic.AtomicInteger;
import javax.annotation.Nullable;
import javax.crypto.Cipher;
import static java.util.Arrays.asList;
import static org.briarproject.bramble.api.crypto.CryptoConstants.MAX_AGREEMENT_PUBLIC_KEY_BYTES;
@@ -335,4 +337,13 @@ public class TestUtils {
}
return false;
}
public static boolean isCryptoStrengthUnlimited() {
try {
return Cipher.getMaxAllowedKeyLength("AES/CBC/PKCS5Padding")
== Integer.MAX_VALUE;
} catch (NoSuchAlgorithmException e) {
throw new AssertionError();
}
}
}

View File

@@ -3,6 +3,7 @@ package org.briarproject.bramble.db;
import org.briarproject.bramble.api.crypto.SecretKey;
import org.briarproject.bramble.test.TestUtils;
import org.briarproject.bramble.util.StringUtils;
import org.junit.Before;
import java.io.File;
import java.sql.Connection;
@@ -10,10 +11,18 @@ import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import static org.briarproject.bramble.test.TestUtils.isCryptoStrengthUnlimited;
import static org.junit.Assume.assumeTrue;
public class BasicHyperSqlTest extends BasicDatabaseTest {
private final SecretKey key = TestUtils.getSecretKey();
@Before
public void setUp() {
assumeTrue(isCryptoStrengthUnlimited());
}
@Override
protected String getBinaryType() {
return "BINARY(32)";

View File

@@ -3,9 +3,18 @@ package org.briarproject.bramble.db;
import org.briarproject.bramble.api.db.DatabaseConfig;
import org.briarproject.bramble.api.sync.MessageFactory;
import org.briarproject.bramble.api.system.Clock;
import org.junit.Before;
import static org.briarproject.bramble.test.TestUtils.isCryptoStrengthUnlimited;
import static org.junit.Assume.assumeTrue;
public class HyperSqlDatabaseTest extends JdbcDatabaseTest {
@Before
public void setUp() {
assumeTrue(isCryptoStrengthUnlimited());
}
@Override
protected JdbcDatabase createDatabase(DatabaseConfig config,
MessageFactory messageFactory, Clock clock) {

View File

@@ -1,13 +1,22 @@
package org.briarproject.bramble.db;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import org.junit.Before;
import java.sql.Connection;
import java.util.List;
import static org.briarproject.bramble.test.TestUtils.isCryptoStrengthUnlimited;
import static org.junit.Assume.assumeTrue;
@NotNullByDefault
public class HyperSqlMigrationTest extends DatabaseMigrationTest {
@Before
public void setUp() {
assumeTrue(isCryptoStrengthUnlimited());
}
@Override
Database<Connection> createDatabase(
List<Migration<Connection>> migrations) {