Skip to content

Commit 668be97

Browse files
Added tests
1 parent c8390b1 commit 668be97

File tree

1 file changed

+121
-1
lines changed

1 file changed

+121
-1
lines changed

google-cloud-spanner/src/test/java/com/google/cloud/spanner/DatabaseClientImplTest.java

Lines changed: 121 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4897,7 +4897,7 @@ public void testMetadataUnknownTypes() {
48974897
}
48984898

48994899
@Test
4900-
public void testStatementWithIUnnamedParametersParameter() {
4900+
public void testStatementWithUnnamedParameters() {
49014901
DatabaseClient client =
49024902
spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
49034903

@@ -4914,6 +4914,126 @@ public void testStatementWithIUnnamedParametersParameter() {
49144914
}
49154915
}
49164916

4917+
@Test
4918+
public void testStatementWithUnnamedParametersAndSingleLineComment() {
4919+
DatabaseClient client =
4920+
spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
4921+
4922+
Statement statement =
4923+
client
4924+
.getStatementFactory()
4925+
.withUnnamedParameters(
4926+
"-- comment about ? in the statement\nselect id from test where b=?", true);
4927+
Statement generatedStatement =
4928+
Statement.newBuilder("-- comment about ? in the statement\nselect id from test where b=@p1")
4929+
.bind("p1")
4930+
.to(true)
4931+
.build();
4932+
mockSpanner.putStatementResult(StatementResult.query(generatedStatement, SELECT1_RESULTSET));
4933+
4934+
try (ResultSet resultSet = client.singleUse().executeQuery(statement)) {
4935+
assertTrue(resultSet.next());
4936+
assertEquals(1L, resultSet.getLong(0));
4937+
assertFalse(resultSet.next());
4938+
}
4939+
}
4940+
4941+
@Test
4942+
public void testStatementWithUnnamedParametersAndSingleLineCommentWithHash() {
4943+
DatabaseClient client =
4944+
spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
4945+
4946+
Statement statement =
4947+
client
4948+
.getStatementFactory()
4949+
.withUnnamedParameters(
4950+
"# comment about ? in the statement\nselect id from test where b=?", true);
4951+
Statement generatedStatement =
4952+
Statement.newBuilder("# comment about ? in the statement\nselect id from test where b=@p1")
4953+
.bind("p1")
4954+
.to(true)
4955+
.build();
4956+
mockSpanner.putStatementResult(StatementResult.query(generatedStatement, SELECT1_RESULTSET));
4957+
4958+
try (ResultSet resultSet = client.singleUse().executeQuery(statement)) {
4959+
assertTrue(resultSet.next());
4960+
assertEquals(1L, resultSet.getLong(0));
4961+
assertFalse(resultSet.next());
4962+
}
4963+
}
4964+
4965+
@Test
4966+
public void testStatementWithUnnamedParametersAndMultiLineComment() {
4967+
DatabaseClient client =
4968+
spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
4969+
4970+
Statement statement =
4971+
client
4972+
.getStatementFactory()
4973+
.withUnnamedParameters(
4974+
"# comment about ? in the statement\nselect id from test\n /* This is a ? comment \n about ? */ \n where b=? # this is a inline command about ?",
4975+
true);
4976+
Statement generatedStatement =
4977+
Statement.newBuilder(
4978+
"# comment about ? in the statement\nselect id from test\n /* This is a ? comment \n about ? */ \n where b=@p1 # this is a inline command about ?")
4979+
.bind("p1")
4980+
.to(true)
4981+
.build();
4982+
mockSpanner.putStatementResult(StatementResult.query(generatedStatement, SELECT1_RESULTSET));
4983+
4984+
try (ResultSet resultSet = client.singleUse().executeQuery(statement)) {
4985+
assertTrue(resultSet.next());
4986+
assertEquals(1L, resultSet.getLong(0));
4987+
assertFalse(resultSet.next());
4988+
}
4989+
}
4990+
4991+
@Test
4992+
public void testStatementWithUnnamedParametersAndStringLiteralWithQuestionMark() {
4993+
DatabaseClient client =
4994+
spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
4995+
4996+
Statement statement =
4997+
client
4998+
.getStatementFactory()
4999+
.withUnnamedParameters("select id from test where name = \"abc?\" AND b=?", true);
5000+
Statement generatedStatement =
5001+
Statement.newBuilder("select id from test where name = \"abc?\" AND b=@p1")
5002+
.bind("p1")
5003+
.to(true)
5004+
.build();
5005+
mockSpanner.putStatementResult(StatementResult.query(generatedStatement, SELECT1_RESULTSET));
5006+
5007+
try (ResultSet resultSet = client.singleUse().executeQuery(statement)) {
5008+
assertTrue(resultSet.next());
5009+
assertEquals(1L, resultSet.getLong(0));
5010+
assertFalse(resultSet.next());
5011+
}
5012+
}
5013+
5014+
@Test
5015+
public void testStatementWithUnnamedParametersAndHint() {
5016+
DatabaseClient client =
5017+
spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
5018+
5019+
Statement statement =
5020+
client
5021+
.getStatementFactory()
5022+
.withUnnamedParameters("@{FORCE_INDEX=ABCDEF} select id from test where b=?", true);
5023+
Statement generatedStatement =
5024+
Statement.newBuilder("@{FORCE_INDEX=ABCDEF} select id from test where b=@p1")
5025+
.bind("p1")
5026+
.to(true)
5027+
.build();
5028+
mockSpanner.putStatementResult(StatementResult.query(generatedStatement, SELECT1_RESULTSET));
5029+
5030+
try (ResultSet resultSet = client.singleUse().executeQuery(statement)) {
5031+
assertTrue(resultSet.next());
5032+
assertEquals(1L, resultSet.getLong(0));
5033+
assertFalse(resultSet.next());
5034+
}
5035+
}
5036+
49175037
@Test
49185038
public void testStatementWithBytesArrayParameter() {
49195039
Statement statement =

0 commit comments

Comments
 (0)