Skip to content

Commit 40b3f89

Browse files
committed
added Integration tests
1 parent 2d7649f commit 40b3f89

File tree

2 files changed

+55
-7
lines changed

2 files changed

+55
-7
lines changed

google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ITAbstractSpannerTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import com.google.cloud.NoCredentials;
2020
import com.google.cloud.spanner.Database;
21+
import com.google.cloud.spanner.Dialect;
2122
import com.google.cloud.spanner.ErrorCode;
2223
import com.google.cloud.spanner.GceTestEnvConfig;
2324
import com.google.cloud.spanner.IntegrationTestEnv;
@@ -182,7 +183,7 @@ private static StatusRuntimeException createAbortedExceptionWithMinimalRetry() {
182183

183184
@ClassRule public static IntegrationTestEnv env = new IntegrationTestEnv();
184185
private static final String DEFAULT_KEY_FILE = null;
185-
private static Database database;
186+
public static Database database;
186187

187188
protected static String getKeyFile() {
188189
return System.getProperty(GceTestEnvConfig.GCE_CREDENTIALS_FILE, DEFAULT_KEY_FILE);
@@ -322,9 +323,7 @@ protected boolean tableExists(Connection connection, String table) {
322323
try (ResultSet rs =
323324
connection.executeQuery(
324325
Statement.newBuilder(
325-
"SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE UPPER(TABLE_NAME)=@table_name")
326-
.bind("table_name")
327-
.to(table.toUpperCase())
326+
String.format("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE UPPER(TABLE_NAME)=UPPER(\'%s\')", table))
328327
.build())) {
329328
while (rs.next()) {
330329
return true;

google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/it/ITExplainTest.java

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,20 @@
1616

1717
package com.google.cloud.spanner.connection.it;
1818

19+
import static org.junit.Assert.assertEquals;
20+
import static org.junit.Assert.assertNotNull;
1921

22+
import com.google.cloud.spanner.Dialect;
2023
import com.google.cloud.spanner.Mutation;
2124
import com.google.cloud.spanner.ParallelIntegrationTest;
2225
import com.google.cloud.spanner.ResultSet;
2326
import com.google.cloud.spanner.Statement;
27+
import com.google.cloud.spanner.connection.Connection;
2428
import com.google.cloud.spanner.connection.ITAbstractSpannerTest;
2529
import java.util.Arrays;
30+
import java.util.Collections;
31+
import org.junit.Before;
32+
import org.junit.BeforeClass;
2633
import org.junit.Test;
2734
import org.junit.experimental.categories.Category;
2835
import org.junit.runner.RunWith;
@@ -36,9 +43,27 @@ public void appendConnectionUri(StringBuilder uri) {
3643
uri.append(";autocommit=false");
3744
}
3845

39-
@Override
40-
public boolean doCreateDefaultTestTable() {
41-
return true;
46+
@BeforeClass
47+
public static void setupPostgreSQL(){
48+
database = env.getTestHelper().createTestDatabase(Dialect.POSTGRESQL, Collections.emptyList());;
49+
}
50+
51+
52+
@Before
53+
public void createTestTable() {
54+
55+
try (Connection connection = createConnection()) {
56+
connection.setAutocommit(true);
57+
if (!tableExists(connection, "TEST")) {
58+
connection.setAutocommit(false);
59+
connection.startBatchDdl();
60+
connection.execute(
61+
Statement.of(
62+
"CREATE TABLE TEST (ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(100) NOT NULL)"));
63+
connection.runBatch();
64+
}
65+
}
66+
4267
}
4368

4469
@Test
@@ -52,6 +77,30 @@ public void testExplainStatement() {
5277

5378
ResultSet resultSet =
5479
connection.execute(Statement.of("EXPLAIN SELECT * from TEST")).getResultSet();
80+
while(resultSet.next()){
81+
assertNotNull(resultSet.getString("QUERY PLAN"));
82+
}
83+
assertEquals(1, resultSet.getColumnCount());
84+
}
85+
}
86+
87+
@Test
88+
public void testExplainAnalyzeStatement() {
89+
try (ITConnection connection = createConnection()) {
90+
connection.bufferedWrite(
91+
Arrays.asList(
92+
Mutation.newInsertBuilder("TEST").set("ID").to(1L).set("NAME").to("TEST-1").build(),
93+
Mutation.newInsertBuilder("TEST").set("ID").to(2L).set("NAME").to("TEST-2").build()));
94+
connection.commit();
95+
96+
ResultSet resultSet =
97+
connection.execute(Statement.of("EXPLAIN ANALYZE SELECT * from TEST")).getResultSet();
98+
while(resultSet.next()){
99+
assertNotNull(resultSet.getString("QUERY PLAN"));
100+
assertNotNull(resultSet.getString("EXECUTION STATS"));
101+
}
102+
assertEquals(2, resultSet.getColumnCount());
55103
}
56104
}
105+
57106
}

0 commit comments

Comments
 (0)