1313// limitations under the License.
1414
1515#include " google/cloud/bigtable/client.h"
16+ #include " google/cloud/bigtable/internal/query_plan.h"
1617#include " google/cloud/bigtable/mocks/mock_data_connection.h"
1718#include " google/cloud/bigtable/mocks/mock_query_row.h"
1819#include " google/cloud/bigtable/mocks/mock_row_reader.h"
@@ -44,9 +45,18 @@ TEST(Client, PrepareQuery) {
4445 EXPECT_EQ (" projects/the-project/instances/the-instance" ,
4546 params.instance .FullName ());
4647 EXPECT_EQ (" SELECT * FROM the-table" , params.sql_statement .sql ());
47- PreparedQuery q (CompletionQueue{fake_cq_impl}, params.instance ,
48- params.sql_statement , PrepareQueryResponse{});
49- return q;
48+
49+ std::unordered_map<std::string, bigtable::Value> parameters;
50+ google::bigtable::v2::PrepareQueryResponse pq_response;
51+ auto refresh_fn = [&pq_response]() {
52+ return make_ready_future (
53+ StatusOr<google::bigtable::v2::PrepareQueryResponse>(
54+ pq_response));
55+ };
56+ auto query_plan = bigtable_internal::QueryPlan::Create (
57+ CompletionQueue (fake_cq_impl), std::move (pq_response),
58+ std::move (refresh_fn));
59+ return bigtable::PreparedQuery (instance, sql, std::move (query_plan));
5060 });
5161
5262 Client client (std::move (conn_mock));
@@ -62,14 +72,23 @@ TEST(Client, AsyncPrepareQuery) {
6272 auto conn_mock = std::make_shared<bigtable_mocks::MockDataConnection>();
6373 InstanceResource instance (Project (" the-project" ), " the-instance" );
6474 SqlStatement sql (" SELECT * FROM the-table" );
65- EXPECT_CALL (*conn_mock, AsyncPrepareQuery )
75+ EXPECT_CALL (*conn_mock, PrepareQuery )
6676 .WillOnce ([&](PrepareQueryParams const & params) {
6777 EXPECT_EQ (" projects/the-project/instances/the-instance" ,
6878 params.instance .FullName ());
6979 EXPECT_EQ (" SELECT * FROM the-table" , params.sql_statement .sql ());
70- PreparedQuery q (CompletionQueue{fake_cq_impl}, params.instance ,
71- params.sql_statement , PrepareQueryResponse{});
72- return make_ready_future (make_status_or (std::move (q)));
80+
81+ std::unordered_map<std::string, bigtable::Value> parameters;
82+ google::bigtable::v2::PrepareQueryResponse pq_response;
83+ auto refresh_fn = [&pq_response]() {
84+ return make_ready_future (
85+ StatusOr<google::bigtable::v2::PrepareQueryResponse>(
86+ pq_response));
87+ };
88+ auto query_plan = bigtable_internal::QueryPlan::Create (
89+ CompletionQueue (fake_cq_impl), std::move (pq_response),
90+ std::move (refresh_fn));
91+ return bigtable::PreparedQuery (instance, sql, std::move (query_plan));
7392 });
7493 Client client (std::move (conn_mock));
7594 auto prepared_query = client.AsyncPrepareQuery (instance, sql);
0 commit comments