Skip to content

Commit

Permalink
Revert previous change, introduce tmpfs and bump MySQL driver and Tes…
Browse files Browse the repository at this point in the history
…tContainers versions
  • Loading branch information
badgerwithagun committed Mar 11, 2024
1 parent bbbd577 commit d870f22
Show file tree
Hide file tree
Showing 9 changed files with 144 additions and 30 deletions.
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<logback.version>1.4.14</logback.version>
<revision>1.3.99999-SNAPSHOT</revision>
<junit.jupiter.version>5.10.1</junit.jupiter.version>
<testcontainers.version>1.19.3</testcontainers.version>
<testcontainers.version>1.19.7</testcontainers.version>
<maven.source.plugin.version>3.3.0</maven.source.plugin.version>
<nexus.staging.plugin.version>1.6.13</nexus.staging.plugin.version>
<maven.gpg.plugin.version>3.1.0</maven.gpg.plugin.version>
Expand Down Expand Up @@ -160,7 +160,7 @@
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.2.0</version>
<version>8.3.0</version>
<scope>test</scope>
</dependency>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,32 @@

import com.gruelbox.transactionoutbox.Dialect;
import com.gruelbox.transactionoutbox.testing.AbstractAcceptanceTest;
import java.time.Duration;
import java.util.Map;
import org.testcontainers.containers.JdbcDatabaseContainer;
import org.testcontainers.containers.MySQLContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;

@SuppressWarnings("WeakerAccess")
@Testcontainers
class TestMySql5 extends AbstractAcceptanceTest {

@Container
@SuppressWarnings({"rawtypes", "resource"})
private static final JdbcDatabaseContainer container =
new MySQLContainer<>("mysql:5")
.withStartupTimeout(Duration.ofMinutes(5))
.withTmpFs(Map.of("/var/lib/mysql", "rw"));

@Override
protected ConnectionDetails connectionDetails() {
return ConnectionDetails.builder()
.dialect(Dialect.MY_SQL_5)
.driverClassName("com.mysql.cj.jdbc.Driver")
.url("jdbc:tc:mysql:5:///test?TC_REUSABLE=true&TC_TMPFS=/var/lib/mysql:rw")
.user("test")
.password("test")
.url(container.getJdbcUrl())
.user(container.getUsername())
.password(container.getPassword())
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,32 @@

import com.gruelbox.transactionoutbox.Dialect;
import com.gruelbox.transactionoutbox.testing.AbstractAcceptanceTest;
import java.time.Duration;
import java.util.Map;
import org.testcontainers.containers.JdbcDatabaseContainer;
import org.testcontainers.containers.MySQLContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;

@SuppressWarnings("WeakerAccess")
@Testcontainers
class TestMySql8 extends AbstractAcceptanceTest {

@Container
@SuppressWarnings({"rawtypes", "resource"})
private static final JdbcDatabaseContainer container =
new MySQLContainer<>("mysql:8")
.withStartupTimeout(Duration.ofMinutes(5))
.withTmpFs(Map.of("/var/lib/mysql", "rw"));

@Override
protected ConnectionDetails connectionDetails() {
return ConnectionDetails.builder()
.dialect(Dialect.MY_SQL_8)
.driverClassName("com.mysql.cj.jdbc.Driver")
.url("jdbc:tc:mysql:8:///test?TC_REUSABLE=true&TC_TMPFS=/var/lib/mysql:rw")
.user("test")
.password("test")
.url(container.getJdbcUrl())
.user(container.getUsername())
.password(container.getPassword())
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,31 @@
import com.gruelbox.transactionoutbox.Dialect;
import com.gruelbox.transactionoutbox.TransactionManager;
import com.gruelbox.transactionoutbox.testing.AbstractPersistorTest;
import java.time.Duration;
import java.util.Map;
import org.testcontainers.containers.JdbcDatabaseContainer;
import org.testcontainers.containers.MySQLContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;

@Testcontainers
class TestDefaultPersistorMySql5 extends AbstractPersistorTest {

@Container
@SuppressWarnings({"rawtypes", "resource"})
private static final JdbcDatabaseContainer container =
new MySQLContainer<>("mysql:5")
.withStartupTimeout(Duration.ofMinutes(5))
.withTmpFs(Map.of("/var/lib/mysql", "rw"));

private final DefaultPersistor persistor =
DefaultPersistor.builder().dialect(Dialect.MY_SQL_5).build();
private final TransactionManager txManager =
TransactionManager.fromConnectionDetails(
"com.mysql.cj.jdbc.Driver",
"jdbc:tc:mysql:5:///test?TC_REUSABLE=true&TC_TMPFS=/var/lib/mysql:rw",
"test",
"test");
container.getJdbcUrl(),
container.getUsername(),
container.getPassword());

@Override
protected DefaultPersistor persistor() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,31 @@
import com.gruelbox.transactionoutbox.Dialect;
import com.gruelbox.transactionoutbox.TransactionManager;
import com.gruelbox.transactionoutbox.testing.AbstractPersistorTest;
import java.time.Duration;
import java.util.Map;
import org.testcontainers.containers.JdbcDatabaseContainer;
import org.testcontainers.containers.MySQLContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;

@Testcontainers
class TestDefaultPersistorMySql8 extends AbstractPersistorTest {

@Container
@SuppressWarnings({"rawtypes", "resource"})
private static final JdbcDatabaseContainer container =
new MySQLContainer<>("mysql:8")
.withStartupTimeout(Duration.ofMinutes(5))
.withTmpFs(Map.of("/var/lib/mysql", "rw"));

private final DefaultPersistor persistor =
DefaultPersistor.builder().dialect(Dialect.MY_SQL_8).build();
private final TransactionManager txManager =
TransactionManager.fromConnectionDetails(
"com.mysql.cj.jdbc.Driver",
"jdbc:tc:mysql:8:///test?TC_REUSABLE=true&TC_TMPFS=/var/lib/mysql:rw",
"test",
"test");
container.getJdbcUrl(),
container.getUsername(),
container.getPassword());

@Override
protected DefaultPersistor persistor() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,35 @@
package com.gruelbox.transactionoutbox.jooq.acceptance;

import com.gruelbox.transactionoutbox.Dialect;
import java.time.Duration;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import org.jooq.SQLDialect;
import org.testcontainers.containers.JdbcDatabaseContainer;
import org.testcontainers.containers.MySQLContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;

@Slf4j
@Testcontainers
class TestJooqThreadLocalMySql5 extends AbstractJooqAcceptanceThreadLocalTest {

@Container
@SuppressWarnings({"rawtypes", "resource", "unchecked"})
private static final JdbcDatabaseContainer<?> container =
(JdbcDatabaseContainer<?>)
new MySQLContainer("mysql:5")
.withStartupTimeout(Duration.ofMinutes(5))
.withTmpFs(Map.of("/var/lib/mysql", "rw"));

@Override
protected ConnectionDetails connectionDetails() {
return ConnectionDetails.builder()
.dialect(Dialect.MY_SQL_5)
.driverClassName("com.mysql.cj.jdbc.Driver")
.url("jdbc:tc:mysql:5:///test?TC_REUSABLE=true&TC_TMPFS=/var/lib/mysql:rw")
.user("test")
.password("test")
.url(container.getJdbcUrl())
.user(container.getUsername())
.password(container.getPassword())
.build();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,35 @@
package com.gruelbox.transactionoutbox.jooq.acceptance;

import com.gruelbox.transactionoutbox.*;
import java.time.Duration;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import org.jooq.SQLDialect;
import org.testcontainers.containers.JdbcDatabaseContainer;
import org.testcontainers.containers.MySQLContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;

@Slf4j
@Testcontainers
class TestJooqThreadLocalMySql8 extends AbstractJooqAcceptanceThreadLocalTest {

@Container
@SuppressWarnings({"rawtypes", "resource", "unchecked"})
private static final JdbcDatabaseContainer<?> container =
(JdbcDatabaseContainer<?>)
new MySQLContainer("mysql:8")
.withStartupTimeout(Duration.ofMinutes(5))
.withTmpFs(Map.of("/var/lib/mysql", "rw"));

@Override
protected ConnectionDetails connectionDetails() {
return ConnectionDetails.builder()
.dialect(Dialect.MY_SQL_8)
.driverClassName("com.mysql.cj.jdbc.Driver")
.url("jdbc:tc:mysql:8:///test?TC_REUSABLE=true&TC_TMPFS=/var/lib/mysql:rw")
.user("test")
.password("test")
.url(container.getJdbcUrl())
.user(container.getUsername())
.password(container.getPassword())
.build();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,35 @@
package com.gruelbox.transactionoutbox.virtthreads;

import static com.gruelbox.transactionoutbox.Dialect.MY_SQL_5;

import com.gruelbox.transactionoutbox.Dialect;
import java.time.Duration;
import java.util.Map;
import org.junit.jupiter.api.Disabled;
import org.testcontainers.containers.JdbcDatabaseContainer;
import org.testcontainers.containers.MySQLContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;

@SuppressWarnings("WeakerAccess")
@Testcontainers
@Disabled
class TestVirtualThreadsMySql5 extends AbstractVirtualThreadsTest {

@Container
@SuppressWarnings({"rawtypes", "resource"})
private static final JdbcDatabaseContainer container =
new MySQLContainer<>("mysql:5")
.withStartupTimeout(Duration.ofMinutes(5))
.withTmpFs(Map.of("/var/lib/mysql", "rw"));

@Override
protected ConnectionDetails connectionDetails() {
return ConnectionDetails.builder()
.dialect(Dialect.MY_SQL_5)
.dialect(MY_SQL_5)
.driverClassName("com.mysql.cj.jdbc.Driver")
.url("jdbc:tc:mysql:5:///test?TC_REUSABLE=true&TC_TMPFS=/var/lib/mysql:rw")
.user("test")
.password("test")
.url(container.getJdbcUrl())
.user(container.getUsername())
.password(container.getPassword())
.build();
}
}
Original file line number Diff line number Diff line change
@@ -1,21 +1,35 @@
package com.gruelbox.transactionoutbox.virtthreads;

import static com.gruelbox.transactionoutbox.Dialect.MY_SQL_8;

import com.gruelbox.transactionoutbox.Dialect;
import java.time.Duration;
import java.util.Map;
import org.junit.jupiter.api.Disabled;
import org.testcontainers.containers.JdbcDatabaseContainer;
import org.testcontainers.containers.MySQLContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;

@SuppressWarnings("WeakerAccess")
@Testcontainers
@Disabled
class TestVirtualThreadsMySql8 extends AbstractVirtualThreadsTest {

@Container
@SuppressWarnings({"rawtypes", "resource"})
private static final JdbcDatabaseContainer container =
new MySQLContainer<>("mysql:8")
.withStartupTimeout(Duration.ofMinutes(5))
.withTmpFs(Map.of("/var/lib/mysql", "rw"));

@Override
protected ConnectionDetails connectionDetails() {
return ConnectionDetails.builder()
.dialect(Dialect.MY_SQL_8)
.dialect(MY_SQL_8)
.driverClassName("com.mysql.cj.jdbc.Driver")
.url("jdbc:tc:mysql:8:///test?TC_REUSABLE=true&TC_TMPFS=/var/lib/mysql:rw")
.user("test")
.password("test")
.url(container.getJdbcUrl())
.user(container.getUsername())
.password(container.getPassword())
.build();
}
}

0 comments on commit d870f22

Please sign in to comment.