@dprotaso enumerated a lot of good tests here
I would suggest more granularity and test the scenarios below. Let me know if it's too pedantic. I'm suggesting this because there's no test for when a configuration fails and recovers. And there's some overlap testing the route failure flow in TestTypicalServiceFlow and TestRouteFailurePropagation
Each bullet point would be a scenario to test given the conditions when ...
service happy flow
when the service ready condition is unknown
- route ready condition becomes true
- configuration ready condition becomes true
- both route and configuration ready condition becomes true
failure propagation
when the service ready condition is true
and both route & configuration ready conditions are true
- route ready condition becomes false
- configuration ready condition becomes false
configuration recovery
when the service ready condition is false
and route ready condition is true
and configuration ready condition is false
- configuration ready condition becomes true
route recovery
when the service ready condition is false
and route ready condition is false
and configuration ready condition is true
- route ready condition becomes true
@dprotaso enumerated a lot of good tests here
I would suggest more granularity and test the scenarios below. Let me know if it's too pedantic. I'm suggesting this because there's no test for when a configuration fails and recovers. And there's some overlap testing the route failure flow in
TestTypicalServiceFlowandTestRouteFailurePropagationEach bullet point would be a scenario to test given the conditions
when ...service happy flow
failure propagation
configuration recovery
route recovery