Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
ErrorBoundariesTest Class Reference
Inheritance diagram for ErrorBoundariesTest:
Inheritance graph
Collaboration diagram for ErrorBoundariesTest:
Collaboration graph

Protected Member Functions

void SetUp () override
 
void TearDown () override
 
kcenon::common::Result< int > failing_operation ()
 
kcenon::common::Result< int > always_failing_operation ()
 
kcenon::common::Result< int > always_succeeding_operation ()
 
kcenon::common::Result< int > throwing_operation ()
 

Protected Attributes

std::atomic< int > call_count {0}
 
std::atomic< int > success_after_attempts {0}
 

Detailed Description

Definition at line 15 of file test_error_boundaries.cpp.

Member Function Documentation

◆ always_failing_operation()

kcenon::common::Result< int > ErrorBoundariesTest::always_failing_operation ( )
inlineprotected

Definition at line 41 of file test_error_boundaries.cpp.

41 {
42 ++call_count;
43 return kcenon::common::make_error<int>(static_cast<int>(monitoring_error_code::operation_failed), "Always fails");
44 }
std::atomic< int > call_count

References call_count.

◆ always_succeeding_operation()

kcenon::common::Result< int > ErrorBoundariesTest::always_succeeding_operation ( )
inlineprotected

Definition at line 47 of file test_error_boundaries.cpp.

47 {
48 ++call_count;
49 return kcenon::common::ok(100);
50 }

References call_count.

◆ failing_operation()

kcenon::common::Result< int > ErrorBoundariesTest::failing_operation ( )
inlineprotected

Definition at line 31 of file test_error_boundaries.cpp.

31 {
32 int current_call = ++call_count;
33 if (success_after_attempts > 0 && current_call <= success_after_attempts) {
34 return kcenon::common::make_error<int>(static_cast<int>(monitoring_error_code::operation_failed),
35 "Simulated failure on attempt " + std::to_string(current_call));
36 }
37 return kcenon::common::ok(42);
38 }
std::atomic< int > success_after_attempts

References call_count, and success_after_attempts.

◆ SetUp()

void ErrorBoundariesTest::SetUp ( )
inlineoverrideprotected

Definition at line 17 of file test_error_boundaries.cpp.

17 {
18 call_count = 0;
20 }

References call_count, and success_after_attempts.

◆ TearDown()

void ErrorBoundariesTest::TearDown ( )
inlineoverrideprotected

Definition at line 22 of file test_error_boundaries.cpp.

22 {
23 // Clean up registries
25 }
error_boundary_registry & global_error_boundary_registry()
Get global error boundary registry.

References kcenon::monitoring::error_boundary_registry::clear(), and kcenon::monitoring::global_error_boundary_registry().

Here is the call graph for this function:

◆ throwing_operation()

kcenon::common::Result< int > ErrorBoundariesTest::throwing_operation ( )
inlineprotected

Definition at line 53 of file test_error_boundaries.cpp.

53 {
54 ++call_count;
55 throw std::runtime_error("Simulated exception");
56 }

References call_count.

Member Data Documentation

◆ call_count

std::atomic<int> ErrorBoundariesTest::call_count {0}
protected

◆ success_after_attempts

std::atomic<int> ErrorBoundariesTest::success_after_attempts {0}
protected

Definition at line 28 of file test_error_boundaries.cpp.

28{0};

Referenced by failing_operation(), and SetUp().


The documentation for this class was generated from the following file: