Skip to content

Commit

Permalink
CodeQuarkusTest: add RESTEasy Classic supported extensions bucket
Browse files Browse the repository at this point in the history
  • Loading branch information
michalvavrik committed Sep 18, 2024
1 parent c74da86 commit 5294cb9
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,11 @@ public void testRuntime(TestInfo testInfo, List<CodeQuarkusExtensions> extension
public void supportedExtensionsSubsetA(TestInfo testInfo) throws Exception {
testRuntime(testInfo, supportedEx.get(0), MvnCmds.MVNW_DEV);
}

@Test
public void supportedRestEasyClassicExtensions(TestInfo testInfo) throws Exception {
testRuntime(testInfo, CodeQuarkusExtensions.getRestEasyClassicExtensions(), MvnCmds.MVNW_DEV);
}

@Test
public void supportedExtensionsSubsetB(TestInfo testInfo) throws Exception {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.quarkus.ts.startstop.utils;

import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
Expand All @@ -22,20 +23,16 @@ public enum CodeQuarkusExtensions {
QUARKUS_OIDC_CLIENT_REACTIVE_FILTER("quarkus-rest-client-oidc-filter", "REST Client - OpenID Connect Filter", "ignored", true),
QUARKUS_OIDC_TOKEN_PROPAGATION_REACTIVE("quarkus-rest-client-oidc-token-propagation", "REST Client - OpenID Connect Token Propagation", "ignored", false),

// TODO Introduce buckets with non reactive jakarta-rest extensions
// To avoid java.lang.IllegalStateException: The 'quarkus-resteasy-reactive' and 'quarkus-resteasy' extensions cannot be used at the same time.
// QUARKUS_RESTEASY("quarkus-resteasy", "RESTEasy Jakarta REST", "98e", true),
// QUARKUS_RESTEASY_JACKSON("quarkus-resteasy-jackson", "RESTEasy Jackson", "pV1", true),
// QUARKUS_RESTEASY_JSONB("quarkus-resteasy-jsonb", "RESTEasy JSON-B", "49J", true),
// QUARKUS_RESTEASY_JAXB("quarkus-resteasy-jaxb", "RESTEasy JAXB", "d7W", true),
// QUARKUS_RESTEASY_MULTIPART("quarkus-resteasy-multipart", "RESTEasy Multipart", "kV0", true),
// QUARKUS_RESTEASY_LINKS("quarkus-resteasy-links", "RESTEasy Links", "rK1", false),
// QUARKUS_REST_CLIENT_MUTINY("quarkus-rest-client-mutiny", "Mutiny support for REST Client", "Ph0", false),
// QUARKUS_REST_CLIENT("quarkus-rest-client", "REST Client", "ekA", true),
// QUARKUS_REST_CLIENT_JAXB("quarkus-rest-client-jaxb", "REST Client JAXB", "8iY", true),
// QUARKUS_REST_CLIENT_JSONB("quarkus-rest-client-jsonb", "REST Client JSON-B", "Q3z", true),
// QUARKUS_REST_CLIENT_JACKSON("quarkus-rest-client-jackson", "REST Client Jackson", "pJg", true),
// QUARKUS_OIDC_CLIENT_FILTER("quarkus-oidc-client-filter", "OpenID Connect Client Filter", "T0U", true),
QUARKUS_RESTEASY("quarkus-resteasy", "RESTEasy Jakarta REST", "98e", true, true),
QUARKUS_RESTEASY_JACKSON("quarkus-resteasy-jackson", "RESTEasy Jackson", "pV1", true, true),
QUARKUS_RESTEASY_JSONB("quarkus-resteasy-jsonb", "RESTEasy JSON-B", "49J", true, true),
QUARKUS_RESTEASY_JAXB("quarkus-resteasy-jaxb", "RESTEasy JAXB", "d7W", true, true),
QUARKUS_RESTEASY_MULTIPART("quarkus-resteasy-multipart", "RESTEasy Multipart", "kV0", true, true),
QUARKUS_RESTEASY_CLIENT("quarkus-resteasy-client", "REST Client", "ekA", true, true),
QUARKUS_RESTEASY_CLIENT_JAXB("quarkus-resteasy-client-jaxb", "REST Client JAXB", "8iY", true, true),
QUARKUS_RESTEASY_CLIENT_JSONB("quarkus-resteasy-client-jsonb", "REST Client JSON-B", "Q3z", true, true),
QUARKUS_RESTEASY_CLIENT_JACKSON("quarkus-resteasy-client-jackson", "REST Client Jackson", "pJg", true, true),
QUARKUS_RESTEASY_CLIENT_OIDC_FILTER("quarkus-resteasy-client-oidc-filter", "OpenID Connect Client Filter", "T0U", true, true),

QUARKUS_VERTX_GRAPHQL("quarkus-vertx-graphql", "Eclipse Vert.x GraphQL", "F9R", false),
QUARKUS_HIBERNATE_VALIDATOR("quarkus-hibernate-validator", "Hibernate Validator", "YjV", true),
Expand Down Expand Up @@ -436,12 +433,22 @@ public enum CodeQuarkusExtensions {
public final String name;
public final String shortId;
public final boolean supported;
private final boolean onlyRestEasyClassicBucket;

CodeQuarkusExtensions(String id, String name, String shortId, boolean supported) {
this.id = id;
this.name = name;
this.shortId = shortId;
this.supported = supported;
this.onlyRestEasyClassicBucket = false;
}

CodeQuarkusExtensions(String id, String name, String shortId, boolean supported, boolean onlyRestEasyClassicBucket) {
this.id = id;
this.name = name;
this.shortId = shortId;
this.supported = supported;
this.onlyRestEasyClassicBucket = onlyRestEasyClassicBucket;
}

public enum Flag {
Expand All @@ -454,7 +461,9 @@ public static List<List<CodeQuarkusExtensions>> partition(int buckets, Flag flag
if (buckets < 1) {
throw new IllegalArgumentException("Nope, buckets must be bigger than 0.");
}
List<CodeQuarkusExtensions> extensions = Stream.of(CodeQuarkusExtensions.values()).filter(x ->
List<CodeQuarkusExtensions> extensions = Stream.of(CodeQuarkusExtensions.values())
.filter(x -> !x.onlyRestEasyClassicBucket) // RESTEasy Classic has a separate bucket
.filter(x ->
flag == Flag.SUPPORTED && x.supported ||
flag == Flag.NOT_SUPPORTED && !x.supported ||
flag == Flag.MIXED).collect(Collectors.toUnmodifiableList());
Expand All @@ -478,4 +487,8 @@ public static List<List<CodeQuarkusExtensions>> partition(int buckets, Flag flag
}
return result;
}

public static List<CodeQuarkusExtensions> getRestEasyClassicExtensions() {
return EnumSet.allOf(CodeQuarkusExtensions.class).stream().filter(x -> x.onlyRestEasyClassicBucket).toList();
}
}

0 comments on commit 5294cb9

Please sign in to comment.