chore: Add tests for pause functionality in rollout package #2772
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
TestHasAddPause
checks the behavior of theHasAddPause()
function in the pauseContext struct. It creates apauseContext
instance with an empty v1alpha1.RolloutStatus and an empty list of pause conditions. It sets oneaddPauseReason
with the valuev1alpha1.PauseReasonCanaryPauseStep
with an empty list forremovePauseReasons
. The test then calls the function on thepauseContext
and asserts that the result is true.TestHasAddPauseNoReasons
is basically the unhappy path for theHasAddPause()
function. It creates apauseContext
instance with an emptyv1alpha1.RolloutStatus
and an empty list of pause conditions. It sets both theaddPauseReasons
andremovePauseReasons
lists as empty. The test then calls the function and asserts that the result is false.TestCalculatePauseStatus
checks the behavior of theCalculatePauseStatus()
function in thepauseContext
struct. It creates apauseContext
instance with an emptyv1alpha1.RolloutStatus
and an empty list of pause conditions. It sets oneaddPauseReason
with the valuev1alpha1.PauseReasonCanaryPauseStep
and keeps an empty list forremovePauseReasons
. The test creates an emptynewStatus
variable of typev1alpha1.RolloutStatus
and calls the CalculatePauseStatus(newStatus) method.TestCalculatePauseStatusRemovePause
is the unhappy path of theCalculatePauseStatus()
function with assertions.TestCompletedBlueGreenPause
test checks the behavior of theCompletedBlueGreenPause()
function for a Blue-Green deployment strategy. It creates apauseContext
instance with av1alpha1.Rollout
having a Blue-Green strategy,ControllerPause
is set to true, with one pause conditionv1alpha1.PauseReasonBlueGreenPause
&ScaleUpPreviewCheckPoint
is set to true. The test then calls the function and asserts that the result is true.TestCompletedBlueGreenPauseAutoPromotionDisabled
is the unhappy path of theCompletedBlueGreenPause()
function with assertions.Checklist:
"fix(controller): Updates such and such. Fixes #1234"
.