Coverage report:
19%
hide covered
Files
Functions
Classes
coverage.py v7.12.0
, created at 2025-11-26 11:34 +0800
File
function
statements
missing
excluded
coverage
src / ss_utils_circuit_breaker / __init__.py
(no function)
2
0
0
100%
src / ss_utils_circuit_breaker / breaker.py
CircuitBreakerError.__init__
2
2
0
0%
src / ss_utils_circuit_breaker / breaker.py
CircuitBreaker.__init__
7
7
0
0%
src / ss_utils_circuit_breaker / breaker.py
CircuitBreaker.state
5
5
0
0%
src / ss_utils_circuit_breaker / breaker.py
CircuitBreaker.failure_count
1
1
0
0%
src / ss_utils_circuit_breaker / breaker.py
CircuitBreaker.open
2
2
0
0%
src / ss_utils_circuit_breaker / breaker.py
CircuitBreaker.close
3
3
0
0%
src / ss_utils_circuit_breaker / breaker.py
CircuitBreaker.half_open
1
1
0
0%
src / ss_utils_circuit_breaker / breaker.py
CircuitBreaker.reset
1
1
0
0%
src / ss_utils_circuit_breaker / breaker.py
CircuitBreaker._on_success
4
4
0
0%
src / ss_utils_circuit_breaker / breaker.py
CircuitBreaker._on_failure
5
5
0
0%
src / ss_utils_circuit_breaker / breaker.py
CircuitBreaker.__call__
3
3
0
0%
src / ss_utils_circuit_breaker / breaker.py
CircuitBreaker.__call__.wrapper
9
9
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker.__init__
5
5
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker._key
1
1
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker._ensure_redis
20
20
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker._get_state_from_redis
9
9
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker._set_state_in_redis
6
6
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker._get_failure_count_from_redis
9
9
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker._set_failure_count_in_redis
6
6
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker._get_opened_at_from_redis
9
9
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker._set_opened_at_in_redis
8
8
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker._sync_from_redis
9
9
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker._sync_to_redis
3
3
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker.get_state_async
7
7
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker._on_success_async
2
2
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker._on_failure_async
2
2
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker.__call__
3
3
0
0%
src / ss_utils_circuit_breaker / breaker.py
RedisCircuitBreaker.__call__.wrapper
10
10
0
0%
src / ss_utils_circuit_breaker / breaker.py
(no function)
39
0
0
100%
tests / conftest.py
breaker
2
2
0
0%
tests / conftest.py
redis_breaker
2
2
0
0%
tests / conftest.py
(no function)
5
0
0
100%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_initial_state_is_closed
2
2
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_successful_calls_keep_circuit_closed
7
7
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_successful_calls_keep_circuit_closed.successful_func
1
1
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_circuit_opens_after_threshold_failures
10
10
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_circuit_opens_after_threshold_failures.failing_func
1
1
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_circuit_breaker_error_contains_name
7
7
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_circuit_breaker_error_contains_name.some_func
1
1
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_open_circuit_prevents_calls
7
7
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_open_circuit_prevents_calls.tracked_func
2
2
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_half_open_allows_test_call
7
7
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_half_open_allows_test_call.success_func
1
1
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_half_open_failure_reopens_circuit
7
7
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_half_open_failure_reopens_circuit.failing_func
1
1
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_reset_closes_circuit
5
5
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_close_resets_failure_count
8
8
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_close_resets_failure_count.failing_func
1
1
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_success_resets_failure_count
9
9
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_success_resets_failure_count.maybe_fail
3
3
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_expected_exception_filtering
9
9
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_expected_exception_filtering.multi_error
4
4
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_multiple_expected_exceptions
9
9
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_multiple_expected_exceptions.multi_fail
4
4
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_decorated_function_preserves_return_value
4
4
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_decorated_function_preserves_return_value.get_data
1
1
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_decorated_function_preserves_arguments
4
4
0
0%
tests / test_circuit_breaker.py
TestCircuitBreaker.test_decorated_function_preserves_arguments.add
1
1
0
0%
tests / test_circuit_breaker.py
TestCircuitBreakerState.test_state_values
3
3
0
0%
tests / test_circuit_breaker.py
TestCircuitBreakerState.test_state_is_string_enum
3
3
0
0%
tests / test_circuit_breaker.py
(no function)
20
0
0
100%
Total
344
278
0
19%
No items found using the specified filter.