From eece358aec07c34eea02269ba31dd1d8084f732c Mon Sep 17 00:00:00 2001 From: Jay Lee Date: Mon, 26 Apr 2021 07:35:07 -0400 Subject: [PATCH] Googleapiclient test fix (#1372) * Fix tests with apiclient >= 2.1 * disable MacOS 11 job --- .github/workflows/build.yml | 10 +++++----- src/gam/gapi/__init___test.py | 5 +++-- src/gam/gapi/errors_test.py | 14 ++++++++------ src/requirements.txt | 2 +- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1752074a..df1eba87 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -56,11 +56,11 @@ jobs: goal: "build" gamos: "macos" platform: "x86_64" - - os: macos-11.0 - jid: 12 - goal: "build" - gamos: "macos" - platform: "universal2" +# - os: macos-11.0 + #jid: 12 + #goal: "build" + #gamos: "macos" + #platform: "universal2" - os: windows-2019 jid: 5 goal: "build" diff --git a/src/gam/gapi/__init___test.py b/src/gam/gapi/__init___test.py index 7ddb5847..bcde6f67 100644 --- a/src/gam/gapi/__init___test.py +++ b/src/gam/gapi/__init___test.py @@ -8,6 +8,7 @@ from unittest.mock import patch from gam import SetGlobalVariables import gam.gapi as gapi from gam.gapi import errors +import httplib2 def create_http_error(status, reason, message): @@ -21,10 +22,10 @@ def create_http_error(status, reason, message): Returns: googleapiclient.errors.HttpError """ - response = { + response = httplib2.Response({ 'status': status, 'content-type': 'application/json', - } + }) content = { 'error': { 'code': status, diff --git a/src/gam/gapi/errors_test.py b/src/gam/gapi/errors_test.py index cbada9d5..3b20da22 100644 --- a/src/gam/gapi/errors_test.py +++ b/src/gam/gapi/errors_test.py @@ -7,6 +7,7 @@ from unittest.mock import patch import googleapiclient.errors from gam.gapi import errors +import httplib2 def create_simple_http_error(status, reason, message): @@ -15,10 +16,10 @@ def create_simple_http_error(status, reason, message): def create_http_error(status, content): - response = { + response = httplib2.Response({ 'status': status, 'content-type': 'application/json', - } + }) content_as_bytes = json.dumps(content).encode('UTF-8') return googleapiclient.errors.HttpError(response, content_as_bytes) @@ -73,6 +74,7 @@ class ErrorsTest(unittest.TestCase): def test_get_gapi_error_extracts_user_not_found(self): err = create_simple_http_error(404, 'notFound', 'Resource Not Found: userKey.') + print(err) http_status, reason, message = errors.get_gapi_error_detail(err) self.assertEqual(http_status, 404) self.assertEqual(reason, errors.ErrorReason.USER_NOT_FOUND.value) @@ -158,7 +160,7 @@ class ErrorsTest(unittest.TestCase): def test_get_gapi_error_extracts_single_error_with_message(self): status_code = 999 - response = {'status': status_code} + response = httplib2.Response({'status': status_code}) # This error does not have an "errors" key describing each error. content = {'error': {'code': status_code, 'message': 'unknown error'}} content_as_bytes = json.dumps(content).encode('UTF-8') @@ -172,7 +174,7 @@ class ErrorsTest(unittest.TestCase): def test_get_gapi_error_exits_code_4_on_malformed_error_with_unknown_description( self): status_code = 999 - response = {'status': status_code} + response = httplib2.Response({'status': status_code}) # This error only has an error_description_field and an unknown description. content = {'error_description': 'something errored'} content_as_bytes = json.dumps(content).encode('UTF-8') @@ -184,7 +186,7 @@ class ErrorsTest(unittest.TestCase): def test_get_gapi_error_exits_on_invalid_error_description(self): status_code = 400 - response = {'status': status_code} + response = httplib2.Response({'status': status_code}) content = {'error_description': 'Invalid Value'} content_as_bytes = json.dumps(content).encode('UTF-8') err = googleapiclient.errors.HttpError(response, content_as_bytes) @@ -196,7 +198,7 @@ class ErrorsTest(unittest.TestCase): def test_get_gapi_error_exits_code_4_on_unexpected_error_contents(self): status_code = 900 - response = {'status': status_code} + response = httplib2.Response({'status': status_code}) content = {'notErrorContentThatIsExpected': 'foo'} content_as_bytes = json.dumps(content).encode('UTF-8') err = googleapiclient.errors.HttpError(response, content_as_bytes) diff --git a/src/requirements.txt b/src/requirements.txt index a945ea1b..bd71db13 100644 --- a/src/requirements.txt +++ b/src/requirements.txt @@ -1,7 +1,7 @@ cryptography distro; sys_platform == 'linux' filelock -google-api-python-client==2.0.2 +google-api-python-client>=2.1 google-auth-httplib2 google-auth-oauthlib>=0.4.1 google-auth>=1.11.2