## START: Set by rpmautospec
## (rpmautospec version 0.3.0)
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 2;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

# F35: Do not update past 1.6.2. F35's protobuf is too old.

# tests are enabled by default
%bcond_without  tests

%global         srcname     google-cloud-billing-budgets
%global         forgeurl    https://github.com/googleapis/python-billingbudgets
Version:        1.7.3
%global         tag         v%{version}
%forgemeta

Name:           python-%{srcname}
Release:        %autorelease
Summary:        Python Client for Google Cloud Billing Budget API

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:
The Google Cloud Billing Budget API stores Cloud Billing budgets, which define a
budget plan and the rules to execute as spend is tracked against that plan.}

%description %{_description}


%package -n python3-%{srcname}
Summary:        %{summary}
%description -n python3-%{srcname} %{_description}


%prep
%forgeautosetup -p1

# 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/'

# Allow an older protobuf.
sed -i 's/protobuf >= 3.20.2/protobuf >= 3.19.4/' setup.py

%generate_buildrequires
%pyproject_buildrequires -r


%build
%pyproject_wheel


%install
%pyproject_install
%pyproject_save_files google

# Remove unnecessary script.
rm -f %{buildroot}%{_bindir}/fixup_budgets*.py


%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_billing_budgets-%{version}-py%{python3_version}-nspkg.pth


%changelog
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> 1.7.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Wed Oct 19 2022 Major Hayden <major@redhat.com> 1.7.3-1
- Update to 1.7.3 rhbz#2133513

* Wed Oct 05 2022 Major Hayden <major@redhat.com> 1.7.2-3
- Remove azure-related copy/paste error

* Wed Oct 05 2022 Major Hayden <major@redhat.com> 1.7.2-2
- Allow an older version of protobuf

* Wed Oct 05 2022 Major Hayden <major@redhat.com> 1.7.2-1
- Update to 1.7.2 rhbz#2131100

* Wed Aug 17 2022 Major Hayden <major@redhat.com> 1.7.1-1
- Update to 1.7.1 rhbz#2119198

* Wed Jul 27 2022 Major Hayden <major@redhat.com> 1.7.0-1
- Update to 1.7.0 rhbz#2108152

* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> 1.6.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Tue Jun 28 2022 Python Maint <python-maint@redhat.com> 1.6.2-2
- Rebuilt for Python 3.11

* Mon Jun 13 2022 Major Hayden <major@redhat.com> 1.6.2-1
- Update to 1.6.2

* Tue Mar 08 2022 Major Hayden <major@mhtx.net> 1.6.1-1
- Update to 1.6.1

* Wed Feb 23 2022 Major Hayden <major@mhtx.net> 1.6.0-1
- Update to 1.6.0

* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> 1.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Tue Nov 02 2021 Major Hayden <major@mhtx.net> 1.5.1-1
- Update to 1.5.1

* Tue Oct 12 2021 Major Hayden <major@mhtx.net> 1.5.0-1
- Update to 1.5.0

* Tue Oct 05 2021 Major Hayden <major@mhtx.net> 1.4.4-1
- Update to 1.4.4

* Mon Sep 27 2021 Major Hayden <major@mhtx.net> 1.4.3-1
- Update to 1.4.3

* Fri Sep 17 2021 Major Hayden <major@mhtx.net> 1.4.2-3
- Fix tests with PEP 420 workaround

* Thu Sep 09 2021 Major Hayden <major@mhtx.net> 1.4.2-2
- Move to rpmautospec

* Tue Sep 07 2021 Major Hayden <major@mhtx.net> 1.4.2-1
- Initial import (#1999106)