Accepting request 970440 from devel:languages:python

REQUIRES https://build.opensuse.org/request/show/970437

- 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
- Add patches:
  - no-relative-imports.patch to allow running the test suite
    with pytest (gh#googleapis/python-storage#772)
  - demock.patch to remove dependency on the external package
    mock (gh#googleapis/python-storage#770)

OBS-URL: https://build.opensuse.org/request/show/970440
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-google-cloud-storage?expand=0&rev=13
This commit is contained in:
Dominique Leuenberger 2022-04-19 07:58:06 +00:00 committed by Git OBS Bridge
commit ceed1a1389
6 changed files with 291 additions and 39 deletions

194
demock.patch Normal file
View File

@ -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):

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0244f4612710cb5ec445fc6774387564e23f9823363fb408b28724e2102401b7
size 5482720

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f4cbb0de5e17228e9c09cdc897d81eaa70e2c396f58513f79de0e824584c8f5b
size 5483414

View File

@ -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 tests/unit/test__http.py | 3 +++
+++ google-cloud-storage-2.2.1/tests/unit/test_client.py 2022-04-13 11:48:44.913965418 +0200 tests/unit/test__signing.py | 5 ++++-
@@ -17,9 +17,11 @@ 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 io
import json 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 mock
+import os.path +import os.path
import pytest 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 unittest
import urllib 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
from google.cloud.storage.retry import DEFAULT_RETRY_IF_GENERATION_SPECIFIED 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 -from . import _read_local_json
+sys.path.insert(0, os.path.abspath(os.path.join(__file__, '..', '..'))) +from tests.unit import _read_local_json
+from unit import _read_local_json
_SERVICE_ACCOUNT_JSON = _read_local_json("url_signer_v4_test_account.json") _SERVICE_ACCOUNT_JSON = _read_local_json("url_signer_v4_test_account.json")
_CONFORMANCE_TESTS = _read_local_json("url_signer_v4_test_data.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")

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Fri Apr 15 08:55:20 UTC 2022 - Matej Cepl <mcepl@suse.com>
- 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
- Add patches:
- no-relative-imports.patch to allow running the test suite
with pytest (gh#googleapis/python-storage#772)
- demock.patch to remove dependency on the external package
mock (gh#googleapis/python-storage#770)
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Apr 13 10:13:58 UTC 2022 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com> Wed Apr 13 10:13:58 UTC 2022 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>

View File

@ -20,20 +20,22 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}} %{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-google-cloud-storage Name: python-google-cloud-storage
Version: 2.2.1 Version: 2.3.0
Release: 0 Release: 0
Summary: Google Cloud Storage API python client library Summary: Google Cloud Storage API python client library
License: Apache-2.0 License: Apache-2.0
URL: https://github.com/googleapis/python-storage URL: https://github.com/googleapis/python-storage
Source: https://files.pythonhosted.org/packages/source/g/google-cloud-storage/google-cloud-storage-%{version}.tar.gz 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 # 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
# Dont use external mock package
Patch1: demock.patch
BuildRequires: %{python_module google-api-core >= 1.31.5} BuildRequires: %{python_module google-api-core >= 1.31.5}
BuildRequires: %{python_module google-auth >= 1.25.0} 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 google-resumable-media >= 2.3.2}
BuildRequires: %{python_module mock >= 3.0.0}
BuildRequires: %{python_module packaging} BuildRequires: %{python_module packaging}
BuildRequires: %{python_module pip} BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest} BuildRequires: %{python_module pytest}
@ -69,7 +71,7 @@ to users via direct download. This package provides client to it.
%check %check
export PYTEST_ADDOPTS="--import-mode=importlib" export PYTEST_ADDOPTS="--import-mode=importlib"
%pytest tests/unit -k 'not network' %pytest -k 'not network' tests/unit
%files %{python_files} %files %{python_files}
%license LICENSE %license LICENSE