This depends on changes in #304, so let's get that reviewed before this one!
Previously, the release controller tests relied way too much on the
actions it took to achieve a particular state, instead of just checking
the final state directly. Here, we're taking the same approach that we
took with the other controllers: check just the final state, without
bothering too much about the actions we took to get there, as it makes
for less brittle tests, and refactoring much easier.
You'll also notice that a bunch of test cases are gone. Those are the
ones that were testing behavior of the scheduler and the strategy
executor. Scheduler tests are good enough, but you'll notice that the
strategy executor is particularly devoid of them. That's a compromise
I'm making to get this out the door quickly, but we'll coordinate to
introduce tests to the strategy executor later.
There's also a small opportunistic refactor on package client that I included here just to avoid opening yet another PR.
This depends on changes in #304, so let's get that reviewed before this one!
Previously, the release controller tests relied way too much on the actions it took to achieve a particular state, instead of just checking the final state directly. Here, we're taking the same approach that we took with the other controllers: check just the final state, without bothering too much about the actions we took to get there, as it makes for less brittle tests, and refactoring much easier.
You'll also notice that a bunch of test cases are gone. Those are the ones that were testing behavior of the scheduler and the strategy executor. Scheduler tests are good enough, but you'll notice that the strategy executor is particularly devoid of them. That's a compromise I'm making to get this out the door quickly, but we'll coordinate to introduce tests to the strategy executor later.
There's also a small opportunistic refactor on package client that I included here just to avoid opening yet another PR.