From d66c0c2028b59b9ce8616a24a1b1dad993e8b2b1 Mon Sep 17 00:00:00 2001 From: spinnakerbot Date: Wed, 19 Feb 2025 01:28:22 -0500 Subject: [PATCH 1/7] chore(dependencies): Autobump fiatVersion (#4843) Co-authored-by: root --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 18b65fae95..b55b2b3901 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -fiatVersion=1.53.0 +fiatVersion=1.54.0 korkVersion=7.251.0 kotlinVersion=1.6.21 org.gradle.parallel=true From effb8b621bb5c839e794fdfdbb8eb381d2c4dfe0 Mon Sep 17 00:00:00 2001 From: David Byron <82477955+dbyron-sf@users.noreply.github.com> Date: Wed, 19 Feb 2025 07:39:14 -0800 Subject: [PATCH 2/7] fix(gha): fix branch detection error (#4844) from e.g. https://github.com/spinnaker/orca/actions/runs/13415978286/job/37476832943 Run BRANCHES=$(git branch -r --contains refs/tags/v8.60.0) BRANCHES is ' origin/HEAD -> origin/master origin/master' NUM_BRANCHES is '2' exactly one branch required to release orca, but there are 2 ( origin/HEAD -> origin/master origin/master) --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1b6664e999..ce4034a100 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: # Given a tag, determine what branch we are on, so we can bump dependencies in the correct branch - name: Get Branch run: | - BRANCHES=$(git branch -r --contains ${{ github.ref }}) + BRANCHES=$(git branch -r --contains ${{ github.ref }} | grep -v 'HEAD') echo "BRANCHES is '${BRANCHES}'" # Check for no branches explicitly...Otherwise echo adds a newline so wc thinks there's # one branch. And echo -n makes it appears that there's one less branch than there From 6b45278d79f70abb14a1bf249f6f1a9cbe7ccd5d Mon Sep 17 00:00:00 2001 From: Christos Arvanitis Date: Mon, 24 Feb 2025 19:06:44 +0200 Subject: [PATCH 3/7] fix(orca-clouddriver): Fix exception in mapping of trafficManagement when null (#4845) --- .../manifest/DeployManifestStage.java | 30 ++++++++++--------- .../manifest/DeployManifestStageTest.java | 8 +++++ 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/orca-clouddriver/src/main/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStage.java b/orca-clouddriver/src/main/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStage.java index d2d50aae1a..805e88349c 100644 --- a/orca-clouddriver/src/main/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStage.java +++ b/orca-clouddriver/src/main/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStage.java @@ -92,20 +92,22 @@ public boolean processExpressions( @Override public void afterStages(@Nonnull StageExecution stage, @Nonnull StageGraphBuilder graph) { - TrafficManagement trafficManagement = - stage.mapTo("/trafficManagement", TrafficManagement.class); - if (trafficManagement.isEnabled()) { - switch (trafficManagement.getOptions().getStrategy()) { - case RED_BLACK: - case BLUE_GREEN: - oldManifestActionAppender.deleteOrDisableOldManifest(stage.getContext(), graph); - break; - case HIGHLANDER: - oldManifestActionAppender.disableOldManifest(stage.getContext(), graph); - oldManifestActionAppender.deleteOldManifest(stage.getContext(), graph); - break; - case NONE: - // do nothing + if (stage.getContext().get("trafficManagement") != null) { + TrafficManagement trafficManagement = + stage.mapTo("/trafficManagement", TrafficManagement.class); + if (trafficManagement.isEnabled()) { + switch (trafficManagement.getOptions().getStrategy()) { + case RED_BLACK: + case BLUE_GREEN: + oldManifestActionAppender.deleteOrDisableOldManifest(stage.getContext(), graph); + break; + case HIGHLANDER: + oldManifestActionAppender.disableOldManifest(stage.getContext(), graph); + oldManifestActionAppender.deleteOldManifest(stage.getContext(), graph); + break; + case NONE: + // do nothing + } } } if (shouldRemoveStageOutputs(stage)) { diff --git a/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStageTest.java b/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStageTest.java index e2388b4ed0..af9e262bec 100644 --- a/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStageTest.java +++ b/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStageTest.java @@ -115,6 +115,14 @@ void rolloutStrategyDisabled() { assertThat(getAfterStages(stage)).isEmpty(); } + @Test + void rolloutStrategyMissing() { + StageExecutionImpl stage = new StageExecutionImpl(); + stage.setContext(getContext(DeployManifestContext.builder().build())); + stage.getContext().remove("trafficManagement"); + assertThat(getAfterStages(stage)).isEmpty(); + } + @Test void rolloutStrategyRedBlack() { givenManifestIsStable(); From 157461e02130e420c7f3e7b4f071da7894f46f11 Mon Sep 17 00:00:00 2001 From: Edgar Garcia Date: Tue, 25 Feb 2025 17:14:36 -0600 Subject: [PATCH 4/7] test(stage): add test to cover scenario when clouddriver returns a failure. --- .../WaitForManifestStableTaskTest.java | 42 ++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java b/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java index 27da49716b..15e153b5f4 100644 --- a/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java +++ b/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java @@ -21,6 +21,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerServerException; import com.netflix.spinnaker.orca.api.pipeline.TaskResult; import com.netflix.spinnaker.orca.api.pipeline.models.ExecutionStatus; import com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType; @@ -32,6 +33,7 @@ import java.util.List; import java.util.Map; import java.util.Optional; +import okhttp3.Request; import org.assertj.core.api.AssertionsForClassTypes; import org.junit.jupiter.api.Test; @@ -148,7 +150,6 @@ void doesNotRecheckManifests() { reset(oortService); - verify(oortService, times(0)).getManifest(ACCOUNT, NAMESPACE, MANIFEST_1, false); when(oortService.getManifest(ACCOUNT, NAMESPACE, MANIFEST_2, false)) .thenReturn(manifestBuilder().stable(true).failed(false).build()); @@ -160,6 +161,7 @@ void doesNotRecheckManifests() { .putAll(result.getContext()) .build())); AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.SUCCEEDED); + verify(oortService, times(0)).getManifest(ACCOUNT, NAMESPACE, MANIFEST_1, false); } @Test @@ -273,6 +275,44 @@ void waitsForAllManifestsWhenOneFailedAndOneUnknown() { .containsExactly(failedMessage(MANIFEST_1), waitingToStabilizeMessage(MANIFEST_2)); } + @Test + void waitTaskContextIsRestartedWhenClouddriverReturnsException() { + OortService oortService = mock(OortService.class); + WaitForManifestStableTask task = new WaitForManifestStableTask(oortService); + + StageExecutionImpl myStage = + createStageWithManifests( + ImmutableMap.of(NAMESPACE, ImmutableList.of(MANIFEST_1, MANIFEST_2))); + + when(oortService.getManifest(ACCOUNT, NAMESPACE, MANIFEST_1, false)) + .thenReturn(manifestBuilder().stable(true).failed(false).build()); + when(oortService.getManifest(ACCOUNT, NAMESPACE, MANIFEST_2, false)) + .thenReturn(manifestBuilder().stable(false).failed(false).build()); + + TaskResult result = task.execute(myStage); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + assertThat(getMessages(result)).containsExactly(waitingToStabilizeMessage(MANIFEST_2)); + assertThat(getErrors(result)).isEmpty(); + + reset(oortService); + + when(oortService.getManifest(ACCOUNT, NAMESPACE, MANIFEST_2, false)) + .thenThrow( + new SpinnakerServerException(new Request.Builder().url("http://localhost").build())); + + result = + task.execute( + createStageWithContext( + ImmutableMap.builder() + .putAll(myStage.getContext()) + .putAll(result.getContext()) + .build())); + + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + assertThat(getMessages(result)).isEmpty(); + assertThat(getErrors(result)).isEmpty(); + } + private static String waitingToStabilizeMessage(String manifest) { return String.format( "'%s' in '%s' for account %s: waiting for manifest to stabilize", From 2379b03dc9fa99c25ed18996e85d6643f1b54a78 Mon Sep 17 00:00:00 2001 From: Edgar Garcia Date: Tue, 25 Feb 2025 18:31:44 -0600 Subject: [PATCH 5/7] test(stage): remove AssertionsForClassTypes import --- .../WaitForManifestStableTaskTest.java | 37 ++++++++++--------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java b/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java index 15e153b5f4..73a8ae4942 100644 --- a/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java +++ b/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java @@ -17,7 +17,11 @@ package com.netflix.spinnaker.orca.clouddriver.tasks.manifest; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.reset; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -34,7 +38,6 @@ import java.util.Map; import java.util.Optional; import okhttp3.Request; -import org.assertj.core.api.AssertionsForClassTypes; import org.junit.jupiter.api.Test; final class WaitForManifestStableTaskTest { @@ -58,7 +61,7 @@ void terminalWhenFailedStable() { .thenReturn(manifestBuilder().stable(true).failed(true).build()); TaskResult result = task.execute(myStage); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); assertThat(getMessages(result)).containsExactly(failedMessage(MANIFEST_1)); assertThat(getErrors(result)).containsExactly(failedMessage(MANIFEST_1)); } @@ -75,7 +78,7 @@ void terminalWhenFailedUnstable() { .thenReturn(manifestBuilder().stable(false).failed(true).build()); TaskResult result = task.execute(myStage); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); assertThat(getMessages(result)).containsExactly(failedMessage(MANIFEST_1)); assertThat(getErrors(result)).containsExactly(failedMessage(MANIFEST_1)); } @@ -92,7 +95,7 @@ void runningWhenUnstable() { .thenReturn(manifestBuilder().stable(false).failed(false).build()); TaskResult result = task.execute(myStage); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); assertThat(getMessages(result)).containsExactly(waitingToStabilizeMessage(MANIFEST_1)); assertThat(getErrors(result)).isEmpty(); } @@ -109,7 +112,7 @@ void succeededWhenStable() { .thenReturn(manifestBuilder().stable(true).failed(false).build()); TaskResult result = task.execute(myStage); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.SUCCEEDED); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.SUCCEEDED); assertThat(getMessages(result)).isEmpty(); assertThat(getErrors(result)).isEmpty(); } @@ -126,7 +129,7 @@ void runningWhenUnknown() { .thenReturn(manifestBuilder().build()); TaskResult result = task.execute(myStage); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); assertThat(getMessages(result)).containsExactly(waitingToStabilizeMessage(MANIFEST_1)); assertThat(getErrors(result)).isEmpty(); } @@ -146,7 +149,7 @@ void doesNotRecheckManifests() { .thenReturn(manifestBuilder().stable(false).failed(false).build()); TaskResult result = task.execute(myStage); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); reset(oortService); @@ -160,7 +163,7 @@ void doesNotRecheckManifests() { .putAll(myStage.getContext()) .putAll(result.getContext()) .build())); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.SUCCEEDED); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.SUCCEEDED); verify(oortService, times(0)).getManifest(ACCOUNT, NAMESPACE, MANIFEST_1, false); } @@ -179,7 +182,7 @@ void waitsForMultipleManifests() { .thenReturn(manifestBuilder().stable(false).failed(false).build()); TaskResult result = task.execute(myStage); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); assertThat(getMessages(result)).containsExactly(waitingToStabilizeMessage(MANIFEST_2)); assertThat(getErrors(result)).isEmpty(); @@ -195,7 +198,7 @@ void waitsForMultipleManifests() { .putAll(myStage.getContext()) .putAll(result.getContext()) .build())); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.SUCCEEDED); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.SUCCEEDED); assertThat(getMessages(result)).containsExactly(waitingToStabilizeMessage(MANIFEST_2)); assertThat(getErrors(result)).isEmpty(); } @@ -215,7 +218,7 @@ void waitsForAllManifestsWhenOneFailed() { .thenReturn(manifestBuilder().stable(false).failed(false).build()); TaskResult result = task.execute(myStage); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); assertThat(getMessages(result)) .containsExactly(failedMessage(MANIFEST_1), waitingToStabilizeMessage(MANIFEST_2)); assertThat(getErrors(result)).containsExactly(failedMessage(MANIFEST_1)); @@ -233,7 +236,7 @@ void waitsForAllManifestsWhenOneFailed() { .putAll(result.getContext()) .build())); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); assertThat(getMessages(result)) .containsExactly(failedMessage(MANIFEST_1), waitingToStabilizeMessage(MANIFEST_2)); assertThat(getErrors(result)).containsExactly(failedMessage(MANIFEST_1)); @@ -254,7 +257,7 @@ void waitsForAllManifestsWhenOneFailedAndOneUnknown() { .thenReturn(manifestBuilder().build()); TaskResult result = task.execute(myStage); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); assertThat(getMessages(result)) .containsExactly(failedMessage(MANIFEST_1), waitingToStabilizeMessage(MANIFEST_2)); @@ -270,7 +273,7 @@ void waitsForAllManifestsWhenOneFailedAndOneUnknown() { .putAll(myStage.getContext()) .putAll(result.getContext()) .build())); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); assertThat(getMessages(result)) .containsExactly(failedMessage(MANIFEST_1), waitingToStabilizeMessage(MANIFEST_2)); } @@ -290,7 +293,7 @@ void waitTaskContextIsRestartedWhenClouddriverReturnsException() { .thenReturn(manifestBuilder().stable(false).failed(false).build()); TaskResult result = task.execute(myStage); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); assertThat(getMessages(result)).containsExactly(waitingToStabilizeMessage(MANIFEST_2)); assertThat(getErrors(result)).isEmpty(); @@ -308,7 +311,7 @@ void waitTaskContextIsRestartedWhenClouddriverReturnsException() { .putAll(result.getContext()) .build())); - AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); assertThat(getMessages(result)).isEmpty(); assertThat(getErrors(result)).isEmpty(); } From 43eef431574504417c5e14ccc8421764606d2ae7 Mon Sep 17 00:00:00 2001 From: Edgar Garcia Date: Wed, 26 Feb 2025 10:45:17 -0600 Subject: [PATCH 6/7] Revert "test(stage): remove AssertionsForClassTypes import" This reverts commit 2379b03dc9fa99c25ed18996e85d6643f1b54a78. --- .../WaitForManifestStableTaskTest.java | 37 +++++++++---------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java b/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java index 73a8ae4942..15e153b5f4 100644 --- a/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java +++ b/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java @@ -17,11 +17,7 @@ package com.netflix.spinnaker.orca.clouddriver.tasks.manifest; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.reset; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; +import static org.mockito.Mockito.*; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -38,6 +34,7 @@ import java.util.Map; import java.util.Optional; import okhttp3.Request; +import org.assertj.core.api.AssertionsForClassTypes; import org.junit.jupiter.api.Test; final class WaitForManifestStableTaskTest { @@ -61,7 +58,7 @@ void terminalWhenFailedStable() { .thenReturn(manifestBuilder().stable(true).failed(true).build()); TaskResult result = task.execute(myStage); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); assertThat(getMessages(result)).containsExactly(failedMessage(MANIFEST_1)); assertThat(getErrors(result)).containsExactly(failedMessage(MANIFEST_1)); } @@ -78,7 +75,7 @@ void terminalWhenFailedUnstable() { .thenReturn(manifestBuilder().stable(false).failed(true).build()); TaskResult result = task.execute(myStage); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); assertThat(getMessages(result)).containsExactly(failedMessage(MANIFEST_1)); assertThat(getErrors(result)).containsExactly(failedMessage(MANIFEST_1)); } @@ -95,7 +92,7 @@ void runningWhenUnstable() { .thenReturn(manifestBuilder().stable(false).failed(false).build()); TaskResult result = task.execute(myStage); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); assertThat(getMessages(result)).containsExactly(waitingToStabilizeMessage(MANIFEST_1)); assertThat(getErrors(result)).isEmpty(); } @@ -112,7 +109,7 @@ void succeededWhenStable() { .thenReturn(manifestBuilder().stable(true).failed(false).build()); TaskResult result = task.execute(myStage); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.SUCCEEDED); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.SUCCEEDED); assertThat(getMessages(result)).isEmpty(); assertThat(getErrors(result)).isEmpty(); } @@ -129,7 +126,7 @@ void runningWhenUnknown() { .thenReturn(manifestBuilder().build()); TaskResult result = task.execute(myStage); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); assertThat(getMessages(result)).containsExactly(waitingToStabilizeMessage(MANIFEST_1)); assertThat(getErrors(result)).isEmpty(); } @@ -149,7 +146,7 @@ void doesNotRecheckManifests() { .thenReturn(manifestBuilder().stable(false).failed(false).build()); TaskResult result = task.execute(myStage); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); reset(oortService); @@ -163,7 +160,7 @@ void doesNotRecheckManifests() { .putAll(myStage.getContext()) .putAll(result.getContext()) .build())); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.SUCCEEDED); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.SUCCEEDED); verify(oortService, times(0)).getManifest(ACCOUNT, NAMESPACE, MANIFEST_1, false); } @@ -182,7 +179,7 @@ void waitsForMultipleManifests() { .thenReturn(manifestBuilder().stable(false).failed(false).build()); TaskResult result = task.execute(myStage); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); assertThat(getMessages(result)).containsExactly(waitingToStabilizeMessage(MANIFEST_2)); assertThat(getErrors(result)).isEmpty(); @@ -198,7 +195,7 @@ void waitsForMultipleManifests() { .putAll(myStage.getContext()) .putAll(result.getContext()) .build())); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.SUCCEEDED); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.SUCCEEDED); assertThat(getMessages(result)).containsExactly(waitingToStabilizeMessage(MANIFEST_2)); assertThat(getErrors(result)).isEmpty(); } @@ -218,7 +215,7 @@ void waitsForAllManifestsWhenOneFailed() { .thenReturn(manifestBuilder().stable(false).failed(false).build()); TaskResult result = task.execute(myStage); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); assertThat(getMessages(result)) .containsExactly(failedMessage(MANIFEST_1), waitingToStabilizeMessage(MANIFEST_2)); assertThat(getErrors(result)).containsExactly(failedMessage(MANIFEST_1)); @@ -236,7 +233,7 @@ void waitsForAllManifestsWhenOneFailed() { .putAll(result.getContext()) .build())); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); assertThat(getMessages(result)) .containsExactly(failedMessage(MANIFEST_1), waitingToStabilizeMessage(MANIFEST_2)); assertThat(getErrors(result)).containsExactly(failedMessage(MANIFEST_1)); @@ -257,7 +254,7 @@ void waitsForAllManifestsWhenOneFailedAndOneUnknown() { .thenReturn(manifestBuilder().build()); TaskResult result = task.execute(myStage); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); assertThat(getMessages(result)) .containsExactly(failedMessage(MANIFEST_1), waitingToStabilizeMessage(MANIFEST_2)); @@ -273,7 +270,7 @@ void waitsForAllManifestsWhenOneFailedAndOneUnknown() { .putAll(myStage.getContext()) .putAll(result.getContext()) .build())); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.TERMINAL); assertThat(getMessages(result)) .containsExactly(failedMessage(MANIFEST_1), waitingToStabilizeMessage(MANIFEST_2)); } @@ -293,7 +290,7 @@ void waitTaskContextIsRestartedWhenClouddriverReturnsException() { .thenReturn(manifestBuilder().stable(false).failed(false).build()); TaskResult result = task.execute(myStage); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); assertThat(getMessages(result)).containsExactly(waitingToStabilizeMessage(MANIFEST_2)); assertThat(getErrors(result)).isEmpty(); @@ -311,7 +308,7 @@ void waitTaskContextIsRestartedWhenClouddriverReturnsException() { .putAll(result.getContext()) .build())); - assertThat((CharSequence) result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); + AssertionsForClassTypes.assertThat(result.getStatus()).isEqualTo(ExecutionStatus.RUNNING); assertThat(getMessages(result)).isEmpty(); assertThat(getErrors(result)).isEmpty(); } From e74357c2a809c750c79896512c09483de5b5796a Mon Sep 17 00:00:00 2001 From: Edgar Garcia Date: Thu, 6 Mar 2025 13:16:58 -0600 Subject: [PATCH 7/7] test(stage): remove star imports --- .../tasks/manifest/WaitForManifestStableTaskTest.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java b/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java index 15e153b5f4..dad5df8ffe 100644 --- a/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java +++ b/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/tasks/manifest/WaitForManifestStableTaskTest.java @@ -17,7 +17,11 @@ package com.netflix.spinnaker.orca.clouddriver.tasks.manifest; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.reset; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap;