How to use TiDBContainer method of org.testcontainers.tidb.TiDBContainer class

Best Testcontainers-java code snippet using org.testcontainers.tidb.TiDBContainer.TiDBContainer

Source:AppTest.java Github

copy

Full Screen

2import com.mysql.cj.jdbc.MysqlDataSource;3import org.junit.jupiter.api.BeforeAll;4import org.junit.jupiter.api.Test;5import org.testcontainers.junit.jupiter.Container;6import org.testcontainers.tidb.TiDBContainer;7import javax.sql.DataSource;8import java.sql.ResultSet;9import java.sql.SQLException;10import java.sql.Statement;11public class AppTest12{13 // Default TiDB version at DockerHub: https://hub.docker.com/r/pingcap/tidb14 @Container15 private static final TiDBContainer tidb = new TiDBContainer("pingcap/tidb");16 public static void printTiDBParams(TiDBContainer tidb) {17 System.out.println("db: " + tidb.getDatabaseName());18 System.out.println("username: " + tidb.getUsername());19 System.out.println("password: " + tidb.getPassword());20 System.out.println("jdbc: " + tidb.getJdbcUrl());21 }22 @BeforeAll23 public static void beforeAll() {24 tidb.start();25 }26 protected ResultSet performQuery(TiDBContainer container, String sql) throws SQLException {27 DataSource ds = getDataSource(container);28 Statement statement = ds.getConnection().createStatement();29 statement.execute(sql);30 return statement.getResultSet();31 }32 protected DataSource getDataSource(TiDBContainer container) throws SQLException {33 MysqlDataSource dataSource = new MysqlDataSource();34 dataSource.setURL(container.getJdbcUrl());35 dataSource.setUser(container.getUsername());36 dataSource.setPassword(container.getPassword());37 dataSource.setUseSSL(false);38 return dataSource;39 }40 @Test41 public void printDefaultTiDBVersion() throws SQLException {42 System.out.println("------------ TiDB default version ------------");43 printTiDBParams(tidb);44 ResultSet rs = performQuery(tidb, "SELECT VERSION()");45 while (rs.next()) {46 System.out.println(rs.getString(1));47 }48 }49 @Test50 public void printParticularTiDBVersion() throws SQLException {51 // Appoint TiDB version to v6.2.052 try (TiDBContainer tidb62 = new TiDBContainer("pingcap/tidb:v6.2.0")) {53 tidb62.start();54 System.out.println("------------ TiDB v6.2.0 version ------------");55 printTiDBParams(tidb62);56 ResultSet rs = performQuery(tidb62, "SELECT VERSION()");57 while (rs.next()) {58 System.out.println(rs.getString(1));59 }60 }61 }62}...

Full Screen

Full Screen

Source:SimpleTiDBTest.java Github

copy

Full Screen

1package org.testcontainers.junit.tidb;2import org.junit.Test;3import org.testcontainers.TiDBTestImages;4import org.testcontainers.db.AbstractContainerDatabaseTest;5import org.testcontainers.tidb.TiDBContainer;6import java.sql.ResultSet;7import java.sql.SQLException;8import static org.assertj.core.api.Assertions.assertThat;9public class SimpleTiDBTest extends AbstractContainerDatabaseTest {10 @Test11 public void testSimple() throws SQLException {12 try (TiDBContainer tidb = new TiDBContainer(TiDBTestImages.TIDB_IMAGE)) {13 tidb.start();14 ResultSet resultSet = performQuery(tidb, "SELECT 1");15 int resultSetInt = resultSet.getInt(1);16 assertThat(resultSetInt).isEqualTo(1);17 assertHasCorrectExposedAndLivenessCheckPorts(tidb);18 }19 }20 @Test21 public void testExplicitInitScript() throws SQLException {22 try (23 TiDBContainer tidb = new TiDBContainer(TiDBTestImages.TIDB_IMAGE).withInitScript("somepath/init_tidb.sql")24 ) { // TiDB is expected to be compatible with MySQL25 tidb.start();26 ResultSet resultSet = performQuery(tidb, "SELECT foo FROM bar");27 String firstColumnValue = resultSet.getString(1);28 assertThat(firstColumnValue).isEqualTo("hello world");29 }30 }31 @Test32 public void testWithAdditionalUrlParamInJdbcUrl() {33 TiDBContainer tidb = new TiDBContainer(TiDBTestImages.TIDB_IMAGE).withUrlParam("sslmode", "disable");34 try {35 tidb.start();36 String jdbcUrl = tidb.getJdbcUrl();37 assertThat(jdbcUrl).contains("?");38 assertThat(jdbcUrl).contains("sslmode=disable");39 } finally {40 tidb.stop();41 }42 }43 private void assertHasCorrectExposedAndLivenessCheckPorts(TiDBContainer tidb) {44 Integer tidbPort = 4000;45 Integer restApiPort = 10080;46 assertThat(tidb.getExposedPorts()).containsExactlyInAnyOrder(tidbPort, restApiPort);47 assertThat(tidb.getLivenessCheckPortNumbers())48 .containsExactlyInAnyOrder(tidb.getMappedPort(tidbPort), tidb.getMappedPort(restApiPort));49 }50}...

Full Screen

Full Screen

Source:TiDBTest.java Github

copy

Full Screen

...7import org.springframework.test.context.DynamicPropertyRegistry;8import org.springframework.test.context.DynamicPropertySource;9import org.testcontainers.junit.jupiter.Container;10import org.testcontainers.junit.jupiter.Testcontainers;11import org.testcontainers.tidb.TiDBContainer;12import static org.assertj.core.api.Assertions.assertThat;13@Testcontainers14@DataJdbcTest15@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)16class TiDBTest {17 @Container18 private static final TiDBContainer postgres = new TiDBContainer("pingcap/tidb:v6.1.0");19 @Autowired20 private JdbcTemplate jdbcTemplate;21 @DynamicPropertySource22 static void sqlserverProperties(DynamicPropertyRegistry registry) {23 registry.add("spring.datasource.url", postgres::getJdbcUrl);24 registry.add("spring.datasource.username", postgres::getUsername);25 registry.add("spring.datasource.password", postgres::getPassword);26 }27 @Test28 void test() {29 var records = this.jdbcTemplate.queryForList("select count(*) from profile");30 assertThat(records).hasSize(1);31 }32}...

Full Screen

Full Screen

TiDBContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.TiDBContainer;2public class 1 {3 public static void main(String[] args) {4 try (TiDBContainer tidb = new TiDBContainer()) {5 tidb.start();6 System.out.println(tidb.getJdbcUrl());7 System.out.println(tidb.getDatabaseName());8 System.out.println(tidb.getUsername());9 System.out.println(tidb.getPassword());10 }11 }12}

Full Screen

Full Screen

TiDBContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.tidb.TiDBContainer;2public class 1 {3 public static void main(String[] args) {4 TiDBContainer tidb = new TiDBContainer();5 tidb.start();6 System.out.println(tidb.getJdbcUrl());7 System.out.println(tidb.getUsername());8 System.out.println(tidb.getPassword());9 tidb.stop();10 }11}12import org.testcontainers.tidb.TiDBContainer;13public class 2 {14 public static void main(String[] args) {15 TiDBContainer tidb = new TiDBContainer("pingcap/tidb:latest");16 tidb.start();17 System.out.println(tidb.getJdbcUrl());18 System.out.println(tidb.getUsername());19 System.out.println(tidb.getPassword());20 tidb.stop();21 }22}23import org.testcontainers.tidb.TiDBContainer;24public class 3 {25 public static void main(String[] args) {26 TiDBContainer tidb = new TiDBContainer("pingcap/tidb:latest");27 tidb.start();28 System.out.println(tidb.getJdbcUrl());29 System.out.println(tidb.getUsername());30 System.out.println(tidb.getPassword());31 tidb.stop();32 }33}34import org.testcontainers.tidb.TiDBContainer;35public class 4 {36 public static void main(String[] args) {37 TiDBContainer tidb = new TiDBContainer("pingcap/tidb:latest");38 tidb.start();39 System.out.println(tidb.getJdbcUrl());40 System.out.println(tidb.getUsername());41 System.out.println(tidb.getPassword());42 tidb.stop();43 }44}45import org.testcontainers.tidb.TiDBContainer;46public class 5 {47 public static void main(String[] args) {48 TiDBContainer tidb = new TiDBContainer("pingcap/tidb:latest");

Full Screen

Full Screen

TiDBContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.tidb.TiDBContainer;2public class 1 {3 public static void main(String[] args) {4 TiDBContainer tidb = new TiDBContainer();5 tidb.start();6 String jdbcUrl = tidb.getJdbcUrl();7 System.out.println("JDBC URL: " + jdbcUrl);8 String username = tidb.getUsername();9 System.out.println("Username: " + username);10 String password = tidb.getPassword();11 System.out.println("Password: " + password);12 tidb.stop();13 }14}

Full Screen

Full Screen

TiDBContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.TiDBContainer;2public class 1 {3 public static void main(String[] args) {4 TiDBContainer tidb = new TiDBContainer();5 tidb.start();6 System.out.println("TiDBContainer started");7 System.out.println("JDBC URL: " + tidb.getJdbcUrl());8 System.out.println("Username: " + tidb.getUsername());9 System.out.println("Password: " + tidb.getPassword());10 tidb.stop();11 }12}13import org.testcontainers.containers.TiDBContainer;14public class 2 {15 public static void main(String[] args) {16 TiDBContainer tidb = new TiDBContainer("pingcap/tidb:latest");17 tidb.start();18 System.out.println("TiDBContainer started");19 System.out.println("JDBC URL: " + tidb.getJdbcUrl());20 System.out.println("Username: " + tidb.getUsername());21 System.out.println("Password: " + tidb.getPassword());22 tidb.stop();23 }24}25import org.testcontainers.containers.TiDBContainer;26import org.testcontainers.containers.wait.strategy.Wait;27public class 3 {28 public static void main(String[] args) {29 TiDBContainer tidb = new TiDBContainer("pingcap/tidb:latest")30 .withCommand("--store=tikv --path=

Full Screen

Full Screen

TiDBContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.containers.wait.strategy.Wait;3import org.testcontainers.tidb.TiDBContainer;4public class TiDBContainerTest {5 public static void main(String[] args) {6 try (TiDBContainer tidb = new TiDBContainer()) {7 tidb.start();8 System.out.println("TiDBContainer started");9 System.out.println("JDBC URL: " + tidb.getJdbcUrl());10 System.out.println("Username: " + tidb.getUsername());11 System.out.println("Password: " + tidb.getPassword());12 } catch (Exception e) {13 System.out.println("Exception while running TiDBContainerTest: " + e);14 }15 }16}17import org.testcontainers.containers.GenericContainer;18import org.testcontainers.containers.wait.strategy.Wait;19import org.testcontainers.tidb.TiDBContainer;20public class TiDBContainerTest {21 public static void main(String[] args) {22 try (TiDBContainer tidb = new TiDBContainer("pingcap/tidb:latest")) {23 tidb.start();24 System.out.println("TiDBContainer started");25 System.out.println("JDBC URL: " + tidb.getJdbcUrl());26 System.out.println("Username: " + tidb.getUsername());27 System.out.println("Password: " + tidb.getPassword());28 } catch (Exception e) {29 System.out.println("Exception while running TiDBContainerTest: " + e);30 }31 }32}

Full Screen

Full Screen

TiDBContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.BindMode;2import org.testcontainers.containers.output.Slf4jLogConsumer;3import org.testcontainers.tidb.TiDBContainer;4import org.testcontainers.utility.DockerImageName;5import java.io.File;6import java.io.IOException;7import java.nio.file.Files;8import java.nio.file.Path;9import java.nio.file.Paths;10import java.util.logging.Logger;11public class testContainer {12 public static void main(String[] args) throws IOException {13 Logger logger = Logger.getLogger("TiDBContainer");14 TiDBContainer tidb = new TiDBContainer(DockerImageName.parse("pingcap/tidb:latest"))15 .withLogConsumer(new Slf4jLogConsumer(logger))16 .withCommand("--store=tikv --path=tidb-cluster_pd_1:2379");17 tidb.start();18 Path folderPath = Paths.get("testFolder");19 Files.createDirectories(folderPath);20 File file = new File("testFolder/testFile.txt");21 file.createNewFile();22 tidb.copyFileToContainer(BindMode.READ_WRITE, folderPath, "/");23 tidb.stop();24 }25}

Full Screen

Full Screen

TiDBContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.TiDBContainer;2public class TestTiDBContainer {3 public static void main(String[] args) {4 try (TiDBContainer tidb = new TiDBContainer()) {5 tidb.start();6 System.out.println("JDBC URL: " + tidb.getJdbcUrl());7 System.out.println("MySQL root password: " + tidb.getPassword());8 System.out.println("MySQL root user: " + tidb.getUsername());9 tidb.stop();10 }11 }12}13import org.testcontainers.containers.TiDBContainer;14public class TestTiDBContainer {15 public static void main(String[] args) {16 try (TiDBContainer tidb = new TiDBContainer()) {17 tidb.start();18 System.out.println("JDBC URL: " + tidb.getJdbcUrl());19 System.out.println("MySQL root password: " + tidb.getPassword());20 System.out.println("MySQL root user: " + tidb.getUsername());21 tidb.stop();22 }23 }24}25import org.testcontainers.containers.TiDBContainer;26public class TestTiDBContainer {27 public static void main(String[] args) {28 try (TiDBContainer tidb = new TiDBContainer()) {29 tidb.start();30 System.out.println("JDBC URL: " + tidb.getJdbcUrl());31 System.out.println("MySQL root password: " + tidb.getPassword());32 System.out.println("MySQL root user: " + tidb.getUsername());33 tidb.stop();34 }35 }36}37import org.testcontainers.containers.TiDBContainer;38public class TestTiDBContainer {

Full Screen

Full Screen

TiDBContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.containers.wait.strategy.Wait;3import org.testcontainers.tidb.TiDBContainer;4import java.sql.Connection;5import java.sql.DriverManager;6import java.sql.ResultSet;7import java.sql.Statement;8public class 1 {9 public static void main(String[] args) throws Exception {10 TiDBContainer tidb = new TiDBContainer("pingcap/tidb:latest");11 tidb.start();12 Connection conn = DriverManager.getConnection(tidb.getJdbcUrl(), tidb.getUsername(), tidb.getPassword());13 Statement stmt = conn.createStatement();14 stmt.executeUpdate("CREATE TABLE test (id INT NOT NULL PRIMARY KEY, name VARCHAR(100))");15 stmt.executeUpdate("INSERT INTO test VALUES (1, 'Hello'), (2, 'World')");16 ResultSet rs = stmt.executeQuery("SELECT * FROM test");17 while (rs.next()) {18 System.out.println(rs.getString("id") + " " + rs.getString("name"));19 }20 conn.close();21 tidb.stop();22 }23}24import org.testcontainers.containers.GenericContainer;25import org.testcontainers.containers.wait.strategy.Wait;26import org.testcontainers.tidb.TiDBContainer;27import java.sql.Connection;28import java.sql.DriverManager;29import java.sql.ResultSet;30import java.sql.Statement;31public class 2 {32 public static void main(String[] args) throws Exception {33 TiDBContainer tidb = new TiDBContainer("pingcap/tidb:latest");34 tidb.start();35 Connection conn = DriverManager.getConnection(tidb.getJdbcUrl(), tidb.getUsername(), tidb.getPassword());36 Statement stmt = conn.createStatement();37 stmt.executeUpdate("CREATE TABLE test (id INT NOT NULL PRIMARY KEY, name VARCHAR(100))");38 stmt.executeUpdate("INSERT INTO test VALUES (1, 'Hello'), (2, 'World')");

Full Screen

Full Screen

TiDBContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.containers.wait.strategy.Wait;3import org.testcontainers.tidb.TiDBContainer;4public class 1 {5 public static void main(String[] args) {6 try (TiDBContainer tidb = new TiDBContainer("pingcap/tidb:v3.0.0")) {7 tidb.start();8 System.out.println(tidb.getJdbcUrl());9 }10 }11}12import org.testcontainers.containers.GenericContainer;13import org.testcontainers.containers.wait.strategy.Wait;14import org.testcontainers.tidb.TiDBContainer;15public class 2 {16 public static void main(String[] args) {17 try (TiDBContainer tidb = new TiDBContainer("pingcap/tidb:v3.0.0")) {18 tidb.start();19 System.out.println(tidb.getJdbcUrl());20 }21 }22}23import org.testcontainers.containers.GenericContainer;24import org.testcontainers.containers.wait.strategy.Wait;25import org.testcontainers.tidb.TiDBContainer;26public class 3 {27 public static void main(String[] args) {28 try (TiDBContainer tidb = new TiDBContainer("pingcap/tidb:v3.0.0")) {29 tidb.start();30 System.out.println(tidb.getJdbcUrl());31 }32 }33}34import org.testcontainers.containers.GenericContainer;35import org.testcontainers.containers.wait.strategy.Wait;36import org.testcontainers.tidb.TiDBContainer;37public class 4 {

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Testcontainers-java automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful