diff --git a/docs/modules/databases/trino.md b/docs/modules/databases/trino.md
index a7ab7495de8..9cb6be8bb5b 100644
--- a/docs/modules/databases/trino.md
+++ b/docs/modules/databases/trino.md
@@ -7,7 +7,7 @@ Testcontainers module for [Trino](https://hub.docker.com/r/trinodb/trino)
You can start a Trino container instance from any Java application by using:
-[Container creation](../../../modules/trino/src/test/java/org/testcontainers/containers/TrinoContainerTest.java) inside_block:container
+[Container creation](../../../modules/trino/src/test/java/org/testcontainers/trino/TrinoContainerTest.java) inside_block:container
See [Database containers](./index.md) for documentation and usage that is common to all database container types.
diff --git a/modules/trino/src/main/java/org/testcontainers/containers/TrinoContainer.java b/modules/trino/src/main/java/org/testcontainers/containers/TrinoContainer.java
index 19da8d9252a..4f61b6e2352 100644
--- a/modules/trino/src/main/java/org/testcontainers/containers/TrinoContainer.java
+++ b/modules/trino/src/main/java/org/testcontainers/containers/TrinoContainer.java
@@ -15,7 +15,10 @@
* Supported image: {@code trinodb/trino}
*
* Exposed ports: 8080
+ *
+ * @deprecated use {@link org.testcontainers.trino.TrinoContainer} instead.
*/
+@Deprecated
public class TrinoContainer extends JdbcDatabaseContainer {
static final String NAME = "trino";
diff --git a/modules/trino/src/main/java/org/testcontainers/trino/TrinoContainer.java b/modules/trino/src/main/java/org/testcontainers/trino/TrinoContainer.java
new file mode 100644
index 00000000000..145ae4b454c
--- /dev/null
+++ b/modules/trino/src/main/java/org/testcontainers/trino/TrinoContainer.java
@@ -0,0 +1,108 @@
+package org.testcontainers.trino;
+
+import com.google.common.base.Strings;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.VisibleForTesting;
+import org.testcontainers.containers.JdbcDatabaseContainer;
+import org.testcontainers.utility.DockerImageName;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.Set;
+
+/**
+ * Testcontainers implementation for TrinoDB.
+ *
+ * Supported image: {@code trinodb/trino}
+ *
+ * Exposed ports: 8080
+ */
+public class TrinoContainer extends JdbcDatabaseContainer {
+
+ static final String NAME = "trino";
+
+ private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("trinodb/trino");
+
+ static final String IMAGE = "trinodb/trino";
+
+ @VisibleForTesting
+ static final String DEFAULT_TAG = "352";
+
+ private static final int TRINO_PORT = 8080;
+
+ private String username = "test";
+
+ private String catalog = null;
+
+ public TrinoContainer(final String dockerImageName) {
+ this(DockerImageName.parse(dockerImageName));
+ }
+
+ public TrinoContainer(final DockerImageName dockerImageName) {
+ super(dockerImageName);
+ dockerImageName.assertCompatibleWith(DEFAULT_IMAGE_NAME);
+ addExposedPort(TRINO_PORT);
+ }
+
+ /**
+ * @return the ports on which to check if the container is ready
+ * @deprecated use {@link #getLivenessCheckPortNumbers()} instead
+ */
+ @NotNull
+ @Override
+ @Deprecated
+ protected Set getLivenessCheckPorts() {
+ return super.getLivenessCheckPorts();
+ }
+
+ @Override
+ public String getDriverClassName() {
+ return "io.trino.jdbc.TrinoDriver";
+ }
+
+ @Override
+ public String getJdbcUrl() {
+ return String.format(
+ "jdbc:trino://%s:%s/%s",
+ getHost(),
+ getMappedPort(TRINO_PORT),
+ Strings.nullToEmpty(catalog)
+ );
+ }
+
+ @Override
+ public String getUsername() {
+ return username;
+ }
+
+ @Override
+ public String getPassword() {
+ return "";
+ }
+
+ @Override
+ public String getDatabaseName() {
+ return catalog;
+ }
+
+ @Override
+ public String getTestQueryString() {
+ return "SELECT count(*) FROM tpch.tiny.nation";
+ }
+
+ @Override
+ public TrinoContainer withUsername(final String username) {
+ this.username = username;
+ return this;
+ }
+
+ @Override
+ public TrinoContainer withDatabaseName(String dbName) {
+ this.catalog = dbName;
+ return this;
+ }
+
+ public Connection createConnection() throws SQLException, NoDriverFoundException {
+ return createConnection("");
+ }
+}
diff --git a/modules/trino/src/test/java/org/testcontainers/containers/TrinoContainerTest.java b/modules/trino/src/test/java/org/testcontainers/trino/TrinoContainerTest.java
similarity index 93%
rename from modules/trino/src/test/java/org/testcontainers/containers/TrinoContainerTest.java
rename to modules/trino/src/test/java/org/testcontainers/trino/TrinoContainerTest.java
index a12df1bcda7..c76c1bbb322 100644
--- a/modules/trino/src/test/java/org/testcontainers/containers/TrinoContainerTest.java
+++ b/modules/trino/src/test/java/org/testcontainers/trino/TrinoContainerTest.java
@@ -1,4 +1,4 @@
-package org.testcontainers.containers;
+package org.testcontainers.trino;
import org.junit.jupiter.api.Test;
import org.testcontainers.TrinoTestImages;
@@ -24,9 +24,7 @@ void testSimple() throws Exception {
ResultSet resultSet = statement.executeQuery("SELECT DISTINCT node_version FROM system.runtime.nodes")
) {
assertThat(resultSet.next()).as("results").isTrue();
- assertThat(resultSet.getString("node_version"))
- .as("Trino version")
- .isEqualTo(TrinoContainer.DEFAULT_TAG);
+ assertThat(resultSet.getString("node_version")).as("Trino version").isEqualTo("352");
assertContainerHasCorrectExposedAndLivenessCheckPorts(trino);
}
}