From cb7fdd1d4b5edeb9b0b43646a91167bb88bddf68 Mon Sep 17 00:00:00 2001 From: ayusheshan Date: Wed, 11 Oct 2023 16:50:48 +0530 Subject: [PATCH 1/2] add tests for DistributionReleaseAction --- .../DistributionReleaseActionTest.java | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/test/java/com/crowdin/cli/commands/actions/DistributionReleaseActionTest.java diff --git a/src/test/java/com/crowdin/cli/commands/actions/DistributionReleaseActionTest.java b/src/test/java/com/crowdin/cli/commands/actions/DistributionReleaseActionTest.java new file mode 100644 index 000000000..bf90d55d7 --- /dev/null +++ b/src/test/java/com/crowdin/cli/commands/actions/DistributionReleaseActionTest.java @@ -0,0 +1,55 @@ +package com.crowdin.cli.commands.actions; + +import com.crowdin.cli.client.ClientDistribution; +import com.crowdin.cli.commands.NewAction; +import com.crowdin.cli.commands.Outputter; +import com.crowdin.cli.properties.NewPropertiesWithFilesUtilBuilder; +import com.crowdin.cli.properties.ProjectProperties; +import com.crowdin.cli.properties.PropertiesWithFiles; +import com.crowdin.cli.utils.Utils; +import com.crowdin.client.distributions.model.DistributionRelease; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.*; + +public class DistributionReleaseActionTest { + private final static String HASH = "distribution"; + private NewAction action; + + @Test + public void releaseDistributionTest_whenSuccess() { + NewPropertiesWithFilesUtilBuilder pbBuilder = NewPropertiesWithFilesUtilBuilder + .minimalBuiltPropertiesBean("*", Utils.PATH_SEPARATOR + "%original_file_name%-CR-%locale%") + .setBasePath(Utils.PATH_SEPARATOR); + PropertiesWithFiles pb = pbBuilder.build(); + ClientDistribution client = mock(ClientDistribution.class); + DistributionRelease distributionRelease = new DistributionRelease(); + distributionRelease.setStatus("success"); + when(client.release(HASH)).thenReturn(distributionRelease); + + action = new DistributionReleaseAction(true, true, HASH); + action.act(Outputter.getDefault(), pb, client); + verify(client).release(HASH); + } + + @Test + public void releaseDistributionTest_whenFailed() { + NewPropertiesWithFilesUtilBuilder pbBuilder = NewPropertiesWithFilesUtilBuilder + .minimalBuiltPropertiesBean("*", Utils.PATH_SEPARATOR + "%original_file_name%-CR-%locale%") + .setBasePath(Utils.PATH_SEPARATOR); + PropertiesWithFiles pb = pbBuilder.build(); + ClientDistribution client = mock(ClientDistribution.class); + DistributionRelease distributionRelease = new DistributionRelease(); + distributionRelease.setStatus("failed"); + when(client.release(any())).thenReturn(distributionRelease); + when(client.getDistributionRelease(eq(HASH))).thenReturn(distributionRelease); + + action = new DistributionReleaseAction(true, true, HASH); + assertThrows(RuntimeException.class, () -> action.act(Outputter.getDefault(), pb, client)); + verify(client).release(HASH); + verify(client).getDistributionRelease(HASH); + } +} From a72ef618fbfd73717e14ed689b47ff1179e2f907 Mon Sep 17 00:00:00 2001 From: Andrii Bodnar Date: Wed, 11 Oct 2023 15:12:34 +0300 Subject: [PATCH 2/2] Update src/test/java/com/crowdin/cli/commands/actions/DistributionReleaseActionTest.java --- .../commands/actions/DistributionReleaseActionTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/java/com/crowdin/cli/commands/actions/DistributionReleaseActionTest.java b/src/test/java/com/crowdin/cli/commands/actions/DistributionReleaseActionTest.java index bf90d55d7..dd7f926bd 100644 --- a/src/test/java/com/crowdin/cli/commands/actions/DistributionReleaseActionTest.java +++ b/src/test/java/com/crowdin/cli/commands/actions/DistributionReleaseActionTest.java @@ -21,10 +21,10 @@ public class DistributionReleaseActionTest { @Test public void releaseDistributionTest_whenSuccess() { - NewPropertiesWithFilesUtilBuilder pbBuilder = NewPropertiesWithFilesUtilBuilder - .minimalBuiltPropertiesBean("*", Utils.PATH_SEPARATOR + "%original_file_name%-CR-%locale%") - .setBasePath(Utils.PATH_SEPARATOR); - PropertiesWithFiles pb = pbBuilder.build(); + NewPropertiesWithFilesUtilBuilder pbBuilder = NewPropertiesWithFilesUtilBuilder + .minimalBuiltPropertiesBean("*", Utils.PATH_SEPARATOR + "%original_file_name%-CR-%locale%") + .setBasePath(Utils.PATH_SEPARATOR); + PropertiesWithFiles pb = pbBuilder.build(); ClientDistribution client = mock(ClientDistribution.class); DistributionRelease distributionRelease = new DistributionRelease(); distributionRelease.setStatus("success");