Skip to content

Commit 240a765

Browse files
feat(bigquery): remove validation of input and output parameters (googleapis#13665)
feat(bigquery): remove validation
1 parent 2771a6b commit 240a765

6 files changed

Lines changed: 0 additions & 97 deletions

File tree

google/cloud/bigquery/v2/minimal/internal/job_request.cc

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -206,22 +206,6 @@ StatusOr<rest_internal::RestRequest> BuildRestRequest(
206206
absl::StrCat(endpoint, "/projects/", r.project_id(), "/jobs");
207207
request.SetPath(std::move(path));
208208

209-
// Validate request body is a valid json Job payload.
210-
nlohmann::json json_payload;
211-
to_json(json_payload, r.job());
212-
213-
if (!json_payload.is_object()) {
214-
return internal::InvalidArgumentError(
215-
"Invalid InsertJobRequest: Invalid json payload", GCP_ERROR_INFO());
216-
}
217-
218-
auto const& job = json_payload.get<Job>();
219-
220-
if (job.configuration.query.query.empty()) {
221-
return internal::InvalidArgumentError(
222-
"Invalid InsertJobRequest: Invalid Job object", GCP_ERROR_INFO());
223-
}
224-
225209
return request;
226210
}
227211

@@ -323,23 +307,6 @@ StatusOr<rest_internal::RestRequest> BuildRestRequest(
323307
absl::StrCat(endpoint, "/projects/", r.project_id(), "/queries");
324308
request.SetPath(std::move(path));
325309

326-
// Validate request body is a valid json QueryRequest payload.
327-
nlohmann::json json_payload;
328-
to_json(json_payload, r.query_request());
329-
330-
if (!json_payload.is_object()) {
331-
return internal::InvalidArgumentError(
332-
"Invalid PostQueryRequest: Invalid json payload", GCP_ERROR_INFO());
333-
}
334-
335-
auto const& query_request = json_payload.get<QueryRequest>();
336-
337-
if (query_request.query().empty()) {
338-
return internal::InvalidArgumentError(
339-
"Invalid PostQueryRequest: Missing required query field",
340-
GCP_ERROR_INFO());
341-
}
342-
343310
return request;
344311
}
345312

google/cloud/bigquery/v2/minimal/internal/job_request_test.cc

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,6 @@ using ::google::cloud::bigquery_v2_minimal_testing::
3333
using ::google::cloud::bigquery_v2_minimal_testing::MakeJob;
3434
using ::google::cloud::bigquery_v2_minimal_testing::MakePostQueryRequest;
3535

36-
using ::google::cloud::testing_util::StatusIs;
37-
using ::testing::HasSubstr;
38-
3936
auto static const kMinCreationTimeMs = 1111111111111;
4037
auto static const kMaxCreationTimeMs = 1111111111211;
4138
auto static const kMinTime = std::chrono::system_clock::from_time_t(0) +
@@ -271,19 +268,6 @@ TEST(InsertJobRequestTest, Success) {
271268
EXPECT_EQ(expected, *actual);
272269
}
273270

274-
TEST(InsertJobRequestTest, EmptyQuery) {
275-
InsertJobRequest request;
276-
request.set_project_id("1234");
277-
278-
Options opts;
279-
opts.set<EndpointOption>("bigquery.googleapis.com");
280-
internal::OptionsSpan span(opts);
281-
282-
auto actual = BuildRestRequest(request);
283-
EXPECT_THAT(actual, StatusIs(StatusCode::kInvalidArgument,
284-
HasSubstr("Invalid Job object")));
285-
}
286-
287271
TEST(InsertJobRequest, DebugString) {
288272
InsertJobRequest request("1234", MakeJob());
289273

@@ -1027,18 +1011,6 @@ TEST(PostQueryRequestTest, Success) {
10271011
EXPECT_EQ(expected, *actual);
10281012
}
10291013

1030-
TEST(PostQueryRequestTest, MissingQuery) {
1031-
PostQueryRequest request("1234");
1032-
1033-
Options opts;
1034-
opts.set<EndpointOption>("bigquery.googleapis.com");
1035-
internal::OptionsSpan span(opts);
1036-
1037-
auto actual = BuildRestRequest(request);
1038-
EXPECT_THAT(actual, StatusIs(StatusCode::kInvalidArgument,
1039-
HasSubstr("Missing required query field")));
1040-
}
1041-
10421014
TEST(PostQueryRequestTest, DebugString) {
10431015
auto const& request = MakePostQueryRequest();
10441016

google/cloud/bigquery/v2/minimal/internal/project_response.cc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,6 @@ StatusOr<ListProjectsResponse> ListProjectsResponse::BuildFromHttpResponse(
6464
result.etag = json->value("etag", "");
6565
result.next_page_token = json->value("nextPageToken", "");
6666
result.total_items = json->value("totalItems", 0);
67-
if (result.total_items < 0) {
68-
return internal::InternalError("Invalid value for totalItems",
69-
GCP_ERROR_INFO());
70-
}
7167

7268
if (result.total_items == 0) return result;
7369

google/cloud/bigquery/v2/minimal/internal/project_response_test.cc

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -139,20 +139,6 @@ TEST(ListProjectsResponseTest, InvalidProject) {
139139
HasSubstr("Not a valid Json Project object")));
140140
}
141141

142-
TEST(ListProjectsResponseTest, InvalidTotalItems) {
143-
BigQueryHttpResponse http_response;
144-
http_response.payload =
145-
R"({"etag": "tag-1",
146-
"kind": "kind-1",
147-
"nextPageToken": "npt-123",
148-
"totalItems": -1,
149-
"projects": []})";
150-
auto const response =
151-
ListProjectsResponse::BuildFromHttpResponse(http_response);
152-
EXPECT_THAT(response, StatusIs(StatusCode::kInternal,
153-
HasSubstr("Invalid value for totalItems")));
154-
}
155-
156142
TEST(ListProjectsResponseTest, DebugString) {
157143
BigQueryHttpResponse http_response;
158144
http_response.http_status_code = HttpStatusCode::kOk;

google/cloud/bigquery/v2/minimal/internal/table_response.cc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,6 @@ StatusOr<ListTablesResponse> ListTablesResponse::BuildFromHttpResponse(
8787
result.etag = json->value("etag", "");
8888
result.next_page_token = json->value("nextPageToken", "");
8989
result.total_items = json->value("totalItems", 0);
90-
if (result.total_items < 0) {
91-
return internal::InternalError("Invalid value for totalItems",
92-
GCP_ERROR_INFO());
93-
}
9490

9591
for (auto const& kv : json->at("tables").items()) {
9692
auto const& json_list_format_table_obj = kv.value();

google/cloud/bigquery/v2/minimal/internal/table_response_test.cc

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -165,20 +165,6 @@ TEST(ListTablesResponseTest, InvalidListFormatTable) {
165165
HasSubstr("Not a valid Json ListFormatTable object")));
166166
}
167167

168-
TEST(ListTablesResponseTest, InvalidTotalItems) {
169-
BigQueryHttpResponse http_response;
170-
http_response.payload =
171-
R"({"etag": "tag-1",
172-
"kind": "kind-1",
173-
"nextPageToken": "npt-123",
174-
"totalItems": -1,
175-
"tables": []})";
176-
auto const response =
177-
ListTablesResponse::BuildFromHttpResponse(http_response);
178-
EXPECT_THAT(response, StatusIs(StatusCode::kInternal,
179-
HasSubstr("Invalid value for totalItems")));
180-
}
181-
182168
TEST(GetTableResponseTest, DebugString) {
183169
BigQueryHttpResponse http_response;
184170
http_response.http_status_code = HttpStatusCode::kOk;

0 commit comments

Comments
 (0)