Skip to content

Commit 927fbef

Browse files
feat: Add Polarion status provider and maven resource filtering
1 parent 36b6240 commit 927fbef

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package ch.sbb.polarion.extension.generic.configuration;
2+
3+
import ch.sbb.polarion.extension.generic.util.VersionUtils;
4+
import com.polarion.core.config.Configuration;
5+
import org.junit.jupiter.params.ParameterizedTest;
6+
import org.junit.jupiter.params.provider.Arguments;
7+
import org.junit.jupiter.params.provider.MethodSource;
8+
import org.mockito.MockedStatic;
9+
import org.mockito.Mockito;
10+
11+
import java.util.stream.Stream;
12+
13+
import static org.junit.jupiter.api.Assertions.assertEquals;
14+
import static org.mockito.Mockito.mockStatic;
15+
16+
public class GenericPolarionStatusProviderTest {
17+
public static Stream<Arguments> provideConfigurationStatus() {
18+
return Stream.of(
19+
Arguments.of("2410", "2410", configurationStatus(Status.OK, "2410")),
20+
Arguments.of("2410.1", "2410", configurationStatus(Status.OK, "2410.1")),
21+
Arguments.of("2310", "2410", configurationStatus(Status.WARNING, "2310 is not officially supported")),
22+
Arguments.of("2310.1", "2410", configurationStatus(Status.WARNING, "2310.1 is not officially supported")),
23+
Arguments.of("2410", "", configurationStatus(Status.ERROR, "Officially supported version not specified"))
24+
);
25+
}
26+
27+
private static ConfigurationStatus configurationStatus(Status status, String details) {
28+
return ConfigurationStatus.builder()
29+
.name(GenericPolarionStatusProvider.POLARION_ALM)
30+
.status(status)
31+
.details(details)
32+
.build();
33+
}
34+
35+
@ParameterizedTest
36+
@MethodSource("provideConfigurationStatus")
37+
void testConfigurationStatus(String polarionVersion, String currentCompatibleVersionPolarion, ConfigurationStatus expectedConfigurationStatus) {
38+
GenericPolarionStatusProvider polarionStatusProvider = new GenericPolarionStatusProvider();
39+
40+
try (
41+
MockedStatic<Configuration> configurationMockedStatic = mockStatic(Configuration.class, Mockito.RETURNS_DEEP_STUBS);
42+
MockedStatic<VersionUtils> versionUtilsMockedStatic = mockStatic(VersionUtils.class)
43+
) {
44+
configurationMockedStatic.when(() -> Configuration.getInstance().getProduct().versionName()).thenReturn(polarionVersion);
45+
versionUtilsMockedStatic.when(VersionUtils::getCurrentCompatiblePolarionVersion).thenReturn(currentCompatibleVersionPolarion);
46+
47+
ConfigurationStatusProvider.Context context = ConfigurationStatusProvider.Context.builder().scope("").build();
48+
ConfigurationStatus configurationStatus = polarionStatusProvider.getStatus(context);
49+
assertEquals(expectedConfigurationStatus, configurationStatus);
50+
}
51+
}
52+
}

0 commit comments

Comments
 (0)