Skip to content

Commit

Permalink
Merge pull request #31051 from famod/orderer-deprecated
Browse files Browse the repository at this point in the history
  • Loading branch information
gastaldi authored Feb 10, 2023
2 parents fadf451 + 8a0cb5a commit 3adb5f6
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 46 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -56,24 +56,14 @@ public class QuarkusTestProfileAwareClassOrderer implements ClassOrderer {
protected static final String DEFAULT_ORDER_PREFIX_NON_QUARKUS_TEST = "60_";

static final String CFGKEY_ORDER_PREFIX_QUARKUS_TEST = "junit.quarkus.orderer.prefix.quarkus-test";
@Deprecated(forRemoval = true, since = "2.7.0.CR1")
static final String _CFGKEY_ORDER_PREFIX_QUARKUS_TEST = "quarkus.test.orderer.prefix.quarkus-test";

static final String CFGKEY_ORDER_PREFIX_QUARKUS_TEST_WITH_PROFILE = "junit.quarkus.orderer.prefix.quarkus-test-with-profile";
@Deprecated(forRemoval = true, since = "2.7.0.CR1")
static final String _CFGKEY_ORDER_PREFIX_QUARKUS_TEST_WITH_PROFILE = "quarkus.test.orderer.prefix.quarkus-test-with-profile";

static final String CFGKEY_ORDER_PREFIX_QUARKUS_TEST_WITH_RESTRICTED_RES = "junit.quarkus.orderer.prefix.quarkus-test-with-restricted-resource";
@Deprecated(forRemoval = true, since = "2.7.0.CR1")
static final String _CFGKEY_ORDER_PREFIX_QUARKUS_TEST_WITH_RESTRICTED_RES = "quarkus.test.orderer.prefix.quarkus-test-with-restricted-resource";

static final String CFGKEY_ORDER_PREFIX_NON_QUARKUS_TEST = "junit.quarkus.orderer.prefix.non-quarkus-test";
@Deprecated(forRemoval = true, since = "2.7.0.CR1")
static final String _CFGKEY_ORDER_PREFIX_NON_QUARKUS_TEST = "quarkus.test.orderer.prefix.non-quarkus-test";

static final String CFGKEY_SECONDARY_ORDERER = "junit.quarkus.orderer.secondary-orderer";
@Deprecated(forRemoval = true, since = "2.8.0.Final")
static final String _CFGKEY_SECONDARY_ORDERER = "quarkus.test.orderer.secondary-orderer";

@Override
public void orderClasses(ClassOrdererContext context) {
Expand All @@ -83,22 +73,18 @@ public void orderClasses(ClassOrdererContext context) {
}
var prefixQuarkusTest = getConfigParam(
CFGKEY_ORDER_PREFIX_QUARKUS_TEST,
_CFGKEY_ORDER_PREFIX_QUARKUS_TEST,
DEFAULT_ORDER_PREFIX_QUARKUS_TEST,
context);
var prefixQuarkusTestWithProfile = getConfigParam(
CFGKEY_ORDER_PREFIX_QUARKUS_TEST_WITH_PROFILE,
_CFGKEY_ORDER_PREFIX_QUARKUS_TEST_WITH_PROFILE,
DEFAULT_ORDER_PREFIX_QUARKUS_TEST_WITH_PROFILE,
context);
var prefixQuarkusTestWithRestrictedResource = getConfigParam(
CFGKEY_ORDER_PREFIX_QUARKUS_TEST_WITH_RESTRICTED_RES,
_CFGKEY_ORDER_PREFIX_QUARKUS_TEST_WITH_RESTRICTED_RES,
DEFAULT_ORDER_PREFIX_QUARKUS_TEST_WITH_RESTRICTED_RES,
context);
var prefixNonQuarkusTest = getConfigParam(
CFGKEY_ORDER_PREFIX_NON_QUARKUS_TEST,
_CFGKEY_ORDER_PREFIX_NON_QUARKUS_TEST,
DEFAULT_ORDER_PREFIX_NON_QUARKUS_TEST,
context);

Expand Down Expand Up @@ -133,21 +119,12 @@ public void orderClasses(ClassOrdererContext context) {
}));
}

private String getConfigParam(String key, String deprecatedKey, String fallbackValue, ClassOrdererContext context) {
return context.getConfigurationParameter(key)
.orElseGet(() -> {
Optional<String> value = context.getConfigurationParameter(deprecatedKey);
if (value.isPresent()) {
System.out.printf("Config key %s is deprecated, please use %s instead.%n", deprecatedKey, key);
return value.orElseThrow();
} else {
return fallbackValue;
}
});
private String getConfigParam(String key, String fallbackValue, ClassOrdererContext context) {
return context.getConfigurationParameter(key).orElse(fallbackValue);
}

private ClassOrderer buildSecondaryOrderer(ClassOrdererContext context) {
return Optional.ofNullable(getConfigParam(CFGKEY_SECONDARY_ORDERER, _CFGKEY_SECONDARY_ORDERER, null, context))
return Optional.ofNullable(getConfigParam(CFGKEY_SECONDARY_ORDERER, null, context))
.map(fqcn -> {
try {
return (ClassOrderer) Class.forName(fqcn).getDeclaredConstructor().newInstance();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import static io.quarkus.test.junit.util.QuarkusTestProfileAwareClassOrderer.CFGKEY_ORDER_PREFIX_NON_QUARKUS_TEST;
import static io.quarkus.test.junit.util.QuarkusTestProfileAwareClassOrderer.CFGKEY_SECONDARY_ORDERER;
import static io.quarkus.test.junit.util.QuarkusTestProfileAwareClassOrderer._CFGKEY_ORDER_PREFIX_NON_QUARKUS_TEST;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.doReturn;
Expand All @@ -24,6 +23,7 @@
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
import org.mockito.quality.Strictness;

import io.quarkus.test.common.QuarkusTestResource;
import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
Expand Down Expand Up @@ -105,23 +105,6 @@ void configuredPrefix() {
assertThat(input).containsExactly(nonQuarkusTestDesc, quarkusTestDesc);
}

@Test
@Deprecated
void configuredPrefix_deprecated() {
ClassDescriptor quarkusTestDesc = quarkusDescriptorMock(Test01.class, null);
ClassDescriptor nonQuarkusTestDesc = descriptorMock(Test03.class);
List<ClassDescriptor> input = Arrays.asList(quarkusTestDesc, nonQuarkusTestDesc);
doReturn(input).when(contextMock).getClassDescriptors();

when(contextMock.getConfigurationParameter(anyString())).thenReturn(Optional.empty()); // for strict stubbing
// prioritize unit tests
when(contextMock.getConfigurationParameter(_CFGKEY_ORDER_PREFIX_NON_QUARKUS_TEST)).thenReturn(Optional.of("01_"));

underTest.orderClasses(contextMock);

assertThat(input).containsExactly(nonQuarkusTestDesc, quarkusTestDesc);
}

@Test
void secondaryOrderer() {
ClassDescriptor quarkusTest1Desc = quarkusDescriptorMock(Test01.class, null);
Expand Down Expand Up @@ -169,7 +152,8 @@ protected Optional<String> getCustomOrderKey(ClassDescriptor classDescriptor, Cl
}

private ClassDescriptor descriptorMock(Class<?> testClass) {
ClassDescriptor mock = Mockito.mock(ClassDescriptor.class, withSettings().lenient().name(testClass.getSimpleName()));
ClassDescriptor mock = Mockito.mock(ClassDescriptor.class,
withSettings().strictness(Strictness.LENIENT).name(testClass.getSimpleName()));
doReturn(testClass).when(mock).getTestClass();
return mock;
}
Expand All @@ -189,7 +173,8 @@ private ClassDescriptor quarkusDescriptorMock(Class<?> testClass,
Class<? extends QuarkusTestResourceLifecycleManager> managerClass, boolean restrictToAnnotatedClass) {
ClassDescriptor mock = descriptorMock(testClass);
when(mock.isAnnotated(QuarkusTest.class)).thenReturn(true);
QuarkusTestResource resourceMock = Mockito.mock(QuarkusTestResource.class, withSettings().lenient());
QuarkusTestResource resourceMock = Mockito.mock(QuarkusTestResource.class,
withSettings().strictness(Strictness.LENIENT));
doReturn(managerClass).when(resourceMock).value();
when(resourceMock.restrictToAnnotatedClass()).thenReturn(restrictToAnnotatedClass);
when(mock.findRepeatableAnnotations(QuarkusTestResource.class)).thenReturn(List.of(resourceMock));
Expand Down

0 comments on commit 3adb5f6

Please sign in to comment.