Skip to content

Commit 5d6727c

Browse files
authored
Improved mysql tests.
1 parent 4995522 commit 5d6727c

File tree

4 files changed

+72
-84
lines changed

4 files changed

+72
-84
lines changed

src/test/java/g0101_0200/s0175_combine_two_tables/MysqlTest.java

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,38 +7,36 @@
77
import java.io.FileNotFoundException;
88
import java.io.FileReader;
99
import java.sql.Connection;
10-
import java.sql.DriverManager;
1110
import java.sql.ResultSet;
1211
import java.sql.SQLException;
1312
import java.sql.Statement;
1413
import java.util.stream.Collectors;
14+
import javax.sql.DataSource;
1515
import org.junit.jupiter.api.Test;
16-
import org.junit.jupiter.api.extension.RegisterExtension;
17-
import org.zapodot.junit.db.EmbeddedDatabaseExtension;
16+
import org.zapodot.junit.db.annotations.EmbeddedDatabase;
17+
import org.zapodot.junit.db.annotations.EmbeddedDatabaseTest;
18+
import org.zapodot.junit.db.common.CompatibilityMode;
1819

20+
@EmbeddedDatabaseTest(
21+
compatibilityMode = CompatibilityMode.MySQL,
22+
initialSqls =
23+
"CREATE TABLE Person(personId INTEGER PRIMARY KEY, lastName VARCHAR(512)"
24+
+ ", firstName VARCHAR(512)); "
25+
+ "INSERT INTO Person(personId, lastName, firstName) "
26+
+ "VALUES (1, 'Wang', 'Allen'); "
27+
+ "INSERT INTO Person(personId, lastName, firstName) "
28+
+ "VALUES (2, 'Alice', 'Bob'); "
29+
+ "CREATE TABLE Address(addressId INTEGER PRIMARY KEY, personId INTEGER"
30+
+ ", city VARCHAR(512), state VARCHAR(512)); "
31+
+ "INSERT INTO Address(addressId, personId, city, state) "
32+
+ "VALUES (1, 2, 'New York City', 'New York'); "
33+
+ "INSERT INTO Address(addressId, personId, city, state) "
34+
+ "VALUES (2, 3, 'Leetcode', 'California'); ")
1935
class MysqlTest {
20-
@RegisterExtension
21-
static EmbeddedDatabaseExtension embeddedDatabaseExtension =
22-
EmbeddedDatabaseExtension.Builder.h2()
23-
.withInitialSql(
24-
"CREATE TABLE Person(personId INTEGER PRIMARY KEY, lastName VARCHAR(512)"
25-
+ ", firstName VARCHAR(512)); "
26-
+ "INSERT INTO Person(personId, lastName, firstName) "
27-
+ "VALUES (1, 'Wang', 'Allen'); "
28-
+ "INSERT INTO Person(personId, lastName, firstName) "
29-
+ "VALUES (2, 'Alice', 'Bob'); "
30-
+ "CREATE TABLE Address(addressId INTEGER PRIMARY KEY, personId INTEGER"
31-
+ ", city VARCHAR(512), state VARCHAR(512)); "
32-
+ "INSERT INTO Address(addressId, personId, city, state) "
33-
+ "VALUES (1, 2, 'New York City', 'New York'); "
34-
+ "INSERT INTO Address(addressId, personId, city, state) "
35-
+ "VALUES (2, 3, 'Leetcode', 'California'); ")
36-
.build();
37-
3836
@Test
39-
void testScript() throws SQLException, FileNotFoundException {
40-
try (final Connection connection =
41-
DriverManager.getConnection(embeddedDatabaseExtension.getConnectionJdbcUrl())) {
37+
void testScript(@EmbeddedDatabase DataSource dataSource)
38+
throws SQLException, FileNotFoundException {
39+
try (final Connection connection = dataSource.getConnection()) {
4240
try (final Statement statement = connection.createStatement();
4341
final ResultSet resultSet =
4442
statement.executeQuery(

src/test/java/g0101_0200/s0176_second_highest_salary/MysqlTest.java

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,31 @@
77
import java.io.FileNotFoundException;
88
import java.io.FileReader;
99
import java.sql.Connection;
10-
import java.sql.DriverManager;
1110
import java.sql.ResultSet;
1211
import java.sql.SQLException;
1312
import java.sql.Statement;
1413
import java.util.stream.Collectors;
14+
import javax.sql.DataSource;
1515
import org.junit.jupiter.api.Test;
16-
import org.junit.jupiter.api.extension.RegisterExtension;
17-
import org.zapodot.junit.db.EmbeddedDatabaseExtension;
16+
import org.zapodot.junit.db.annotations.EmbeddedDatabase;
17+
import org.zapodot.junit.db.annotations.EmbeddedDatabaseTest;
18+
import org.zapodot.junit.db.common.CompatibilityMode;
1819

20+
@EmbeddedDatabaseTest(
21+
compatibilityMode = CompatibilityMode.MySQL,
22+
initialSqls =
23+
"CREATE TABLE Employee(id INTEGER PRIMARY KEY, salary INTEGER); "
24+
+ "INSERT INTO Employee(id, salary) "
25+
+ "VALUES (1, 100); "
26+
+ "INSERT INTO Employee(id, salary) "
27+
+ "VALUES (2, 200); "
28+
+ "INSERT INTO Employee(id, salary) "
29+
+ "VALUES (3, 300); ")
1930
class MysqlTest {
20-
@RegisterExtension
21-
static EmbeddedDatabaseExtension embeddedDatabaseExtension =
22-
EmbeddedDatabaseExtension.Builder.h2()
23-
.withInitialSql(
24-
"CREATE TABLE Employee(id INTEGER PRIMARY KEY, salary INTEGER); "
25-
+ "INSERT INTO Employee(id, salary) "
26-
+ "VALUES (1, 100); "
27-
+ "INSERT INTO Employee(id, salary) "
28-
+ "VALUES (2, 200); "
29-
+ "INSERT INTO Employee(id, salary) "
30-
+ "VALUES (3, 300); ")
31-
.build();
32-
3331
@Test
34-
void testScript() throws SQLException, FileNotFoundException {
35-
try (final Connection connection =
36-
DriverManager.getConnection(embeddedDatabaseExtension.getConnectionJdbcUrl())) {
32+
void testScript(@EmbeddedDatabase DataSource dataSource)
33+
throws SQLException, FileNotFoundException {
34+
try (final Connection connection = dataSource.getConnection()) {
3735
try (final Statement statement = connection.createStatement();
3836
final ResultSet resultSet =
3937
statement.executeQuery(

src/test/java/g0101_0200/s0178_rank_scores/MysqlTest.java

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,35 +7,31 @@
77
import java.io.FileNotFoundException;
88
import java.io.FileReader;
99
import java.sql.Connection;
10-
import java.sql.DriverManager;
1110
import java.sql.ResultSet;
1211
import java.sql.SQLException;
1312
import java.sql.Statement;
1413
import java.util.stream.Collectors;
14+
import javax.sql.DataSource;
1515
import org.junit.jupiter.api.Test;
16-
import org.junit.jupiter.api.extension.RegisterExtension;
17-
import org.zapodot.junit.db.EmbeddedDatabaseExtension;
16+
import org.zapodot.junit.db.annotations.EmbeddedDatabase;
17+
import org.zapodot.junit.db.annotations.EmbeddedDatabaseTest;
1818
import org.zapodot.junit.db.common.CompatibilityMode;
1919

20+
@EmbeddedDatabaseTest(
21+
compatibilityMode = CompatibilityMode.MySQL,
22+
initialSqls =
23+
"CREATE TABLE Scores(id INTEGER PRIMARY KEY, score decimal); "
24+
+ "INSERT INTO Scores(id, score) VALUES (1, 3.50); "
25+
+ "INSERT INTO Scores(id, score) VALUES (2, 3.65); "
26+
+ "INSERT INTO Scores(id, score) VALUES (3, 4.00); "
27+
+ "INSERT INTO Scores(id, score) VALUES (4, 3.85); "
28+
+ "INSERT INTO Scores(id, score) VALUES (5, 4.00); "
29+
+ "INSERT INTO Scores(id, score) VALUES (6, 3.65); ")
2030
class MysqlTest {
21-
@RegisterExtension
22-
static EmbeddedDatabaseExtension embeddedDatabaseExtension =
23-
EmbeddedDatabaseExtension.Builder.h2()
24-
.withMode(CompatibilityMode.MySQL)
25-
.withInitialSql(
26-
"CREATE TABLE Scores(id INTEGER PRIMARY KEY, score decimal); "
27-
+ "INSERT INTO Scores(id, score) VALUES (1, 3.50); "
28-
+ "INSERT INTO Scores(id, score) VALUES (2, 3.65); "
29-
+ "INSERT INTO Scores(id, score) VALUES (3, 4.00); "
30-
+ "INSERT INTO Scores(id, score) VALUES (4, 3.85); "
31-
+ "INSERT INTO Scores(id, score) VALUES (5, 4.00); "
32-
+ "INSERT INTO Scores(id, score) VALUES (6, 3.65); ")
33-
.build();
34-
3531
@Test
36-
void testScript() throws SQLException, FileNotFoundException {
37-
try (final Connection connection =
38-
DriverManager.getConnection(embeddedDatabaseExtension.getConnectionJdbcUrl())) {
32+
void testScript(@EmbeddedDatabase DataSource dataSource)
33+
throws SQLException, FileNotFoundException {
34+
try (final Connection connection = dataSource.getConnection()) {
3935
try (final Statement statement = connection.createStatement();
4036
final ResultSet resultSet =
4137
statement.executeQuery(

src/test/java/g0101_0200/s0180_consecutive_numbers/MysqlTest.java

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,36 +7,32 @@
77
import java.io.FileNotFoundException;
88
import java.io.FileReader;
99
import java.sql.Connection;
10-
import java.sql.DriverManager;
1110
import java.sql.ResultSet;
1211
import java.sql.SQLException;
1312
import java.sql.Statement;
1413
import java.util.stream.Collectors;
14+
import javax.sql.DataSource;
1515
import org.junit.jupiter.api.Test;
16-
import org.junit.jupiter.api.extension.RegisterExtension;
17-
import org.zapodot.junit.db.EmbeddedDatabaseExtension;
16+
import org.zapodot.junit.db.annotations.EmbeddedDatabase;
17+
import org.zapodot.junit.db.annotations.EmbeddedDatabaseTest;
1818
import org.zapodot.junit.db.common.CompatibilityMode;
1919

20+
@EmbeddedDatabaseTest(
21+
compatibilityMode = CompatibilityMode.MySQL,
22+
initialSqls =
23+
"CREATE TABLE Logs(id INTEGER PRIMARY KEY, num INTEGER); "
24+
+ "INSERT INTO Logs(id, num) VALUES (1, 1); "
25+
+ "INSERT INTO Logs(id, num) VALUES (2, 1); "
26+
+ "INSERT INTO Logs(id, num) VALUES (3, 1); "
27+
+ "INSERT INTO Logs(id, num) VALUES (4, 2); "
28+
+ "INSERT INTO Logs(id, num) VALUES (5, 1); "
29+
+ "INSERT INTO Logs(id, num) VALUES (6, 2); "
30+
+ "INSERT INTO Logs(id, num) VALUES (7, 2); ")
2031
class MysqlTest {
21-
@RegisterExtension
22-
static EmbeddedDatabaseExtension embeddedDatabaseExtension =
23-
EmbeddedDatabaseExtension.Builder.h2()
24-
.withMode(CompatibilityMode.MySQL)
25-
.withInitialSql(
26-
"CREATE TABLE Logs(id INTEGER PRIMARY KEY, num INTEGER); "
27-
+ "INSERT INTO Logs(id, num) VALUES (1, 1); "
28-
+ "INSERT INTO Logs(id, num) VALUES (2, 1); "
29-
+ "INSERT INTO Logs(id, num) VALUES (3, 1); "
30-
+ "INSERT INTO Logs(id, num) VALUES (4, 2); "
31-
+ "INSERT INTO Logs(id, num) VALUES (5, 1); "
32-
+ "INSERT INTO Logs(id, num) VALUES (6, 2); "
33-
+ "INSERT INTO Logs(id, num) VALUES (7, 2); ")
34-
.build();
35-
3632
@Test
37-
void testScript() throws SQLException, FileNotFoundException {
38-
try (final Connection connection =
39-
DriverManager.getConnection(embeddedDatabaseExtension.getConnectionJdbcUrl())) {
33+
void testScript(@EmbeddedDatabase DataSource dataSource)
34+
throws SQLException, FileNotFoundException {
35+
try (final Connection connection = dataSource.getConnection()) {
4036
try (final Statement statement = connection.createStatement();
4137
final ResultSet resultSet =
4238
statement.executeQuery(

0 commit comments

Comments
 (0)