%bcond_without tests
%global srcname google-cloud-api-gateway
%global forgeurl https://github.com/googleapis/python-api-gateway
Version: 1.7.1
%global tag v%{version}
%forgemeta
Name: python-%{srcname}
Release: %autorelease
Summary: Python Client for Google Cloud API Gateway
License: Apache-2.0
URL: %forgeurl
Source0: %forgesource
BuildArch: noarch
BuildRequires: python3-devel
%if %{with tests}
BuildRequires: python3dist(pytest)
BuildRequires: python3dist(pytest-asyncio)
%endif
%global _description %{expand:
API Gateway allows you to create, secure, and monitor APIs for Google Cloud
serverless back ends, including Cloud Functions, Cloud Run, and App Engine.
Built on Envoy, API Gateway gives you high performance, scalability, and the
freedom to focus on building great apps.}
%description %{_description}
%package -n python3-%{srcname}
Summary: %{summary}
%description -n python3-%{srcname} %{_description}
%prep
%forgeautosetup
# Allow a slightly older protobuf.
sed -i 's/"protobuf.*",/"protobuf>=3.19.4",/' setup.py
# Replace mock imports with unittest.mock.
grep -rl "^[[:space:]]*import mock" tests | \
xargs sed -i -E 's/^([[:space:]]*)import mock/\1from unittest import mock/'
%generate_buildrequires
%pyproject_buildrequires -r
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files google
%check
%pyproject_check_import -e google.cloud.apigateway_v1.types.apigateway_service
%if %{with tests}
# NOTE(mhayden): Setting PYTHONUSERBASE as a hack for PEP 420 namespaces.
# Thanks to churchyard for the fix.
PYTHONUSERBASE=%{buildroot}%{_prefix} \
%pytest tests/unit
%endif
%files -n python3-%{srcname} -f %{pyproject_files}
%license LICENSE
%doc README.rst CHANGELOG.md
%{python3_sitelib}/google_cloud_api_gateway-%{version}-py%{python3_version}-nspkg.pth
%changelog
%autochangelog