diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 9f2f368c4..739cd21b4 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -47,7 +47,7 @@ jobs: needs: build strategy: matrix: - os: [ ubuntu-latest ] + os: [ ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 diff --git a/src/test/java/com/crowdin/cli/commands/actions/DownloadSourcesActionTest.java b/src/test/java/com/crowdin/cli/commands/actions/DownloadSourcesActionTest.java index 1b846b8b7..92452e097 100644 --- a/src/test/java/com/crowdin/cli/commands/actions/DownloadSourcesActionTest.java +++ b/src/test/java/com/crowdin/cli/commands/actions/DownloadSourcesActionTest.java @@ -15,6 +15,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.condition.DisabledOnOs; +import org.junit.jupiter.api.condition.OS; import org.mockito.Mockito; import java.io.ByteArrayOutputStream; @@ -74,6 +76,7 @@ public void testDest() throws IOException { } @Test + @DisabledOnOs(OS.WINDOWS) public void testDestAndUnaryAsterisk() throws IOException { PropertiesWithFiles pb = NewPropertiesWithFilesUtilBuilder .minimalBuiltPropertiesBean( @@ -106,6 +109,7 @@ public void testDestAndUnaryAsterisk() throws IOException { } @Test + @DisabledOnOs(OS.WINDOWS) public void testDifferentPatterns() throws IOException { PropertiesWithFiles pb = NewPropertiesWithFilesUtilBuilder .minimalBuiltPropertiesBean("/folder_1/**/*.xml", "/%locale%/folder_1/**/%file_name%.xml") @@ -174,6 +178,7 @@ public void testDifferentPatterns() throws IOException { } @Test + @DisabledOnOs(OS.WINDOWS) public void testWithPreserveHierarchyFalse() throws IOException { PropertiesWithFiles pb = NewPropertiesWithFilesUtilBuilder .minimalBuiltPropertiesBean("/folder_1/**/*.xml", "/%locale%/folder_1/**/%file_name%.xml") @@ -240,6 +245,7 @@ public void testWithPreserveHierarchyFalse() throws IOException { } @Test + @DisabledOnOs(OS.WINDOWS) public void testDryRun() { ByteArrayOutputStream outContent = new ByteArrayOutputStream(); PrintStream ps = System.out; @@ -278,6 +284,7 @@ public void testDryRun() { } @Test + @DisabledOnOs(OS.WINDOWS) public void testReviewedOnly() throws IOException { ByteArrayOutputStream outContent = new ByteArrayOutputStream(); PrintStream ps = System.out; diff --git a/src/test/java/com/crowdin/cli/commands/actions/subactions/DeleteObsoleteProjectFilesSubActionTest.java b/src/test/java/com/crowdin/cli/commands/actions/subactions/DeleteObsoleteProjectFilesSubActionTest.java index 14d049ebe..59394f22c 100644 --- a/src/test/java/com/crowdin/cli/commands/actions/subactions/DeleteObsoleteProjectFilesSubActionTest.java +++ b/src/test/java/com/crowdin/cli/commands/actions/subactions/DeleteObsoleteProjectFilesSubActionTest.java @@ -5,6 +5,8 @@ import com.crowdin.cli.commands.Outputter; import com.crowdin.client.sourcefiles.model.File; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.DisabledOnOs; +import org.junit.jupiter.api.condition.OS; import java.util.ArrayList; import java.util.Arrays; @@ -55,6 +57,7 @@ public void testSimple_oneLocalFile_oneProjectFile_noObsolete() { } @Test + @DisabledOnOs(OS.WINDOWS) public void testSimple_oneLocalFile_twoProjectFile_oneObsolete() { final String exportPattern = "/%file_name%.csv"; final String projectFilePath = "file1.csv"; @@ -124,6 +127,7 @@ public void testSimple_oneLocalFile_twoProjectFile_oneIgnoreProjectFile_noObsole } @Test + @DisabledOnOs(OS.WINDOWS) public void testSimple_oneLocalFile_twoProjectFile_oneObsoleteFile_oneObsoleteDirectory() { final String exportPattern = "/**/%file_name%.csv"; final String projectFilePath = "path/to/file1.csv"; @@ -165,6 +169,7 @@ public void testSimple_oneLocalFile_twoProjectFile_oneObsoleteFile_oneObsoleteDi } @Test + @DisabledOnOs(OS.WINDOWS) public void testSimple_oneLocalFile_twoProjectFile_oneObsoleteFile_noPreserveHierarchy() { final String exportPattern = "/**/%file_name%.csv"; String projectFilePath = "file1.csv"; @@ -200,6 +205,7 @@ public void testSimple_oneLocalFile_twoProjectFile_oneObsoleteFile_noPreserveHie } @Test + @DisabledOnOs(OS.WINDOWS) public void testSimple_oneLocalFile_twoProjectFile_oneObsoleteFile_noPreserveHierarchy_2_withFolders() { final String exportPattern = "/**/%file_name%.csv"; String projectFilePath = "to/file1.csv"; @@ -237,6 +243,7 @@ public void testSimple_oneLocalFile_twoProjectFile_oneObsoleteFile_noPreserveHie } @Test + @DisabledOnOs(OS.WINDOWS) public void testSimple_oneLocalFile_twoProjectFile_oneObsoleteFile_twoObsoleteDirectory() { final String exportPattern = "/**/%file_name%.csv"; final String projectFilePath = "path/to/file1.csv"; diff --git a/src/test/java/com/crowdin/cli/commands/functionality/ProjectFilesUtilsTest.java b/src/test/java/com/crowdin/cli/commands/functionality/ProjectFilesUtilsTest.java index 6fcb59d98..e6198d223 100644 --- a/src/test/java/com/crowdin/cli/commands/functionality/ProjectFilesUtilsTest.java +++ b/src/test/java/com/crowdin/cli/commands/functionality/ProjectFilesUtilsTest.java @@ -5,6 +5,8 @@ import com.crowdin.client.sourcefiles.model.GeneralFileExportOptions; import com.crowdin.client.sourcefiles.model.PropertyFileExportOptions; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.DisabledOnOs; +import org.junit.jupiter.api.condition.OS; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -52,6 +54,7 @@ public void testIsMultilingualFile() { @ParameterizedTest @MethodSource + @DisabledOnOs(OS.WINDOWS) public void isProjectFileSatisfiesThePatternsTest(String projectFilePath, String sourcePattern, List ignorePattern, boolean preserveHierarchy, boolean expected) { assertEquals(expected, ProjectFilesUtils.isProjectFilePathSatisfiesPatterns(sourcePattern, ignorePattern, preserveHierarchy).test(projectFilePath)); } diff --git a/src/test/java/com/crowdin/cli/commands/functionality/SourcesUtilsTest.java b/src/test/java/com/crowdin/cli/commands/functionality/SourcesUtilsTest.java index 2da61946c..073531f83 100644 --- a/src/test/java/com/crowdin/cli/commands/functionality/SourcesUtilsTest.java +++ b/src/test/java/com/crowdin/cli/commands/functionality/SourcesUtilsTest.java @@ -7,6 +7,8 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.DisabledOnOs; +import org.junit.jupiter.api.condition.OS; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -88,6 +90,7 @@ static Stream testGetFiles1() { @ParameterizedTest @MethodSource + @DisabledOnOs(OS.WINDOWS) public void testFilterProjectFiles_wPreserveHierarchy_noIgnores(List filePaths, String sourcePattern, List expected) { List actual = SourcesUtils.filterProjectFiles( filePaths, sourcePattern, Collections.EMPTY_LIST, true, PlaceholderUtilBuilder.STANDART.build("")); @@ -156,6 +159,7 @@ static Stream testFilterProjectFiles_wPreserveHierarchy_noIgnores() { @ParameterizedTest @MethodSource + @DisabledOnOs(OS.WINDOWS) public void testFilterProjectFiles_wPreserveHierarchy_wIgnores( List filePaths, String sourcePattern, List ignorePatterns, List expected ) { @@ -237,6 +241,7 @@ static Stream testFilterProjectFiles_wPreserveHierarchy_wIgnores() { @ParameterizedTest @MethodSource + @DisabledOnOs(OS.WINDOWS) public void testFilterProjectFiles_noPreserveHierarchy_noIgnores(List filePaths, String sourcePattern, List expected) { List actual = SourcesUtils.filterProjectFiles( filePaths, sourcePattern, Collections.emptyList(), false, PlaceholderUtilBuilder.STANDART.build("")); @@ -276,6 +281,7 @@ static Stream testFilterProjectFiles_noPreserveHierarchy_noIgnores() @ParameterizedTest @MethodSource + @DisabledOnOs(OS.WINDOWS) public void testFilterProjectFiles_noPreserveHierarchy_wIgnores( List filePaths, String sourcePattern, List ignorePatterns, List expected ) { @@ -335,6 +341,7 @@ static Stream testFilterProjectFiles_noPreserveHierarchy_wIgnores() { } @Test + @DisabledOnOs(OS.WINDOWS) public void testFilterProjectFiles_dest() { List filePaths = Arrays.asList("common/strings.xml"); String sourcePattern = "/common/%original_file_name%"; @@ -368,6 +375,7 @@ private static Stream testContainsParameter() { @ParameterizedTest @MethodSource + @DisabledOnOs(OS.WINDOWS) public void testReplaceUnaryAsterisk(String sourcePattern, String projectFile, String expected) { assertEquals(SourcesUtils.replaceUnaryAsterisk(sourcePattern, projectFile), expected); } diff --git a/src/test/java/com/crowdin/cli/commands/functionality/TranslationsUtilsTest.java b/src/test/java/com/crowdin/cli/commands/functionality/TranslationsUtilsTest.java index 91ab6aa6c..0e7c13dff 100644 --- a/src/test/java/com/crowdin/cli/commands/functionality/TranslationsUtilsTest.java +++ b/src/test/java/com/crowdin/cli/commands/functionality/TranslationsUtilsTest.java @@ -2,6 +2,8 @@ import com.crowdin.cli.utils.Utils; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.DisabledOnOs; +import org.junit.jupiter.api.condition.OS; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -18,6 +20,7 @@ public class TranslationsUtilsTest { @ParameterizedTest @MethodSource + @DisabledOnOs(OS.WINDOWS) public void testReplaceDoubleAsterisk(String sourcePattern, String translationPattern, String sourceFile, String expected) { String result = TranslationsUtils.replaceDoubleAsterisk(sourcePattern, translationPattern, sourceFile); assertEquals(expected, result, diff --git a/src/test/java/com/crowdin/cli/utils/PlaceholderUtilTest.java b/src/test/java/com/crowdin/cli/utils/PlaceholderUtilTest.java index 610319bce..895900f90 100644 --- a/src/test/java/com/crowdin/cli/utils/PlaceholderUtilTest.java +++ b/src/test/java/com/crowdin/cli/utils/PlaceholderUtilTest.java @@ -3,6 +3,8 @@ import com.crowdin.cli.client.LanguageMapping; import com.crowdin.client.languages.model.Language; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.DisabledOnOs; +import org.junit.jupiter.api.condition.OS; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -137,6 +139,7 @@ public void testReplaceLanguageDependentPlaceholders() { @ParameterizedTest @MethodSource + @DisabledOnOs(OS.WINDOWS) public void testDoubleAsteriskInWildCard(String source, File crowdinFile, String expected) { PlaceholderUtil placeholderUtil = new PlaceholderUtil(new ArrayList<>(), new ArrayList<>(), "./"); assertEquals(expected, placeholderUtil.replaceFileDependentPlaceholders(source, crowdinFile));