Skip to content

Commit 5c5c2f9

Browse files
test(bigtable): add client test for AsyncPrepareQuery (#15668)
Fix after wrong merging of Client PR without rebasing first
1 parent be83b6c commit 5c5c2f9

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

google/cloud/bigtable/client_test.cc

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,21 @@ TEST(Client, PrepareQuery) {
4545
}
4646

4747
TEST(Client, AsyncPrepareQuery) {
48-
auto conn = MakeDataConnection();
49-
Client client(conn);
50-
InstanceResource instance(Project("test-project"), "test-instance");
51-
SqlStatement sql("SELECT * FROM `test-table`");
48+
auto conn_mock = std::make_shared<bigtable_mocks::MockDataConnection>();
49+
InstanceResource instance(Project("the-project"), "the-instance");
50+
SqlStatement sql("SELECT * FROM the-table");
51+
EXPECT_CALL(*conn_mock, AsyncPrepareQuery)
52+
.WillOnce([](PrepareQueryParams const& params) {
53+
EXPECT_EQ("projects/the-project/instances/the-instance",
54+
params.instance.FullName());
55+
EXPECT_EQ("SELECT * FROM the-table", params.sql_statement.sql());
56+
PreparedQuery q(CompletionQueue{}, params.instance,
57+
params.sql_statement, PrepareQueryResponse{});
58+
return make_ready_future(make_status_or(std::move(q)));
59+
});
60+
Client client(std::move(conn_mock));
5261
auto prepared_query = client.AsyncPrepareQuery(instance, sql);
53-
EXPECT_THAT(prepared_query.get().status(),
54-
StatusIs(StatusCode::kUnimplemented, "not implemented"));
62+
ASSERT_STATUS_OK(prepared_query.get());
5563
}
5664

5765
TEST(Client, ExecuteQuery) {

google/cloud/bigtable/mocks/mock_data_connection.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,9 @@ class MockDataConnection : public bigtable::DataConnection {
125125

126126
MOCK_METHOD(StatusOr<bigtable::PreparedQuery>, PrepareQuery,
127127
(bigtable::PrepareQueryParams const& params), (override));
128+
129+
MOCK_METHOD(future<StatusOr<bigtable::PreparedQuery>>, AsyncPrepareQuery,
130+
(bigtable::PrepareQueryParams const& params), (override));
128131
};
129132

130133
GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END

0 commit comments

Comments
 (0)