-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
SimpleMSSQLServerTest.java
47 lines (39 loc) · 1.86 KB
/
SimpleMSSQLServerTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package org.testcontainers.junit.mssqlserver;
import org.junit.Test;
import org.testcontainers.containers.MSSQLServerContainer;
import org.testcontainers.db.AbstractContainerDatabaseTest;
import javax.sql.DataSource;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import static org.rnorth.visibleassertions.VisibleAssertions.assertEquals;
public class SimpleMSSQLServerTest extends AbstractContainerDatabaseTest {
@Test
public void testSimple() throws SQLException {
try (MSSQLServerContainer<?> mssqlServer = new MSSQLServerContainer<>()) {
mssqlServer.start();
ResultSet resultSet = performQuery(mssqlServer, "SELECT 1");
int resultSetInt = resultSet.getInt(1);
assertEquals("A basic SELECT query succeeds", 1, resultSetInt);
}
}
@Test
public void testSetupDatabase() throws SQLException {
try (MSSQLServerContainer<?> mssqlServer = new MSSQLServerContainer<>()) {
mssqlServer.start();
DataSource ds = getDataSource(mssqlServer);
Statement statement = ds.getConnection().createStatement();
statement.executeUpdate("CREATE DATABASE [test];");
statement = ds.getConnection().createStatement();
statement.executeUpdate("CREATE TABLE [test].[dbo].[Foo](ID INT PRIMARY KEY);");
statement = ds.getConnection().createStatement();
statement.executeUpdate("INSERT INTO [test].[dbo].[Foo] (ID) VALUES (3);");
statement = ds.getConnection().createStatement();
statement.execute("SELECT * FROM [test].[dbo].[Foo];");
ResultSet resultSet = statement.getResultSet();
resultSet.next();
int resultSetInt = resultSet.getInt("ID");
assertEquals("A basic SELECT query succeeds", 3, resultSetInt);
}
}
}