# F35: Do not update past 1.2.1. F35's protobuf is too old.
# tests are enabled by default
%bcond_without tests
%global srcname google-cloud-api-gateway
%global forgeurl https://github.com/googleapis/python-api-gateway
Version: 1.3.0
%global tag v%{version}
%forgemeta
Name: python-%{srcname}
Release: %autorelease
Summary: Python Client for Google Cloud API Gateway
License: ASL 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
# 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
%if %{with tests}
%check
# Work around an usual pytest/PEP 420 issue where pytest can't import the
# installed module. Thanks to mhroncok for the help!
mv google{,_}
%pytest --disable-warnings tests/unit
mv google{_,}
%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