From 1be85cb667f0afe675e3a3f3aefac491b002fe06 Mon Sep 17 00:00:00 2001 From: Tres Seaver Date: Fri, 6 Aug 2021 16:40:54 -0400 Subject: [PATCH] tests: allow prerelease dependency versions under Python 3.9 Also, remove 'tests/unit/test_exceptions.py' fossil. The 'google.cloud.exceptions' module no longer contains any code, but is only a set of backward-compatibility imports. --- testing/constraints-3.9.txt | 2 + tests/unit/test_exceptions.py | 128 ---------------------------------- 2 files changed, 2 insertions(+), 128 deletions(-) delete mode 100644 tests/unit/test_exceptions.py diff --git a/testing/constraints-3.9.txt b/testing/constraints-3.9.txt index e69de29..6d34489 100644 --- a/testing/constraints-3.9.txt +++ b/testing/constraints-3.9.txt @@ -0,0 +1,2 @@ +# Allow prerelease requirements +--pre diff --git a/tests/unit/test_exceptions.py b/tests/unit/test_exceptions.py deleted file mode 100644 index 86795c2..0000000 --- a/tests/unit/test_exceptions.py +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 2014 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import http.client -import json - -import requests - -from google.cloud import exceptions - - -def test_create_google_cloud_error(): - exception = exceptions.GoogleCloudError("Testing") - exception.code = 600 - assert str(exception) == "600 Testing" - assert exception.message == "Testing" - assert exception.errors == [] - - -def test_create_google_cloud_error_with_args(): - error = { - "domain": "global", - "location": "test", - "locationType": "testing", - "message": "Testing", - "reason": "test", - } - exception = exceptions.GoogleCloudError("Testing", [error]) - exception.code = 600 - assert str(exception) == "600 Testing" - assert exception.message == "Testing" - assert exception.errors == [error] - - -def test_from_http_status(): - message = "message" - exception = exceptions.from_http_status(http.client.NOT_FOUND, message) - assert exception.code == http.client.NOT_FOUND - assert exception.message == message - assert exception.errors == [] - - -def test_from_http_status_with_errors(): - message = "message" - errors = ["1", "2"] - exception = exceptions.from_http_status( - http.client.NOT_FOUND, message, errors=errors - ) - - assert isinstance(exception, exceptions.NotFound) - assert exception.code == http.client.NOT_FOUND - assert exception.message == message - assert exception.errors == errors - - -def test_from_http_status_unknown_code(): - message = "message" - status_code = 156 - exception = exceptions.from_http_status(status_code, message) - assert exception.code == status_code - assert exception.message == message - - -def make_response(content): - response = requests.Response() - response._content = content - response.status_code = http.client.NOT_FOUND - response.request = requests.Request( - method="POST", url="https://example.com" - ).prepare() - return response - - -def test_from_http_response_no_content(): - response = make_response(None) - - exception = exceptions.from_http_response(response) - - assert isinstance(exception, exceptions.NotFound) - assert exception.code == http.client.NOT_FOUND - assert exception.message == "POST https://example.com/: unknown error" - assert exception.response == response - - -def test_from_http_response_text_content(): - response = make_response(b"message") - - exception = exceptions.from_http_response(response) - - assert isinstance(exception, exceptions.NotFound) - assert exception.code == http.client.NOT_FOUND - assert exception.message == "POST https://example.com/: message" - - -def test_from_http_response_json_content(): - response = make_response( - json.dumps({"error": {"message": "json message", "errors": ["1", "2"]}}).encode( - "utf-8" - ) - ) - - exception = exceptions.from_http_response(response) - - assert isinstance(exception, exceptions.NotFound) - assert exception.code == http.client.NOT_FOUND - assert exception.message == "POST https://example.com/: json message" - assert exception.errors == ["1", "2"] - - -def test_from_http_response_bad_json_content(): - response = make_response(json.dumps({"meep": "moop"}).encode("utf-8")) - - exception = exceptions.from_http_response(response) - - assert isinstance(exception, exceptions.NotFound) - assert exception.code == http.client.NOT_FOUND - assert exception.message == "POST https://example.com/: unknown error"