diff --git a/demock.patch b/demock.patch new file mode 100644 index 0000000..28ec1fb --- /dev/null +++ b/demock.patch @@ -0,0 +1,194 @@ +--- + tests/system/test_blob.py | 2 +- + tests/unit/test__helpers.py | 5 +---- + tests/unit/test__http.py | 3 +-- + tests/unit/test__signing.py | 2 +- + tests/unit/test_acl.py | 3 +-- + tests/unit/test_batch.py | 2 +- + tests/unit/test_blob.py | 2 +- + tests/unit/test_bucket.py | 2 +- + tests/unit/test_client.py | 4 ++-- + tests/unit/test_fileio.py | 2 +- + tests/unit/test_hmac_key.py | 3 +-- + tests/unit/test_notification.py | 3 +-- + tests/unit/test_retry.py | 3 +-- + 13 files changed, 14 insertions(+), 22 deletions(-) + +--- a/tests/system/test_blob.py ++++ b/tests/system/test_blob.py +@@ -18,9 +18,9 @@ import io + import os + import tempfile + import warnings ++from unittest import mock + + import pytest +-import mock + + from google import resumable_media + from google.api_core import exceptions +--- a/tests/unit/test__helpers.py ++++ b/tests/unit/test__helpers.py +@@ -13,8 +13,7 @@ + # limitations under the License. + + import unittest +- +-import mock ++from unittest import mock + + from google.cloud.storage.retry import DEFAULT_RETRY + from google.cloud.storage.retry import DEFAULT_RETRY_IF_METAGENERATION_SPECIFIED +@@ -556,8 +555,6 @@ class Test__base64_md5hash(unittest.Test + self.assertEqual(SIGNED_CONTENT, b"kBiQqOnIz21aGlQrIp/r/w==") + + def test_it_with_stubs(self): +- import mock +- + class _Buffer(object): + def __init__(self, return_vals): + self.return_vals = return_vals +--- a/tests/unit/test__http.py ++++ b/tests/unit/test__http.py +@@ -16,8 +16,7 @@ import os.path + import sys + import unittest + from unittest.mock import patch +- +-import mock ++from unittest import mock + + from google.cloud.storage import _helpers + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '..', '..', '..'))) +--- a/tests/unit/test__signing.py ++++ b/tests/unit/test__signing.py +@@ -24,8 +24,8 @@ import sys + import time + import unittest + import urllib.parse ++from unittest import mock + +-import mock + import pytest + + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '..', '..'))) +--- a/tests/unit/test_acl.py ++++ b/tests/unit/test_acl.py +@@ -13,8 +13,7 @@ + # limitations under the License. + + import unittest +- +-import mock ++from unittest import mock + + from google.cloud.storage.retry import ( + DEFAULT_RETRY, +--- a/tests/unit/test_batch.py ++++ b/tests/unit/test_batch.py +@@ -16,8 +16,8 @@ import http.client + from http.client import SERVICE_UNAVAILABLE + from http.client import NO_CONTENT + import unittest ++from unittest import mock + +-import mock + import requests + + +--- a/tests/unit/test_blob.py ++++ b/tests/unit/test_blob.py +@@ -23,9 +23,9 @@ import tempfile + import unittest + import http.client + from unittest.mock import patch ++from unittest import mock + from urllib.parse import urlencode + +-import mock + import pytest + + from google.cloud.storage import _helpers +--- a/tests/unit/test_bucket.py ++++ b/tests/unit/test_bucket.py +@@ -14,8 +14,8 @@ + + import datetime + import unittest ++from unittest import mock + +-import mock + import pytest + + from google.cloud.storage.retry import DEFAULT_RETRY +--- a/tests/unit/test_client.py ++++ b/tests/unit/test_client.py +@@ -16,8 +16,6 @@ import base64 + import http.client + import io + import json +-from unittest.mock import patch +-import mock + import os.path + import pytest + import re +@@ -25,6 +23,8 @@ import requests + import sys + import unittest + import urllib ++from unittest.mock import patch ++from unittest import mock + + from google.api_core import exceptions + from google.auth.credentials import AnonymousCredentials +--- a/tests/unit/test_fileio.py ++++ b/tests/unit/test_fileio.py +@@ -17,8 +17,8 @@ + import unittest + import io + import string ++from unittest import mock + +-import mock + + from google.api_core.exceptions import RequestRangeNotSatisfiable + from google.cloud.storage.retry import DEFAULT_RETRY +--- a/tests/unit/test_hmac_key.py ++++ b/tests/unit/test_hmac_key.py +@@ -13,8 +13,7 @@ + # limitations under the License. + + import unittest +- +-import mock ++from unittest import mock + + from google.cloud.storage.retry import DEFAULT_RETRY + from google.cloud.storage.retry import DEFAULT_RETRY_IF_ETAG_IN_JSON +--- a/tests/unit/test_notification.py ++++ b/tests/unit/test_notification.py +@@ -13,8 +13,7 @@ + # limitations under the License. + + import unittest +- +-import mock ++from unittest import mock + + from google.cloud.storage.retry import DEFAULT_RETRY + +--- a/tests/unit/test_retry.py ++++ b/tests/unit/test_retry.py +@@ -13,11 +13,10 @@ + # limitations under the License. + + import unittest ++from unittest import mock + + from google.cloud.storage import _helpers + +-import mock +- + + class Test_should_retry(unittest.TestCase): + def _call_fut(self, exc): diff --git a/google-cloud-storage-2.2.1.tar.gz b/google-cloud-storage-2.2.1.tar.gz deleted file mode 100644 index a54380d..0000000 --- a/google-cloud-storage-2.2.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0244f4612710cb5ec445fc6774387564e23f9823363fb408b28724e2102401b7 -size 5482720 diff --git a/google-cloud-storage-2.3.0.tar.gz b/google-cloud-storage-2.3.0.tar.gz new file mode 100644 index 0000000..0c12e06 --- /dev/null +++ b/google-cloud-storage-2.3.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4cbb0de5e17228e9c09cdc897d81eaa70e2c396f58513f79de0e824584c8f5b +size 5483414 diff --git a/no-relative-imports.patch b/no-relative-imports.patch index 3eb6683..1fc44f9 100644 --- a/no-relative-imports.patch +++ b/no-relative-imports.patch @@ -1,9 +1,72 @@ -diff -Nru google-cloud-storage-2.2.1.orig/tests/unit/test_client.py google-cloud-storage-2.2.1/tests/unit/test_client.py ---- google-cloud-storage-2.2.1.orig/tests/unit/test_client.py 2022-03-15 20:58:01.000000000 +0100 -+++ google-cloud-storage-2.2.1/tests/unit/test_client.py 2022-04-13 11:48:44.913965418 +0200 -@@ -17,9 +17,11 @@ +--- + tests/unit/test__http.py | 3 +++ + tests/unit/test__signing.py | 5 ++++- + tests/unit/test_blob.py | 2 ++ + tests/unit/test_client.py | 5 ++++- + 4 files changed, 13 insertions(+), 2 deletions(-) + +--- a/tests/unit/test__http.py ++++ b/tests/unit/test__http.py +@@ -12,12 +12,15 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + ++import os.path ++import sys + import unittest + from unittest.mock import patch + + import mock + + from google.cloud.storage import _helpers ++sys.path.insert(0, os.path.abspath(os.path.join(__file__, '..', '..', '..'))) + from tests.unit.test__helpers import GCCL_INVOCATION_TEST_CONST + + +--- a/tests/unit/test__signing.py ++++ b/tests/unit/test__signing.py +@@ -19,6 +19,8 @@ import binascii + import calendar + import datetime + import json ++import os.path ++import sys + import time + import unittest + import urllib.parse +@@ -26,7 +28,8 @@ import urllib.parse + import mock + import pytest + +-from . import _read_local_json ++sys.path.insert(0, os.path.abspath(os.path.join(__file__, '..', '..'))) ++from unit import _read_local_json + + + _SERVICE_ACCOUNT_JSON = _read_local_json("url_signer_v4_test_account.json") +--- a/tests/unit/test_blob.py ++++ b/tests/unit/test_blob.py +@@ -18,6 +18,7 @@ import hashlib import io import json + import os ++import sys + import tempfile + import unittest + import http.client +@@ -35,6 +36,7 @@ from google.cloud.storage.retry import ( + ) + from google.cloud.storage.retry import DEFAULT_RETRY_IF_ETAG_IN_JSON + from google.cloud.storage.retry import DEFAULT_RETRY_IF_GENERATION_SPECIFIED ++sys.path.insert(0, os.path.abspath(os.path.join(__file__, '..', '..', '..'))) + from tests.unit.test__helpers import GCCL_INVOCATION_TEST_CONST + + +--- a/tests/unit/test_client.py ++++ b/tests/unit/test_client.py +@@ -18,9 +18,11 @@ import io + import json + from unittest.mock import patch import mock +import os.path import pytest @@ -13,35 +76,14 @@ diff -Nru google-cloud-storage-2.2.1.orig/tests/unit/test_client.py google-cloud import unittest import urllib -@@ -32,7 +34,8 @@ +@@ -33,8 +35,9 @@ from google.cloud.storage._helpers impor + from google.cloud.storage import _helpers from google.cloud.storage.retry import DEFAULT_RETRY from google.cloud.storage.retry import DEFAULT_RETRY_IF_GENERATION_SPECIFIED - ++sys.path.insert(0, os.path.abspath(os.path.join(__file__, '..', '..', '..'))) + from tests.unit.test__helpers import GCCL_INVOCATION_TEST_CONST -from . import _read_local_json -+sys.path.insert(0, os.path.abspath(os.path.join(__file__, '..', '..'))) -+from unit import _read_local_json ++from tests.unit import _read_local_json _SERVICE_ACCOUNT_JSON = _read_local_json("url_signer_v4_test_account.json") _CONFORMANCE_TESTS = _read_local_json("url_signer_v4_test_data.json")[ -diff -Nru google-cloud-storage-2.2.1.orig/tests/unit/test__signing.py google-cloud-storage-2.2.1/tests/unit/test__signing.py ---- google-cloud-storage-2.2.1.orig/tests/unit/test__signing.py 2022-03-15 20:58:01.000000000 +0100 -+++ google-cloud-storage-2.2.1/tests/unit/test__signing.py 2022-04-13 11:47:30.200372762 +0200 -@@ -19,6 +19,8 @@ - import calendar - import datetime - import json -+import os.path -+import sys - import time - import unittest - import urllib.parse -@@ -26,7 +28,8 @@ - import mock - import pytest - --from . import _read_local_json -+sys.path.insert(0, os.path.abspath(os.path.join(__file__, '..', '..'))) -+from unit import _read_local_json - - - _SERVICE_ACCOUNT_JSON = _read_local_json("url_signer_v4_test_account.json") diff --git a/python-google-cloud-storage.changes b/python-google-cloud-storage.changes index 22ff017..affe18d 100644 --- a/python-google-cloud-storage.changes +++ b/python-google-cloud-storage.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Apr 15 08:55:20 UTC 2022 - Matej Cepl + +- Update to 2.3.0: + - add dual region bucket support and sample + - track invocation id for retry metrics + - deps: drop pkg_resources + - fix links in blob module + ------------------------------------------------------------------- Wed Apr 13 10:13:58 UTC 2022 - John Paul Adrian Glaubitz diff --git a/python-google-cloud-storage.spec b/python-google-cloud-storage.spec index 243e79a..94c27e7 100644 --- a/python-google-cloud-storage.spec +++ b/python-google-cloud-storage.spec @@ -20,20 +20,22 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-google-cloud-storage -Version: 2.2.1 +Version: 2.3.0 Release: 0 Summary: Google Cloud Storage API python client library License: Apache-2.0 URL: https://github.com/googleapis/python-storage Source: https://files.pythonhosted.org/packages/source/g/google-cloud-storage/google-cloud-storage-%{version}.tar.gz -# PATCH-FIX-UPSTREAM no-relative-imports.patch bsc#[0-9]+ mcepl@suse.com +# PATCH-FIX-UPSTREAM no-relative-imports.patch gh#googleapis/python-storage#772 mcepl@suse.com # fix relative imports -Patch2: no-relative-imports.patch +Patch0: no-relative-imports.patch +# PATCH-FIX-UPSTREAM demock.patch gh#googleapis/python-storage#770 mcepl@suse.com +# Don’t use external mock package +Patch1: demock.patch BuildRequires: %{python_module google-api-core >= 1.31.5} BuildRequires: %{python_module google-auth >= 1.25.0} -BuildRequires: %{python_module google-cloud-core >= 1.6.0} +BuildRequires: %{python_module google-cloud-core >= 2.3.0} BuildRequires: %{python_module google-resumable-media >= 2.3.2} -BuildRequires: %{python_module mock >= 3.0.0} BuildRequires: %{python_module packaging} BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest} @@ -69,7 +71,7 @@ to users via direct download. This package provides client to it. %check export PYTEST_ADDOPTS="--import-mode=importlib" -%pytest tests/unit -k 'not network' +%pytest -k 'not network' tests/unit %files %{python_files} %license LICENSE