forked from pool/python-circuitbreaker
Compare commits
7 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| a04ae0bae8 | |||
| 51abe92c79 | |||
| 97bc57f8ea | |||
| 37920866c4 | |||
| 0f79433cc6 | |||
| 2830a84196 | |||
| 72fe56f0aa |
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:747d4ced5c0797e2ab1d3e00a03b312db23e7ec65106148fc63beec25bbba50f
|
|
||||||
size 7946
|
|
||||||
3
circuitbreaker-2.1.3.tar.gz
Normal file
3
circuitbreaker-2.1.3.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1a4baee510f7bea3c91b194dcce7c07805fe96c4423ed5594b75af438531d084
|
||||||
|
size 10787
|
||||||
@@ -1,3 +1,35 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 12 02:56:56 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Pass asyncio-mode to pytest.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 28 14:00:11 UTC 2025 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 2.1.3:
|
||||||
|
* fix datetime.utcnow deprecation
|
||||||
|
* test with newer python versions
|
||||||
|
* various build cleanups
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 27 07:50:27 UTC 2024 - Frantisek Simorda <frantisek.simorda@suse.com>
|
||||||
|
|
||||||
|
- update to 2.0.0:
|
||||||
|
* Async Support
|
||||||
|
* Python2 not supported anymore
|
||||||
|
* Supported Python versions now are: 3.11, 3.10, 3.9, 3.8, 3.7
|
||||||
|
|
||||||
|
- version 1.4.0:
|
||||||
|
* Fallback Function
|
||||||
|
* Custom callable for handling exceptions
|
||||||
|
* Monotonic clock
|
||||||
|
* Circuitbreaker default name
|
||||||
|
* the project is now built on Github Action instead of Travis CI
|
||||||
|
* building for python 3.10
|
||||||
|
* applied smaller flake8 fixes
|
||||||
|
|
||||||
|
- Drop use_stdlib_mock.patch merged upstream
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Oct 27 17:56:18 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
Wed Oct 27 17:56:18 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-circuitbreaker
|
# spec file for package python-circuitbreaker
|
||||||
#
|
#
|
||||||
# Copyright (c) 2021 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC and contributors
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -16,20 +16,23 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
|
||||||
%define modname circuitbreaker
|
%define modname circuitbreaker
|
||||||
Name: python-circuitbreaker
|
Name: python-circuitbreaker
|
||||||
Version: 1.3.2
|
Version: 2.1.3
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Python implementation of the "Circuit Breaker" Pattern
|
Summary: Python implementation of the "Circuit Breaker" Pattern
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
URL: https://github.com/fabfuel/circuitbreaker
|
URL: https://github.com/fabfuel/circuitbreaker
|
||||||
Source: https://files.pythonhosted.org/packages/source/c/%{modname}/%{modname}-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/c/%{modname}/%{modname}-%{version}.tar.gz
|
||||||
# PATCH-FIX-UPSTREAM use_stdlib_mock.patch bugno mcepl@suse.com
|
BuildRequires: %{python_module coverage}
|
||||||
# Don't depend on the external mock
|
BuildRequires: %{python_module flake8}
|
||||||
Patch0: use_stdlib_mock.patch
|
BuildRequires: %{python_module pip}
|
||||||
|
BuildRequires: %{python_module pytest-asyncio}
|
||||||
|
BuildRequires: %{python_module pytest-cov}
|
||||||
|
BuildRequires: %{python_module pytest-mock}
|
||||||
BuildRequires: %{python_module pytest}
|
BuildRequires: %{python_module pytest}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
|
BuildRequires: %{python_module wheel}
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
Suggests: python-typing
|
Suggests: python-typing
|
||||||
@@ -43,18 +46,21 @@ Python implementation of the "Circuit Breaker" Pattern
|
|||||||
%autosetup -p1 -n circuitbreaker-%{version}
|
%autosetup -p1 -n circuitbreaker-%{version}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%python_build
|
%pyproject_wheel
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%python_install
|
%pyproject_install
|
||||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||||
|
|
||||||
%check
|
%check
|
||||||
|
export PYTEST_ADDOPTS="--asyncio-mode=auto"
|
||||||
%pytest
|
%pytest
|
||||||
|
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
%doc README.rst
|
%doc README.rst
|
||||||
%license LICENSE.rst
|
%license LICENSE.rst
|
||||||
%{python_sitelib}/*
|
%{python_sitelib}/circuitbreaker.py
|
||||||
|
%{python_sitelib}/circuitbreaker-%{version}.dist-info
|
||||||
|
%pycache_only %{python_sitelib}/__pycache__/circuitbreaker*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|||||||
@@ -1,65 +0,0 @@
|
|||||||
---
|
|
||||||
tests/test_functional.py | 5 ++++-
|
|
||||||
tests/test_unit.py | 15 +++++++--------
|
|
||||||
2 files changed, 11 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
--- a/tests/test_functional.py
|
|
||||||
+++ b/tests/test_functional.py
|
|
||||||
@@ -1,6 +1,9 @@
|
|
||||||
from time import sleep
|
|
||||||
|
|
||||||
-from mock.mock import patch, Mock
|
|
||||||
+try:
|
|
||||||
+ from unittest.mock import patch, Mock
|
|
||||||
+except (ImportError, ModuleNotFoundError):
|
|
||||||
+ from mock import patch, Mock
|
|
||||||
from pytest import raises
|
|
||||||
|
|
||||||
from circuitbreaker import CircuitBreaker, CircuitBreakerError, \
|
|
||||||
--- a/tests/test_unit.py
|
|
||||||
+++ b/tests/test_unit.py
|
|
||||||
@@ -1,9 +1,8 @@
|
|
||||||
try:
|
|
||||||
- from unittest.mock import Mock
|
|
||||||
-except ImportError:
|
|
||||||
- from mock import Mock
|
|
||||||
+ from unittest.mock import Mock, patch
|
|
||||||
+except (ImportError, ModuleNotFoundError):
|
|
||||||
+ from mock import Mock, patch
|
|
||||||
|
|
||||||
-from mock.mock import patch
|
|
||||||
from pytest import raises
|
|
||||||
|
|
||||||
from circuitbreaker import CircuitBreaker, CircuitBreakerError, circuit
|
|
||||||
@@ -50,7 +49,7 @@ def test_circuitbreaker_should_call_fall
|
|
||||||
func = Mock(return_value=False)
|
|
||||||
|
|
||||||
CircuitBreaker.opened = lambda self: True
|
|
||||||
-
|
|
||||||
+
|
|
||||||
cb = CircuitBreaker(name='WithFallback', fallback_function=fallback)
|
|
||||||
cb.call(func)
|
|
||||||
fallback.assert_called_once_with()
|
|
||||||
@@ -61,11 +60,11 @@ def test_circuitbreaker_should_not_call_
|
|
||||||
func = Mock(return_value=False)
|
|
||||||
|
|
||||||
CircuitBreaker.opened = lambda self: True
|
|
||||||
-
|
|
||||||
+
|
|
||||||
cb = CircuitBreaker(name='WithFallback', fallback_function=fallback)
|
|
||||||
assert cb.call(func) == fallback.return_value
|
|
||||||
assert not func.called
|
|
||||||
-
|
|
||||||
+
|
|
||||||
|
|
||||||
def mocked_function(*args, **kwargs):
|
|
||||||
pass
|
|
||||||
@@ -82,7 +81,7 @@ def test_circuitbreaker_call_fallback_fu
|
|
||||||
func_decorated('test2',test='test')
|
|
||||||
|
|
||||||
# check args and kwargs are getting correctly to fallback function
|
|
||||||
-
|
|
||||||
+
|
|
||||||
fallback.assert_called_once_with('test2', test='test')
|
|
||||||
|
|
||||||
@patch('circuitbreaker.CircuitBreaker.decorate')
|
|
||||||
Reference in New Issue
Block a user