diff --git a/TROUBLESHOOTING.md b/TROUBLESHOOTING.md index 5485a574ed6d2..23f04b576b7d9 100644 --- a/TROUBLESHOOTING.md +++ b/TROUBLESHOOTING.md @@ -153,7 +153,7 @@ You can also configure the `jvm.args` system property directly inside the `quark When trying to debug startup performance, it is convenient to log build steps execution time. This can be achieved by adding the following system property: `-Dquarkus.debug.print-startup-times=true` in dev mode or when launching the JAR. -There is also a nice visualization of build steps available in the Dev UI located here: http://localhost:8080/q/dev/io.quarkus.quarkus-vertx-http/build-steps. +There is also a nice visualization of build steps available in the Dev UI located here: http://localhost:8080/q/dev/build-steps. If you want to have the same visualization of build steps processing when building your application, you can use the `quarkus.debug.dump-build-metrics=true` property. For example using `mvn package -Dquarkus.debug.dump-build-metrics=true`, will generate a `build-metrics.json` in your `target` repository that you can process via the quarkus-build-report application available here https://github.com/mkouba/quarkus-build-report. diff --git a/devtools/project-core-extension-codestarts/src/main/resources/codestarts/quarkus/extension-codestarts/grpc-codestart/base/src/main/resources/META-INF/resources/index.entry.qute.html b/devtools/project-core-extension-codestarts/src/main/resources/codestarts/quarkus/extension-codestarts/grpc-codestart/base/src/main/resources/META-INF/resources/index.entry.qute.html index ae4d95a1a9f2f..4f3acc377dc7f 100644 --- a/devtools/project-core-extension-codestarts/src/main/resources/codestarts/quarkus/extension-codestarts/grpc-codestart/base/src/main/resources/META-INF/resources/index.entry.qute.html +++ b/devtools/project-core-extension-codestarts/src/main/resources/codestarts/quarkus/extension-codestarts/grpc-codestart/base/src/main/resources/META-INF/resources/index.entry.qute.html @@ -1,3 +1,3 @@ {#include index-entry} -{#body}
› It can be tested in the Dev UI (available in dev mode only). +{#body}
› It can be tested in the Dev UI (available in dev mode only). {/include} \ No newline at end of file diff --git a/docs/src/main/asciidoc/dev-mode-differences.adoc b/docs/src/main/asciidoc/dev-mode-differences.adoc index 06ec4b22de2d6..0cea038c00db0 100644 --- a/docs/src/main/asciidoc/dev-mode-differences.adoc +++ b/docs/src/main/asciidoc/dev-mode-differences.adoc @@ -35,7 +35,7 @@ This mightily important feature needs no introduction and has already been menti === Dev UI -Quarkus provides a very useful xref:dev-ui.adoc[UI] accessible from the browser at `/q/dev`. This UI allows a developer to see the state of the application, but +Quarkus provides a very useful xref:dev-ui.adoc[UI] accessible from the browser at `/q/dev-ui`. This UI allows a developer to see the state of the application, but also provides access to various actions that can change that state (depending on the extensions that are present). Examples of such operations are: @@ -45,6 +45,13 @@ Examples of such operations are: * Running scheduled operations * Building a container +[TIP] +==== +A new Dev UI has been implemented in Quarkus 3.x. +Not all the features are available yet. +You can still access the previous version of the Dev UI using: http://localhost:8080/q/dev-v1/. +==== + === Error pages In an effort to make development errors very easy to diagnose, Quarkus provides various detailed error pages when running in dev mode. diff --git a/docs/src/main/asciidoc/dev-ui.adoc b/docs/src/main/asciidoc/dev-ui.adoc index bcfe42cafe046..18dbea5d2cd6d 100644 --- a/docs/src/main/asciidoc/dev-ui.adoc +++ b/docs/src/main/asciidoc/dev-ui.adoc @@ -6,12 +6,19 @@ https://github.com/quarkusio/quarkus/tree/main/docs/src/main/asciidoc = Dev UI include::_attributes.adoc[] :categories: writing-extensions -:summary: Learn how to get your extension contribute features to the Dev UI. +:summary: Learn how to get your extension contribute features to the Dev UI (v1). + +[IMPORTANT] +.Dev UI v1 +==== +This guide covers the Dev UI v1, which has been replaced in Quarkus 3. +You can still access the Dev UI v1 using http://localhost/q/dev-v1/ +==== This guide covers the Quarkus Dev UI for xref:building-my-first-extension.adoc[extension authors]. -Quarkus now ships with a new experimental Dev UI, which is available in dev mode (when you start -quarkus with `mvn quarkus:dev`) at http://localhost:8080/q/dev[/q/dev] by default. It will show you something like +Quarkus ships with a new experimental Dev UI, which is available in dev mode (when you start +quarkus with `mvn quarkus:dev`) at http://localhost:8080/q/dev-v1[/q/dev-v1] by default. It will show you something like this: image::dev-ui-overview.png[alt=Dev UI overview,role="center",width=90%] @@ -191,7 +198,7 @@ xref:building-my-first-extension.adoc#description-of-a-quarkus-extension[`deploy Full-page templates for extensions live under a pre-defined `{devRootAppend}/{groupId}.{artifactId}/` directory that is referenced using the `urlbase` template parameter. Using configuration defaults, that would resolve to -`/q/dev/io.quarkus.quarkus-cache/`, as an example. +`/q/dev-v1/io.quarkus.quarkus-cache/`, as an example. Use the `{urlbase}` template parameter to reference this folder in `embedded.html`: diff --git a/docs/src/main/asciidoc/grpc-service-implementation.adoc b/docs/src/main/asciidoc/grpc-service-implementation.adoc index 272647040240b..3f9c3bf7e20b2 100644 --- a/docs/src/main/asciidoc/grpc-service-implementation.adoc +++ b/docs/src/main/asciidoc/grpc-service-implementation.adoc @@ -337,7 +337,7 @@ public class HelloServiceTest implements Greeter { == Trying out your services manually In the dev mode, you can try out your gRPC services in the Quarkus Dev UI. -Just go to http://localhost:8080/q/dev and click on _Services_ under the gRPC tile. +Just go to http://localhost:8080/q/dev-v1 and click on _Services_ under the gRPC tile. Please note that your application needs to expose the "normal" HTTP port for the Dev UI to be accessible. If your application does not expose any HTTP endpoints, you can create a dedicated profile with a dependency on `quarkus-vertx-http`: [source,xml] diff --git a/docs/src/main/asciidoc/resteasy-reactive-migration.adoc b/docs/src/main/asciidoc/resteasy-reactive-migration.adoc index 49e5f3cb5ebcb..da40f5f8b53d6 100644 --- a/docs/src/main/asciidoc/resteasy-reactive-migration.adoc +++ b/docs/src/main/asciidoc/resteasy-reactive-migration.adoc @@ -100,7 +100,7 @@ Users are instead encouraged to use the Jakarta REST standard `jakarta.ws.rs.Bea Although RESTEasy Reactive provides the same spec compliant behavior as RESTEasy Classic does, it does not include the same exact provider implementations at runtime. -The most common case where the difference in providers might result in different behavior, is the included `jakarta.ws.rs.ext.ExceptionMapper` implementations. To see what classes are included in the application, launch the application in dev mode and navigate to http://localhost:8080/q/dev/io.quarkus.quarkus-resteasy-reactive/exception-mappers. +The most common case where the difference in providers might result in different behavior, is the included `jakarta.ws.rs.ext.ExceptionMapper` implementations. To see what classes are included in the application, launch the application in dev mode and navigate to http://localhost:8080/q/dev-ui/io.quarkus.quarkus-resteasy-reactive/exception-mappers. ==== Service Loading diff --git a/docs/src/main/asciidoc/security-keycloak-authorization.adoc b/docs/src/main/asciidoc/security-keycloak-authorization.adoc index 75406cef05aad..1bab50b76b8ed 100644 --- a/docs/src/main/asciidoc/security-keycloak-authorization.adoc +++ b/docs/src/main/asciidoc/security-keycloak-authorization.adoc @@ -232,7 +232,7 @@ include::{includes}/devtools/dev.adoc[] xref:security-openid-connect-dev-services.adoc[Dev Services for Keycloak] will launch a Keycloak container and import a `quarkus-realm.json`. -Open a xref:dev-ui.adoc[Dev UI] available at http://localhost:8080/q/dev[/q/dev] and click on a `Provider: Keycloak` link in an `OpenID Connect` `Dev UI` card. +Open a xref:dev-ui.adoc[Dev UI] available at http://localhost:8080/q/dev-v1[/q/dev-v1] and click on a `Provider: Keycloak` link in an `OpenID Connect` `Dev UI` card. You will be asked to log in into a `Single Page Application` provided by `OpenID Connect Dev UI`: diff --git a/docs/src/main/asciidoc/security-oidc-bearer-token-authentication-tutorial.adoc b/docs/src/main/asciidoc/security-oidc-bearer-token-authentication-tutorial.adoc index 2865320402e01..919505259d8b1 100644 --- a/docs/src/main/asciidoc/security-oidc-bearer-token-authentication-tutorial.adoc +++ b/docs/src/main/asciidoc/security-oidc-bearer-token-authentication-tutorial.adoc @@ -216,7 +216,7 @@ include::{includes}/devtools/dev.adoc[] xref:security-openid-connect-dev-services.adoc[Dev Services for Keycloak] will launch a Keycloak container and import a `quarkus-realm.json`. -Open a xref:dev-ui.adoc[Dev UI] available at http://localhost:8080/q/dev[/q/dev] and click on a `Provider: Keycloak` link in an `OpenID Connect` `Dev UI` card. +Open a xref:dev-ui.adoc[Dev UI] available at http://localhost:8080/q/dev-v1[/q/dev-v1] and click on a `Provider: Keycloak` link in an `OpenID Connect` `Dev UI` card. You will be asked to log in into a `Single Page Application` provided by `OpenID Connect Dev UI`: diff --git a/docs/src/main/asciidoc/security-openid-connect-client.adoc b/docs/src/main/asciidoc/security-openid-connect-client.adoc index 6ee65f8c6834b..f59bf3b93dc1c 100644 --- a/docs/src/main/asciidoc/security-openid-connect-client.adoc +++ b/docs/src/main/asciidoc/security-openid-connect-client.adoc @@ -361,7 +361,7 @@ include::{includes}/devtools/dev.adoc[] xref:security-openid-connect-dev-services.adoc[Dev Services for Keycloak] will launch a Keycloak container and import a `quarkus-realm.json`. -Open a xref:dev-ui.adoc[Dev UI] available at http://localhost:8080/q/dev[/q/dev] and click on a `Provider: Keycloak` link in an `OpenID Connect` `Dev UI` card. +Open a xref:dev-ui.adoc[Dev UI] available at http://localhost:8080/q/dev-v1[/q/dev-v1] and click on a `Provider: Keycloak` link in an `OpenID Connect` `Dev UI` card. You will be asked to log in into a `Single Page Application` provided by `OpenID Connect Dev UI`: diff --git a/docs/src/main/asciidoc/security-openid-connect-dev-services.adoc b/docs/src/main/asciidoc/security-openid-connect-dev-services.adoc index 2c11b1d732446..c9f0155b3e8cc 100644 --- a/docs/src/main/asciidoc/security-openid-connect-dev-services.adoc +++ b/docs/src/main/asciidoc/security-openid-connect-dev-services.adoc @@ -16,7 +16,7 @@ It also describes Dev UI for all OpenID Connect providers which have already bee Quarkus introduces an experimental `Dev Services For Keycloak` feature which is enabled by default when the `quarkus-oidc` extension is started in dev mode and when the integration tests are running in test mode, but only when no `quarkus.oidc.auth-server-url` property is configured. It starts a Keycloak container for both the dev and/or test modes and initializes them by registering the existing Keycloak realm or creating a new realm with the client and users for you to start developing your Quarkus application secured by Keycloak immediately. It will restart the container when the `application.properties` or the realm file changes have been detected. -Additionally, xref:dev-ui.adoc[Dev UI] available at http://localhost:8080/q/dev[/q/dev] complements this feature with a Dev UI page which helps to acquire the tokens from Keycloak and test your Quarkus application. +Additionally, xref:dev-ui.adoc[Dev UI] available at http://localhost:8080/q/dev-v1[/q/dev-v1] complements this feature with a Dev UI page which helps to acquire the tokens from Keycloak and test your Quarkus application. If `quarkus.oidc.auth-server-url` is already set then a generic OpenID Connect Dev Console which can be used with all OpenID Connect providers will be activated, please see <> for more information. @@ -53,7 +53,7 @@ include::{includes}/devtools/dev.adoc[] Note that you can disable sharing the containers with `quarkus.keycloak.devservices.shared=false`. -Now open the main link:http://localhost:8080/q/dev[Dev UI page], and you will see the `OpenID Connect Card` linking to a Keycloak page: +Now open the main link:http://localhost:8080/q/dev-v1[Dev UI (v1) page], and you will see the `OpenID Connect Card` linking to a Keycloak page: image::dev-ui-oidc-keycloak-card.png[alt=Dev UI OpenID Connect Card,role="center"] @@ -128,7 +128,7 @@ You may need to register a redirect URI for the authorization code flow initiate If Keycloak does enforce it then you will see an authentication error informing you that the `redirect_uri` value is wrong. -In this case select the `Keycloak Admin` option in the right top corner, login as `admin:admin`, select the test realm and the client which Dev UI for Keycloak is configured with and add `http://localhost:8080/q/dev/io.quarkus.quarkus-oidc/provider` to `Valid Redirect URIs`. If you used `-Dquarkus.http.port` when starting Quarkus then change `8080` to the value of `quarkus.http.port`. +In this case select the `Keycloak Admin` option in the right top corner, login as `admin:admin`, select the test realm and the client which Dev UI for Keycloak is configured with and add `http://localhost:8080/q/dev-v1/io.quarkus.quarkus-oidc/provider` to `Valid Redirect URIs`. If you used `-Dquarkus.http.port` when starting Quarkus then change `8080` to the value of `quarkus.http.port` If the container is shared between multiple applications running on different ports then you will need to register `redirect_uri` values for each of these applications. @@ -297,13 +297,13 @@ And you will see the following message: ... ---- -If the provider metadata discovery has been successful then, after you open the main link:http://localhost:8080/q/dev[Dev UI page], you will see the `OpenID Connect Card` page linking to `Dev Console`: +If the provider metadata discovery has been successful then, after you open the main link:http://localhost:8080/q/dev-v1[Dev UI page], you will see the `OpenID Connect Card` page linking to `Dev Console`: image::dev-ui-oidc-devconsole-card.png[alt=Generic Dev UI OpenID Connect Card,role="center"] Follow the link, and you will be able to log in to your provider, get the tokens and test the application. The experience will be the same as described in the <> section, where `Dev Services for Keycloak` container has been started, especially if you work with Keycloak. -You will most likely need to configure your OpenId Connect provider to support redirecting back to the `Dev Console`. Add `http://localhost:8080/q/dev/io.quarkus.quarkus-oidc/provider` as one of the supported redirect and logout URLs. +You will most likely need to configure your OpenId Connect provider to support redirecting back to the `Dev Console`. Add `http://localhost:8080/q/dev-v1/io.quarkus.quarkus-oidc/provider` as one of the supported redirect and logout URLs. one of the supported redirect and logout URLs. If you work with other providers then a Dev UI experience described in the <> section might differ slightly. For example, an access token may not be in a JWT format, so it won't be possible to show its internal content, though all providers should return an ID Token as JWT. @@ -401,7 +401,7 @@ Please follow the xref:dev-ui.adoc[Dev UI] tutorial as well as check the `extens == Non Application Root Path Considerations -This document refers to the `http://localhost:8080/q/dev` Dev UI URL in several places where `q` is a default non application root path. If you customize `quarkus.http.root-path` and/or `quarkus.http.non-application-root-path` properties then replace `q` accordingly, please see https://quarkus.io/blog/path-resolution-in-quarkus/[Path Resolution in Quarkus] for more information. +This document refers to the `http://localhost:8080/q/dev-v1` Dev UI URL in several places where `q` is a default non application root path. If you customize `quarkus.http.root-path` and/or `quarkus.http.non-application-root-path` properties then replace `q` accordingly, please see https://quarkus.io/blog/path-resolution-in-quarkus/[Path Resolution in Quarkus] for more information. == References diff --git a/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayDevModeCreateFromHibernateTest.java b/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayDevModeCreateFromHibernateTest.java index a9d30c5362216..62ddc0fc51736 100644 --- a/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayDevModeCreateFromHibernateTest.java +++ b/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayDevModeCreateFromHibernateTest.java @@ -36,7 +36,7 @@ public void testGenerateMigrationFromHibernate() { RestAssured.get("fruit").then().statusCode(200) .body("[0].name", CoreMatchers.is("Orange")); RestAssured.given().redirects().follow(false).formParam("datasource", "") - .post("/q/dev/io.quarkus.quarkus-flyway/create-initial-migration").then().statusCode(303); + .post("/q/dev-v1/io.quarkus.quarkus-flyway/create-initial-migration").then().statusCode(303); config.modifySourceFile(Fruit.class, s -> s.replace("Fruit {", "Fruit {\n" + " \n" + diff --git a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/devconsole/DevConsoleUnaryMethodTest.java b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/devconsole/DevConsoleUnaryMethodTest.java index 5bd59bccc933d..8693518dbb3ab 100644 --- a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/devconsole/DevConsoleUnaryMethodTest.java +++ b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/devconsole/DevConsoleUnaryMethodTest.java @@ -37,7 +37,7 @@ public void websocketTest() throws Exception { List incomingMessages = new CopyOnWriteArrayList<>(); HttpClient client = vertx.createHttpClient(); - client.webSocket(8080, "localhost", "/q/dev/io.quarkus.quarkus-grpc/grpc-test", result -> { + client.webSocket(8080, "localhost", "/q/dev-v1/io.quarkus.quarkus-grpc/grpc-test", result -> { if (result.failed()) { log.error("failure making a web socket connection", result.cause()); return; diff --git a/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/HibernateSchemaRecreateDevConsoleTestCase.java b/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/HibernateSchemaRecreateDevConsoleTestCase.java index b386fcca8b962..ac262eed1aad0 100644 --- a/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/HibernateSchemaRecreateDevConsoleTestCase.java +++ b/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/HibernateSchemaRecreateDevConsoleTestCase.java @@ -22,7 +22,7 @@ public void testCleanDatabase() { RestAssured.when().get("/my-entity/add").then().body(is("MyEntity:added")); RestAssured.when().get("/my-entity/count").then().body(is("3")); RestAssured.with() - .redirects().follow(false).formParam("name", "").post("q/dev/io.quarkus.quarkus-datasource/reset") + .redirects().follow(false).formParam("name", "").post("q/dev-v1/io.quarkus.quarkus-datasource/reset") .then() .statusCode(303); RestAssured.when().get("/my-entity/count").then().body(is("2")); diff --git a/extensions/micrometer/deployment/src/test/java/io/quarkus/micrometer/deployment/binder/HttpDevModeConfigTest.java b/extensions/micrometer/deployment/src/test/java/io/quarkus/micrometer/deployment/binder/HttpDevModeConfigTest.java index 8b266ea4fad31..40d5d7f879cc4 100644 --- a/extensions/micrometer/deployment/src/test/java/io/quarkus/micrometer/deployment/binder/HttpDevModeConfigTest.java +++ b/extensions/micrometer/deployment/src/test/java/io/quarkus/micrometer/deployment/binder/HttpDevModeConfigTest.java @@ -79,8 +79,8 @@ public void test() throws Exception { when().get("/hello/three").then().statusCode(200); when().get("/q/dev").then().statusCode(404); when().get("/q/metrics").then().statusCode(404); - when().get("/dev/resources/images/favicon.ico").then().statusCode(200); - when().get("/dev/resources/css/tests.css").then().statusCode(200); + when().get("/dev-v1/resources/images/favicon.ico").then().statusCode(200); + when().get("/dev-v1/resources/css/tests.css").then().statusCode(200); when().get("/metrics").then().statusCode(200) .body(containsString("/goodbye/{message}")) .body(containsString("/dev")); @@ -97,9 +97,9 @@ public void test() throws Exception { "quarkus.http.non-application-root-path=/bob\nquarkus.http.root-path=/bob")); when().get("/bob/hello/three").then().statusCode(200); - when().get("/bob/dev").then().statusCode(200); - when().get("/bob/dev/resources/images/favicon.ico").then().statusCode(200); - when().get("/bob/dev/resources/css/tests.css").then().statusCode(200); + when().get("/bob/dev-v1").then().statusCode(200); + when().get("/bob/dev-v1/resources/images/favicon.ico").then().statusCode(200); + when().get("/bob/dev-v1/resources/css/tests.css").then().statusCode(200); when().get("/bob/metrics").then().statusCode(200) .body(containsString("/hello/{message}")) // http root prefix is removed in output .body(containsString("/bob/dev")); @@ -115,8 +115,8 @@ public void test() throws Exception { "quarkus.http.non-application-root-path=/george")); when().get("/bob/hello/three").then().statusCode(200); - when().get("/george/dev").then().statusCode(200); - when().get("/george/dev/resources/images/favicon.ico").then().statusCode(200); + when().get("/george/dev-v1").then().statusCode(200); + when().get("/george/dev-v1/resources/images/favicon.ico").then().statusCode(200); when().get("/george/metrics").then().statusCode(200) .body(containsString("/hello/{message}")); // no longer matches pattern when().get("/bob/test/requests").then().statusCode(200) @@ -131,8 +131,8 @@ public void test() throws Exception { "quarkus.http.non-application-root-path=george")); when().get("/bob/hello/three").then().statusCode(200); - when().get("/bob/george/dev").then().statusCode(200); - when().get("/bob/george/dev/resources/images/favicon.ico").then().statusCode(200); + when().get("/bob/george/dev-v1").then().statusCode(200); + when().get("/bob/george/dev-v1/resources/images/favicon.ico").then().statusCode(200); when().get("/bob/george/metrics").then().statusCode(200) .body(containsString("/hello/{message}")); // no longer matches pattern, http root removed when().get("/bob/test/requests").then().statusCode(200) diff --git a/extensions/qute/deployment/src/test/java/io/quarkus/qute/deployment/devconsole/DevConsolePreviewTest.java b/extensions/qute/deployment/src/test/java/io/quarkus/qute/deployment/devconsole/DevConsolePreviewTest.java index 66e53080fd2d0..49dc81d95f27b 100644 --- a/extensions/qute/deployment/src/test/java/io/quarkus/qute/deployment/devconsole/DevConsolePreviewTest.java +++ b/extensions/qute/deployment/src/test/java/io/quarkus/qute/deployment/devconsole/DevConsolePreviewTest.java @@ -20,7 +20,7 @@ public class DevConsolePreviewTest { @Test public void testLoopPreview() { RestAssured.with().formParam("template-select", "loop.txt").formParam("template-data", "{\"total\": [1 ,2 ,3]}") - .post("q/dev/io.quarkus.quarkus-qute/preview") + .post("q/dev-v1/io.quarkus.quarkus-qute/preview") .then() .statusCode(200) .body(Matchers.equalTo("1:2:3:")); diff --git a/extensions/scheduler/deployment/src/test/java/io/quarkus/scheduler/test/devconsole/DevConsoleRunScheduledTaskBodyHandlerTest.java b/extensions/scheduler/deployment/src/test/java/io/quarkus/scheduler/test/devconsole/DevConsoleRunScheduledTaskBodyHandlerTest.java index 75ed3452d4dea..abf5f89deabfd 100644 --- a/extensions/scheduler/deployment/src/test/java/io/quarkus/scheduler/test/devconsole/DevConsoleRunScheduledTaskBodyHandlerTest.java +++ b/extensions/scheduler/deployment/src/test/java/io/quarkus/scheduler/test/devconsole/DevConsoleRunScheduledTaskBodyHandlerTest.java @@ -25,7 +25,7 @@ public void testInvokeScheduledTask() { .body(Matchers.equalTo("true")); RestAssured.with().formParam("name", "io.quarkus.scheduler.test.devconsole.NeverRunTask#run") .redirects().follow(false) - .post("q/dev/io.quarkus.quarkus-scheduler/schedules") + .post("q/dev-v1/io.quarkus.quarkus-scheduler/schedules") .then() .statusCode(303); RestAssured.with() diff --git a/extensions/scheduler/deployment/src/test/java/io/quarkus/scheduler/test/devconsole/DevConsoleRunScheduledTaskTest.java b/extensions/scheduler/deployment/src/test/java/io/quarkus/scheduler/test/devconsole/DevConsoleRunScheduledTaskTest.java index 5e5c8ee92f19b..ea8e349950f83 100644 --- a/extensions/scheduler/deployment/src/test/java/io/quarkus/scheduler/test/devconsole/DevConsoleRunScheduledTaskTest.java +++ b/extensions/scheduler/deployment/src/test/java/io/quarkus/scheduler/test/devconsole/DevConsoleRunScheduledTaskTest.java @@ -22,7 +22,7 @@ public void testInvokeScheduledTask() { .body(Matchers.equalTo("true")); RestAssured.with().formParam("name", "io.quarkus.scheduler.test.devconsole.NeverRunTask#run") .redirects().follow(false) - .post("q/dev/io.quarkus.quarkus-scheduler/schedules") + .post("q/dev-v1/io.quarkus.quarkus-scheduler/schedules") .then() .statusCode(303); RestAssured.with() diff --git a/extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/DevUIProcessor.java b/extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/DevUIProcessor.java index 1e87648d4bc34..b56db0e82332e 100644 --- a/extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/DevUIProcessor.java +++ b/extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/DevUIProcessor.java @@ -195,6 +195,11 @@ void registerDevUiHandlers( .handler(recorder.mvnpmHandler(mvnpmBuildItem.getMvnpmJars())) .build()); + // Redirect /q/dev -> /q/dev-ui + routeProducer.produce(RouteBuildItem.builder() + .route("/q/dev") + .handler(recorder.redirect()) + .build()); } /** diff --git a/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/console/DevConsole.java b/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/console/DevConsole.java index 55c22afcde627..f311d3730a7e6 100644 --- a/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/console/DevConsole.java +++ b/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/console/DevConsole.java @@ -62,7 +62,7 @@ public class DevConsole implements Handler { this.globalData.put("frameworkRootPath", frameworkRootPath); // This includes the dev segment, but does not include a trailing slash (for append) - this.devRootAppend = frameworkRootPath + "dev"; + this.devRootAppend = frameworkRootPath + "dev-v1"; this.globalData.put("devRootAppend", devRootAppend); this.globalData.put("quarkusVersion", Version.getVersion()); @@ -107,7 +107,7 @@ private void initLazyState() { @Override public void handle(RoutingContext ctx) { initLazyState(); - // Redirect /q/dev to /q/dev/ + // Redirect /q/dev-v1 to /q/dev-v1/ if (ctx.normalizedPath().length() == devRootAppend.length()) { ctx.response().setStatusCode(302); ctx.response().headers().set(HttpHeaders.LOCATION, devRootAppend + "/"); diff --git a/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/console/DevConsoleProcessor.java b/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/console/DevConsoleProcessor.java index fec79b47321cf..ef7764b945efd 100644 --- a/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/console/DevConsoleProcessor.java +++ b/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/console/DevConsoleProcessor.java @@ -273,7 +273,7 @@ public void handle(RoutingContext event) { .handler(new DevConsole(engine, httpRootPath, frameworkRootPath)); mainRouter = Router.router(devConsoleVertx); mainRouter.errorHandler(500, errorHandler); - mainRouter.route(nonApplicationRootPathBuildItem.resolvePath("dev*")).subRouter(router); + mainRouter.route(nonApplicationRootPathBuildItem.resolvePath("dev-v1*")).subRouter(router); } @BuildStep(onlyIf = IsDevelopment.class) @@ -427,7 +427,7 @@ public void setupDevConsoleRoutes( continue; } routeBuildItemBuildProducer.produce(nonApplicationRootPathBuildItem.routeBuilder() - .route("dev/" + webjarBuildItem.getRouteRoot() + "/*") + .route("dev-v1/" + webjarBuildItem.getRouteRoot() + "/*") .handler(recorder.fileSystemStaticHandler(result.getWebRootConfigurations(), shutdownContext)) .build()); } @@ -461,14 +461,14 @@ public void setupDevConsoleRoutes( } routeBuildItemBuildProducer.produce(nonApplicationRootPathBuildItem.routeBuilder() - .route("dev/resources/*") + .route("dev-v1/resources/*") .handler(recorder.fileSystemStaticHandler( result.getWebRootConfigurations(), shutdownContext)) .build()); // Add the log stream routeBuildItemBuildProducer.produce(nonApplicationRootPathBuildItem.routeBuilder() - .route("dev/logstream") + .route("dev-v1/logstream") .handler(logStreamRecorder.websocketHandler(historyHandlerBuildItem.value)) .build()); @@ -479,13 +479,13 @@ public void setupDevConsoleRoutes( if (!i.isDeploymentSide()) { if (devUIConfig.cors.enabled) { routeBuildItemBuildProducer.produce(nonApplicationRootPathBuildItem.routeBuilder() - .route("dev/*") + .route("dev-v1/*") .handler(new DevConsoleCORSFilter()) .build()); } NonApplicationRootPathBuildItem.Builder builder = nonApplicationRootPathBuildItem.routeBuilder() .routeFunction( - "dev/" + groupAndArtifact.getKey() + "." + groupAndArtifact.getValue() + "/" + i.getPath(), + "dev-v1/" + groupAndArtifact.getKey() + "." + groupAndArtifact.getValue() + "/" + i.getPath(), new RuntimeDevConsoleRoute(i.getMethod(), i.isBodyHandlerRequired() ? bodyHandlerBuildItem.getHandler() : null)); if (i.isBlockingHandler()) { @@ -499,12 +499,12 @@ public void setupDevConsoleRoutes( DevConsoleManager.registerHandler(new DevConsoleHttpHandler()); //must be last so the above routes have precedence routeBuildItemBuildProducer.produce(nonApplicationRootPathBuildItem.routeBuilder() - .route("dev/*") + .route("dev-v1/*") .handler(new DevConsoleFilter()) .build()); routeBuildItemBuildProducer.produce(nonApplicationRootPathBuildItem.routeBuilder() - .route("dev") - .displayOnNotFoundPage("Dev UI") + .route("dev-v1") + .displayOnNotFoundPage("Dev UI (v1)") .handler(new RedirectHandler()) .build()); } diff --git a/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/console/package-info.java b/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/console/package-info.java new file mode 100644 index 0000000000000..a7126984f6f39 --- /dev/null +++ b/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/console/package-info.java @@ -0,0 +1,5 @@ +/** + * + * Package containing the dev UI v1. + * + + */ +package io.quarkus.vertx.http.deployment.devmode.console; \ No newline at end of file diff --git a/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/tests/TestsProcessor.java b/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/tests/TestsProcessor.java index 5d8ee7d0ce9a5..3dfdcae63928a 100644 --- a/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/tests/TestsProcessor.java +++ b/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/devmode/tests/TestsProcessor.java @@ -57,7 +57,7 @@ public void setupTestRoutes( if (TestSupport.instance().isPresent()) { // Add continuous testing routeBuildItemBuildProducer.produce(nonApplicationRootPathBuildItem.routeBuilder() - .route("dev/test") + .route("dev-v1/test") .handler(recorder.continuousTestHandler(shutdownContextBuildItem)) .build()); } diff --git a/extensions/vertx-http/deployment/src/main/resources/dev-static/js/logstream.js b/extensions/vertx-http/deployment/src/main/resources/dev-static/js/logstream.js index 72c4577adeedd..bdb7fbdccc2ab 100644 --- a/extensions/vertx-http/deployment/src/main/resources/dev-static/js/logstream.js +++ b/extensions/vertx-http/deployment/src/main/resources/dev-static/js/logstream.js @@ -4,12 +4,12 @@ var myself = $('script[src*=logstream]'); var frameworkRootPath = myself.attr('data-frameworkRootPath'); if (typeof frameworkRootPath === "undefined" ) { var pathname = window.location.pathname; - var frameworkRootPath = pathname.substr(0, pathname.indexOf('/dev/')); + var frameworkRootPath = pathname.substr(0, pathname.indexOf('/dev-v1/')); } // Get the streaming path var streamingPath = myself.attr('data-streamingPath'); if (typeof streamingPath === "undefined" ) { - var streamingPath = "/dev/logstream"; + var streamingPath = "/dev-v1/logstream"; } var zoom = 0.90; diff --git a/extensions/vertx-http/deployment/src/main/resources/dev-static/js/tests.js b/extensions/vertx-http/deployment/src/main/resources/dev-static/js/tests.js index 6f62c4022a1e1..fe4fa58290d0a 100644 --- a/extensions/vertx-http/deployment/src/main/resources/dev-static/js/tests.js +++ b/extensions/vertx-http/deployment/src/main/resources/dev-static/js/tests.js @@ -1,10 +1,10 @@ var testsPathname = window.location.pathname; -var testsFrameworkRootPath = testsPathname.substr(0, testsPathname.indexOf('/dev/')); +var testsFrameworkRootPath = testsPathname.substr(0, testsPathname.indexOf('/dev-v1/')); // Get the streaming path -var testsStreamingPath = "/dev/test"; +var testsStreamingPath = "/dev-v1/test"; var testsWebSocket; -var testBackendUrl = window.location.protocol + "//" + window.location.host + testsFrameworkRootPath + "/dev/io.quarkus.quarkus-vertx-http/tests/"; +var testBackendUrl = window.location.protocol + "//" + window.location.host + testsFrameworkRootPath + "/dev-v1/io.quarkus.quarkus-vertx-http/tests/"; var testsInProgress = false; var testsIsRunning = false; var hasFailingTests = false; diff --git a/extensions/vertx-http/deployment/src/main/resources/dev-templates/io.quarkus.quarkus-vertx-http/tests.html b/extensions/vertx-http/deployment/src/main/resources/dev-templates/io.quarkus.quarkus-vertx-http/tests.html index 15f844e897309..057f9cff9e684 100644 --- a/extensions/vertx-http/deployment/src/main/resources/dev-templates/io.quarkus.quarkus-vertx-http/tests.html +++ b/extensions/vertx-http/deployment/src/main/resources/dev-templates/io.quarkus.quarkus-vertx-http/tests.html @@ -51,7 +51,7 @@ {/style} {#script} - var testPageUrl = window.location.protocol + "//" + window.location.host + testsPathname.substr(0, testsPathname.indexOf('/dev/')) + "/dev/io.quarkus.quarkus-vertx-http/tests"; + var testPageUrl = window.location.protocol + "//" + window.location.host + testsPathname.substr(0, testsPathname.indexOf('/dev-v1/')) + "/dev-v1/io.quarkus.quarkus-vertx-http/tests"; document.addEventListener('messageReceived', function (e) { $.get(testPageUrl, function(response){ var testsResultsSection = $(response).find("#testsResultsSection"); diff --git a/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleConfigEditorBodyHandlerTest.java b/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleConfigEditorBodyHandlerTest.java index 7583b859445c5..484155820e7b7 100644 --- a/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleConfigEditorBodyHandlerTest.java +++ b/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleConfigEditorBodyHandlerTest.java @@ -29,7 +29,7 @@ public void testChangeHttpRoute() { .formParam("value", "/foo") .formParam("action", "updateProperty") .redirects().follow(false) - .post("q/dev/io.quarkus.quarkus-vertx-http/config") + .post("q/dev-v1/io.quarkus.quarkus-vertx-http/config") .then() .statusCode(303); RestAssured.with() diff --git a/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleConfigEditorTest.java b/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleConfigEditorTest.java index bfa4de214ebcf..eb8795f235ce6 100644 --- a/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleConfigEditorTest.java +++ b/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleConfigEditorTest.java @@ -22,7 +22,7 @@ public void testChangeHttpRoute() { .formParam("value", "/foo") .formParam("action", "updateProperty") .redirects().follow(false) - .post("q/dev/io.quarkus.quarkus-vertx-http/config") + .post("q/dev-v1/io.quarkus.quarkus-vertx-http/config") .then() .statusCode(303); RestAssured.with() @@ -46,7 +46,7 @@ public void testSetEmptyValue() { .formParam("value", "") .formParam("action", "updateProperty") .redirects().follow(false) - .post("q/dev/io.quarkus.quarkus-vertx-http/config") + .post("q/dev-v1/io.quarkus.quarkus-vertx-http/config") .then() .statusCode(303); RestAssured.with() diff --git a/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleConfigMisinterpretedDoubleUnderscoreTest.java b/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleConfigMisinterpretedDoubleUnderscoreTest.java index 519d8d758578a..6314a417481f8 100644 --- a/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleConfigMisinterpretedDoubleUnderscoreTest.java +++ b/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleConfigMisinterpretedDoubleUnderscoreTest.java @@ -25,7 +25,7 @@ public class DevConsoleConfigMisinterpretedDoubleUnderscoreTest { @Test public void testNoFailure() { - RestAssured.get("q/dev/io.quarkus.quarkus-vertx-http/config") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-vertx-http/config") .then() .statusCode(200).body(Matchers.containsString("Config Editor")); } diff --git a/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleCorsTest.java b/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleCorsTest.java index 81d6660f6c244..67488658358a9 100644 --- a/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleCorsTest.java +++ b/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/devconsole/DevConsoleCorsTest.java @@ -24,7 +24,7 @@ public void testPreflightHttpLocalhostOrigin() { .header("Origin", origin) .header("Access-Control-Request-Method", methods) .when() - .options("q/dev/io.quarkus.quarkus-vertx-http/config").then() + .options("q/dev-v1/io.quarkus.quarkus-vertx-http/config").then() .statusCode(200) .header("Access-Control-Allow-Origin", origin) .header("Access-Control-Allow-Methods", methods) @@ -39,7 +39,7 @@ public void testPreflightHttpLocalhostIpOrigin() { .header("Origin", origin) .header("Access-Control-Request-Method", methods) .when() - .options("q/dev/io.quarkus.quarkus-vertx-http/config").then() + .options("q/dev-v1/io.quarkus.quarkus-vertx-http/config").then() .statusCode(200) .header("Access-Control-Allow-Origin", origin) .header("Access-Control-Allow-Methods", methods) @@ -54,7 +54,7 @@ public void testPreflightHttpsLocalhostOrigin() { .header("Origin", origin) .header("Access-Control-Request-Method", methods) .when() - .options("q/dev/io.quarkus.quarkus-vertx-http/config").then() + .options("q/dev-v1/io.quarkus.quarkus-vertx-http/config").then() .statusCode(200) .header("Access-Control-Allow-Origin", origin) .header("Access-Control-Allow-Methods", methods) @@ -69,7 +69,7 @@ public void testPreflightHttpsLocalhostIpOrigin() { .header("Origin", origin) .header("Access-Control-Request-Method", methods) .when() - .options("q/dev/io.quarkus.quarkus-vertx-http/config").then() + .options("q/dev-v1/io.quarkus.quarkus-vertx-http/config").then() .statusCode(200) .header("Access-Control-Allow-Origin", origin) .header("Access-Control-Allow-Methods", methods) @@ -83,7 +83,7 @@ public void testPreflightNonLocalhostOrigin() { .header("Origin", "https://quarkus.io/http://localhost") .header("Access-Control-Request-Method", methods) .when() - .options("q/dev/io.quarkus.quarkus-vertx-http/config").then() + .options("q/dev-v1/io.quarkus.quarkus-vertx-http/config").then() .statusCode(403) .header("Access-Control-Allow-Origin", nullValue()) .header("Access-Control-Allow-Methods", nullValue()) @@ -97,7 +97,7 @@ public void testPreflightBadLocalhostOrigin() { .header("Origin", "http://localhost:8080/devui") .header("Access-Control-Request-Method", methods) .when() - .options("q/dev/io.quarkus.quarkus-vertx-http/config").then() + .options("q/dev-v1/io.quarkus.quarkus-vertx-http/config").then() .statusCode(403) .header("Access-Control-Allow-Origin", nullValue()) .body(emptyOrNullString()); @@ -110,7 +110,7 @@ public void testPreflightBadLocalhostIpOrigin() { .header("Origin", "http://127.0.0.1:8080/devui") .header("Access-Control-Request-Method", methods) .when() - .options("q/dev/io.quarkus.quarkus-vertx-http/config").then() + .options("q/dev-v1/io.quarkus.quarkus-vertx-http/config").then() .statusCode(403) .header("Access-Control-Allow-Origin", nullValue()) .body(emptyOrNullString()); @@ -123,7 +123,7 @@ public void testPreflightLocalhostOriginWithoutPort() { .header("Origin", "http://localhost") .header("Access-Control-Request-Method", methods) .when() - .options("q/dev/io.quarkus.quarkus-vertx-http/config").then() + .options("q/dev-v1/io.quarkus.quarkus-vertx-http/config").then() .statusCode(403) .header("Access-Control-Allow-Origin", nullValue()) .body(emptyOrNullString()); @@ -135,7 +135,7 @@ public void testSimpleRequestHttpLocalhostOrigin() { RestAssured.given() .header("Origin", origin) .when() - .get("q/dev/io.quarkus.quarkus-vertx-http/config").then() + .get("q/dev-v1/io.quarkus.quarkus-vertx-http/config").then() .statusCode(200) .header("Access-Control-Allow-Origin", origin) .header("Access-Control-Allow-Methods", nullValue()) @@ -148,7 +148,7 @@ public void testSimpleRequestHttpLocalhostIpOrigin() { RestAssured.given() .header("Origin", origin) .when() - .get("q/dev/io.quarkus.quarkus-vertx-http/config").then() + .get("q/dev-v1/io.quarkus.quarkus-vertx-http/config").then() .statusCode(200) .header("Access-Control-Allow-Origin", origin) .header("Access-Control-Allow-Methods", nullValue()) @@ -161,7 +161,7 @@ public void testSimpleRequestHttpsLocalhostOrigin() { RestAssured.given() .header("Origin", origin) .when() - .get("q/dev/io.quarkus.quarkus-vertx-http/config").then() + .get("q/dev-v1/io.quarkus.quarkus-vertx-http/config").then() .statusCode(200) .header("Access-Control-Allow-Origin", origin) .header("Access-Control-Allow-Methods", nullValue()) @@ -174,7 +174,7 @@ public void testSimpleRequestHttpsLocalhostIpOrigin() { RestAssured.given() .header("Origin", origin) .when() - .get("q/dev/io.quarkus.quarkus-vertx-http/config").then() + .get("q/dev-v1/io.quarkus.quarkus-vertx-http/config").then() .statusCode(200) .header("Access-Control-Allow-Origin", origin) .header("Access-Control-Allow-Methods", nullValue()) @@ -186,7 +186,7 @@ public void testSimpleRequestNonLocalhostOrigin() { RestAssured.given() .header("Origin", "https://quarkus.io/http://localhost") .when() - .get("q/dev/io.quarkus.quarkus-vertx-http/config").then() + .get("q/dev-v1/io.quarkus.quarkus-vertx-http/config").then() .statusCode(403) .header("Access-Control-Allow-Origin", nullValue()) .body(emptyOrNullString()); diff --git a/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/testrunner/TestRunnerSmokeTestCase.java b/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/testrunner/TestRunnerSmokeTestCase.java index d560f2d81e6e8..fcd667db084e3 100644 --- a/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/testrunner/TestRunnerSmokeTestCase.java +++ b/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/testrunner/TestRunnerSmokeTestCase.java @@ -48,7 +48,7 @@ public void checkTestsAreRun() throws InterruptedException { Assertions.assertEquals(1L, ts.getTotalTestsPassed()); Assertions.assertEquals(0L, ts.getTotalTestsSkipped()); - SuiteResult suiteResult = RestAssured.get("q/dev/io.quarkus.quarkus-vertx-http/tests/result") + SuiteResult suiteResult = RestAssured.get("q/dev-v1/io.quarkus.quarkus-vertx-http/tests/result") .as(SuiteResult.class); Assertions.assertEquals(2, suiteResult.getResults().size()); for (ClassResult cr : suiteResult.getResults().values()) { diff --git a/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/testrunner/brokenonly/TestBrokenOnlyTestCase.java b/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/testrunner/brokenonly/TestBrokenOnlyTestCase.java index 8f9afa786295b..adbed8f92d4d3 100644 --- a/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/testrunner/brokenonly/TestBrokenOnlyTestCase.java +++ b/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/testrunner/brokenonly/TestBrokenOnlyTestCase.java @@ -44,7 +44,7 @@ public void testBrokenOnlyMode() throws InterruptedException { Assertions.assertEquals(0L, ts.getTestsSkipped()); //start broken only mode - RestAssured.post("q/dev/io.quarkus.quarkus-vertx-http/tests/toggle-broken-only"); + RestAssured.post("q/dev-v1/io.quarkus.quarkus-vertx-http/tests/toggle-broken-only"); test.modifyTestSourceFile(SimpleET.class, new Function() { @Override diff --git a/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/testrunner/params/TestParameterizedTestCase.java b/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/testrunner/params/TestParameterizedTestCase.java index 2ee0cb592ea00..1b0ccacd41c88 100644 --- a/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/testrunner/params/TestParameterizedTestCase.java +++ b/extensions/vertx-http/deployment/src/test/java/io/quarkus/vertx/http/testrunner/params/TestParameterizedTestCase.java @@ -43,7 +43,7 @@ public void testParameterizedTests() throws InterruptedException { Assertions.assertEquals(4L, ts.getTestsPassed()); Assertions.assertEquals(0L, ts.getTestsSkipped()); - RestAssured.post("q/dev/io.quarkus.quarkus-vertx-http/tests/runfailed"); + RestAssured.post("q/dev-v1/io.quarkus.quarkus-vertx-http/tests/runfailed"); ts = utils.waitForNextCompletion(); diff --git a/extensions/vertx-http/dev-console-spi/src/main/java/io/quarkus/devconsole/spi/DevConsoleRouteBuildItem.java b/extensions/vertx-http/dev-console-spi/src/main/java/io/quarkus/devconsole/spi/DevConsoleRouteBuildItem.java index 4371c83d2075d..faf37697ff499 100644 --- a/extensions/vertx-http/dev-console-spi/src/main/java/io/quarkus/devconsole/spi/DevConsoleRouteBuildItem.java +++ b/extensions/vertx-http/dev-console-spi/src/main/java/io/quarkus/devconsole/spi/DevConsoleRouteBuildItem.java @@ -14,7 +14,7 @@ /** * A route for handling requests in the dev console. *

- * Routes are registered under /q/dev/{groupId}.{artifactId}/ + * Routes are registered under /q/dev-v1/{groupId}.{artifactId}/ *

* The route is registered: *

    diff --git a/extensions/vertx-http/dev-ui-spi/src/main/java/io/quarkus/devui/spi/page/Page.java b/extensions/vertx-http/dev-ui-spi/src/main/java/io/quarkus/devui/spi/page/Page.java index f469a4e3f95b1..5c26f209af61a 100644 --- a/extensions/vertx-http/dev-ui-spi/src/main/java/io/quarkus/devui/spi/page/Page.java +++ b/extensions/vertx-http/dev-ui-spi/src/main/java/io/quarkus/devui/spi/page/Page.java @@ -20,7 +20,7 @@ public class Page { private final String componentLink; // This is a link to the component, excluding namespace private final Map metadata; // Key value Metadata - private final boolean embed; // if the component is embeded in the page. true in all cases except maybe external pages + private final boolean embed; // if the component is embedded in the page. true in all cases except maybe external pages private final boolean internalComponent; // True if this component is provided by dev-ui (usually provided by the extension) private String namespace = null; // The namespace can be the extension path or, if internal, qwc diff --git a/extensions/vertx-http/runtime/src/main/java/io/quarkus/devui/runtime/DevUIRecorder.java b/extensions/vertx-http/runtime/src/main/java/io/quarkus/devui/runtime/DevUIRecorder.java index 6fd8fc80f2b04..086b5fb15ed68 100644 --- a/extensions/vertx-http/runtime/src/main/java/io/quarkus/devui/runtime/DevUIRecorder.java +++ b/extensions/vertx-http/runtime/src/main/java/io/quarkus/devui/runtime/DevUIRecorder.java @@ -65,6 +65,16 @@ public Handler mvnpmHandler(Set mvnpmJarFiles) { return new MvnpmHandler(mvnpmJarFiles); } + public Handler redirect() { + return new Handler() { + @Override + public void handle(RoutingContext rc) { + // 308 because we also want to redirect other HTTP Methods (and not only GET). + rc.response().putHeader("Location", "/q/dev-ui").setStatusCode(308).end(); + } + }; + } + private static final class DeleteDirectoryRunnable implements Runnable { private final Path directory; diff --git a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/devmode/DevConsoleFilter.java b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/devmode/DevConsoleFilter.java index a16ab6330f01f..96a321d336b49 100644 --- a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/devmode/DevConsoleFilter.java +++ b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/devmode/DevConsoleFilter.java @@ -20,7 +20,7 @@ /** * This is a Handler running in the regular runtime Vert.x instance - * and what it does is to take the Vert.x request coming from client (under /q/dev/) + * and what it does is to take the Vert.x request coming from client (under /q/dev-v1/) * and create the DevConsoleRequest that ends up being sent to the Netty Virtual Channel * which is eventually piped into the Netty event loop that powers the Dev Vert.x instance. */ diff --git a/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/project/quarkus/base/src/main/resources/META-INF/resources/index.tpl.qute.html b/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/project/quarkus/base/src/main/resources/META-INF/resources/index.tpl.qute.html index 2434627133234..dad3b5b8548da 100644 --- a/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/project/quarkus/base/src/main/resources/META-INF/resources/index.tpl.qute.html +++ b/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/project/quarkus/base/src/main/resources/META-INF/resources/index.tpl.qute.html @@ -255,6 +255,7 @@

    You just made a Quarkus application.

    App configuration: src/main/resources/{config.file-name}

    Static assets: src/main/resources/META-INF/resources/

    Code: {language.dir.code}

    +

    Dev UI V1: /q/dev-v1

    Generated starter code:

      {merged-content} diff --git a/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/generateRESTEasyJavaCustom/src_main_resources_META-INF_resources_index.html b/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/generateRESTEasyJavaCustom/src_main_resources_META-INF_resources_index.html index c6da4ababd814..b4e24cf3a4580 100644 --- a/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/generateRESTEasyJavaCustom/src_main_resources_META-INF_resources_index.html +++ b/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/generateRESTEasyJavaCustom/src_main_resources_META-INF_resources_index.html @@ -255,6 +255,7 @@

      You just made a Quarkus application.

      App configuration: src/main/resources/application.properties

      Static assets: src/main/resources/META-INF/resources/

      Code: src/main/java

      +

      Dev UI V1: /q/dev-v1

      Generated starter code:

      • diff --git a/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/verifyIndexExtensionList/src_main_resources_META-INF_resources_index.html b/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/verifyIndexExtensionList/src_main_resources_META-INF_resources_index.html index 3460466aef2c7..169df144811e6 100644 --- a/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/verifyIndexExtensionList/src_main_resources_META-INF_resources_index.html +++ b/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/verifyIndexExtensionList/src_main_resources_META-INF_resources_index.html @@ -255,6 +255,7 @@

        You just made a Quarkus application.

        App configuration: src/main/resources/application.properties

        Static assets: src/main/resources/META-INF/resources/

        Code: src/main/java

        +

        Dev UI V1: /q/dev-v1

        Generated starter code:

        • diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleArcSmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleArcSmokeTest.java index d8957571d7a18..b2fb2ca8954cf 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleArcSmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleArcSmokeTest.java @@ -27,25 +27,25 @@ public class DevConsoleArcSmokeTest { @Test public void testPages() { RestAssured - .get("q/dev/io.quarkus.quarkus-arc/beans") + .get("q/dev-v1/io.quarkus.quarkus-arc/beans") .then() .statusCode(200).body(Matchers.containsString("io.quarkus.test.devconsole.DevConsoleArcSmokeTest$Foo")); RestAssured - .get("q/dev/io.quarkus.quarkus-arc/observers") + .get("q/dev-v1/io.quarkus.quarkus-arc/observers") .then() .statusCode(200) .body(Matchers.containsString( "io.quarkus.test.devconsole.DevConsoleArcSmokeTest$Foo#onStr")); RestAssured - .get("q/dev/io.quarkus.quarkus-arc/events") + .get("q/dev-v1/io.quarkus.quarkus-arc/events") .then() .statusCode(200).body(Matchers.containsString("io.quarkus.runtime.StartupEvent")); RestAssured - .get("q/dev/io.quarkus.quarkus-arc/invocations") + .get("q/dev-v1/io.quarkus.quarkus-arc/invocations") .then() .statusCode(200); RestAssured - .get("q/dev/io.quarkus.quarkus-arc/removed-beans") + .get("q/dev-v1/io.quarkus.quarkus-arc/removed-beans") .then() .statusCode(200).body(Matchers.containsString("org.jboss.logging.Logger")); } diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleCacheSmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleCacheSmokeTest.java index b61ed568f08d1..d14a8c135f98f 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleCacheSmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleCacheSmokeTest.java @@ -22,7 +22,7 @@ public class DevConsoleCacheSmokeTest { @Test public void testCaches() { - RestAssured.get("q/dev/io.quarkus.quarkus-cache/caches") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-cache/caches") .then() .statusCode(200).body(Matchers.containsString("myCache")); } diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleConfigSmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleConfigSmokeTest.java index 8fb041bbd77a0..401b1b8e1f38a 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleConfigSmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleConfigSmokeTest.java @@ -19,7 +19,7 @@ public class DevConsoleConfigSmokeTest { @Test public void testConfigEditor() { - RestAssured.get("q/dev/io.quarkus.quarkus-vertx-http/config") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-vertx-http/config") .then() .statusCode(200).body(Matchers.containsString("Config Editor")); diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleContainerImageSmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleContainerImageSmokeTest.java index b76ca7f566fc9..25c0d0a5ad719 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleContainerImageSmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleContainerImageSmokeTest.java @@ -19,7 +19,7 @@ public class DevConsoleContainerImageSmokeTest { @Test public void testCaches() { - RestAssured.get("q/dev/io.quarkus.quarkus-container-image/build") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-container-image/build") .then() .statusCode(200).body(Matchers.containsString("Build Type")); } diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleDevServicesSmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleDevServicesSmokeTest.java index 4776a45bba0f7..e07a8c4da84fb 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleDevServicesSmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleDevServicesSmokeTest.java @@ -20,12 +20,12 @@ public class DevConsoleDevServicesSmokeTest { @Test public void testDevConsoleNotBroken() { RestAssured.with() - .get("q/dev") + .get("q/dev-v1") .then() .statusCode(200).body(Matchers.containsString("Dev Services")); RestAssured.with() - .get("q/dev/io.quarkus.quarkus-vertx-http/dev-services") + .get("q/dev-v1/io.quarkus.quarkus-vertx-http/dev-services") .then() .statusCode(200).body(Matchers.containsString("Dev Services")); diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleGrpcSmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleGrpcSmokeTest.java index bc168dbd84d07..3b16aeaffd909 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleGrpcSmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleGrpcSmokeTest.java @@ -26,7 +26,7 @@ public class DevConsoleGrpcSmokeTest { @Test public void testServices() { - RestAssured.get("q/dev/io.quarkus.quarkus-grpc/services") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-grpc/services") .then() .statusCode(200).body(Matchers.containsString("helloworld.Greeter")); } diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateOrmActiveFalseAndNamedPuActiveTrueTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateOrmActiveFalseAndNamedPuActiveTrueTest.java index 2a79d9f1ed54b..7849ff7cb7bd3 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateOrmActiveFalseAndNamedPuActiveTrueTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateOrmActiveFalseAndNamedPuActiveTrueTest.java @@ -35,19 +35,19 @@ public class DevConsoleHibernateOrmActiveFalseAndNamedPuActiveTrueTest { @Test public void testLegacyPages() { - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-orm/persistence-units") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-orm/persistence-units") .then() .statusCode(200) .body(Matchers.not(Matchers.containsString("<default>"))) .body(Matchers.containsString("Persistence Unit namedpu")); - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-orm/managed-entities") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-orm/managed-entities") .then() .statusCode(200) .body(Matchers.not(Matchers.containsString(MyEntity.class.getName()))) .body(Matchers.containsString(MyNamedPuEntity.class.getName())); - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-orm/named-queries") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-orm/named-queries") .then() .statusCode(200) .body(Matchers.containsString("No named queries were found.")); @@ -57,19 +57,19 @@ public void testLegacyPages() { public void testPages() { // TODO #31970 restore tests of the page's content as we used to do for the old Dev UI - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-orm/persistence-units") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-orm/persistence-units") .then() .statusCode(200); // .body(Matchers.not(Matchers.containsString("<default>"))) // .body(Matchers.containsString("namedpu")); - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-orm/managed-entities") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-orm/managed-entities") .then() .statusCode(200); // .body(Matchers.not(Matchers.containsString(MyEntity.class.getName()))) // .body(Matchers.containsString(MyNamedPuEntity.class.getName())); - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-orm/named-queries") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-orm/named-queries") .then() .statusCode(200); // .body(Matchers.containsString("No named queries were found.")); diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateOrmActiveFalseTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateOrmActiveFalseTest.java index c7711efabf3b3..7d834bb7290e8 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateOrmActiveFalseTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateOrmActiveFalseTest.java @@ -26,17 +26,17 @@ public class DevConsoleHibernateOrmActiveFalseTest { @Test public void testLegacyPages() { - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-orm/persistence-units") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-orm/persistence-units") .then() .statusCode(200) .body(Matchers.containsString("No persistence units found")); - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-orm/managed-entities") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-orm/managed-entities") .then() .statusCode(200) .body(Matchers.containsString("No persistence units were found")); - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-orm/named-queries") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-orm/named-queries") .then() .statusCode(200) .body(Matchers.containsString("No persistence units were found")); diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateOrmSmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateOrmSmokeTest.java index 447919de434ce..58a8ef4b09512 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateOrmSmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateOrmSmokeTest.java @@ -24,17 +24,17 @@ public class DevConsoleHibernateOrmSmokeTest { @Test public void testLegacyPages() { - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-orm/persistence-units") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-orm/persistence-units") .then() .statusCode(200) .body(Matchers.containsString("Persistence Unit <default>")); - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-orm/managed-entities") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-orm/managed-entities") .then() .statusCode(200) .body(Matchers.containsString("io.quarkus.test.devconsole.MyEntity")); - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-orm/named-queries") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-orm/named-queries") .then() .statusCode(200) .body(Matchers.containsString("No named queries were found.")); diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateSearchActiveFalseAndNamedPuActiveTrueTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateSearchActiveFalseAndNamedPuActiveTrueTest.java index 71960efadd95d..5d2f21b0d850e 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateSearchActiveFalseAndNamedPuActiveTrueTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateSearchActiveFalseAndNamedPuActiveTrueTest.java @@ -41,7 +41,7 @@ public class DevConsoleHibernateSearchActiveFalseAndNamedPuActiveTrueTest { @Test public void testLegacyPages() { - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-search-orm-elasticsearch/entity-types") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-search-orm-elasticsearch/entity-types") .then() .statusCode(200) .body(Matchers.containsString(MyNamedPuIndexedEntity.class.getName())) diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateSearchActiveFalseTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateSearchActiveFalseTest.java index 4f52cfb5d6c4a..6de983c83b5d1 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateSearchActiveFalseTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateSearchActiveFalseTest.java @@ -27,7 +27,7 @@ public class DevConsoleHibernateSearchActiveFalseTest { @Test public void testLegacyPages() { - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-search-orm-elasticsearch/entity-types") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-search-orm-elasticsearch/entity-types") .then() .statusCode(200) .body(Matchers.containsString("No indexed entities were found")); diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateSearchSmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateSearchSmokeTest.java index c76bb2095686b..adbe2c6c51521 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateSearchSmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleHibernateSearchSmokeTest.java @@ -28,7 +28,7 @@ public class DevConsoleHibernateSearchSmokeTest { @Test public void testLegacyPages() { - RestAssured.get("q/dev/io.quarkus.quarkus-hibernate-search-orm-elasticsearch/entity-types") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-hibernate-search-orm-elasticsearch/entity-types") .then() .statusCode(200) .body(Matchers.containsString(MyIndexedEntity.class.getName())); diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleKafkaSmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleKafkaSmokeTest.java index bbf82bf28ab1b..0511bd34b5c47 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleKafkaSmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleKafkaSmokeTest.java @@ -21,7 +21,7 @@ public class DevConsoleKafkaSmokeTest { @Test public void testServices() { - RestAssured.get("testing/q/dev/io.quarkus.quarkus-kafka-client/kafka-dev-ui") + RestAssured.get("testing/q/dev-v1/io.quarkus.quarkus-kafka-client/kafka-dev-ui") .then() .statusCode(200).body(Matchers.containsString("Kafka Dev UI")); } diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleOidcNoDiscoverySmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleOidcNoDiscoverySmokeTest.java index e7d4f258f48c8..9e157fa81e514 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleOidcNoDiscoverySmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleOidcNoDiscoverySmokeTest.java @@ -21,7 +21,7 @@ public class DevConsoleOidcNoDiscoverySmokeTest { @Test public void testOidcProviderTemplate() { - RestAssured.get("q/dev/io.quarkus.quarkus-oidc/provider") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-oidc/provider") .then() .statusCode(200).body(Matchers.containsString("OpenId Connect Dev Console")); } diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleOidcSmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleOidcSmokeTest.java index 1df9041178ae1..c35bd9c84a761 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleOidcSmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleOidcSmokeTest.java @@ -19,7 +19,7 @@ public class DevConsoleOidcSmokeTest { @Test public void testOidcProviderTemplate() { - RestAssured.get("q/dev/io.quarkus.quarkus-oidc/provider") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-oidc/provider") .then() .statusCode(200).body(Matchers.containsString("OpenId Connect Dev Console")); } diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleQuteSmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleQuteSmokeTest.java index 359e4a67a28e6..f2803be02f5cd 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleQuteSmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleQuteSmokeTest.java @@ -22,10 +22,10 @@ public class DevConsoleQuteSmokeTest { @Test public void testTemplates() { - RestAssured.get("q/dev/io.quarkus.quarkus-qute/templates") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-qute/templates") .then() .statusCode(200).body(Matchers.containsString("hello.txt")); - RestAssured.get("q/dev/io.quarkus.quarkus-qute/preview") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-qute/preview") .then() .statusCode(200).body(Matchers.containsString("Test JSON data")); } diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleReactiveMessagingSmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleReactiveMessagingSmokeTest.java index e83ebe3881e63..d6c06a45359ce 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleReactiveMessagingSmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleReactiveMessagingSmokeTest.java @@ -25,7 +25,7 @@ public class DevConsoleReactiveMessagingSmokeTest { @Test public void testProcessor() { - RestAssured.get("q/dev/io.quarkus.quarkus-smallrye-reactive-messaging/channels") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-smallrye-reactive-messaging/channels") .then() .statusCode(200).body(Matchers.containsString("io.quarkus.test.devconsole.MyProcessor#process")); } diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleResteastyReactiveSmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleResteastyReactiveSmokeTest.java index fd1613ba27291..f538fb4414d71 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleResteastyReactiveSmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleResteastyReactiveSmokeTest.java @@ -19,10 +19,10 @@ public class DevConsoleResteastyReactiveSmokeTest { @Test public void testTemplates() { - RestAssured.get("q/dev/io.quarkus.quarkus-resteasy-reactive/endpoints") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-resteasy-reactive/endpoints") .then() .statusCode(200).body(Matchers.containsString("GET /me/message")); - RestAssured.get("q/dev/io.quarkus.quarkus-resteasy-reactive/scores") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-resteasy-reactive/scores") .then() .statusCode(200).body(Matchers.containsString("GET /me/message")); } diff --git a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleSchedulerSmokeTest.java b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleSchedulerSmokeTest.java index e55451435f00a..d8a4aa04d316a 100644 --- a/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleSchedulerSmokeTest.java +++ b/integration-tests/devmode/src/test/java/io/quarkus/test/devconsole/DevConsoleSchedulerSmokeTest.java @@ -22,10 +22,10 @@ public class DevConsoleSchedulerSmokeTest { @Test public void testScheduler() { - RestAssured.get("q/dev") + RestAssured.get("q/dev-v1") .then() .statusCode(200).body(Matchers.containsString("Scheduled Methods")); - RestAssured.get("q/dev/io.quarkus.quarkus-scheduler/schedules") + RestAssured.get("q/dev-v1/io.quarkus.quarkus-scheduler/schedules") .then() .statusCode(200).body(Matchers.containsString("Scheduler is running")); } diff --git a/integration-tests/maven/src/test/java/io/quarkus/maven/it/DevMojoIT.java b/integration-tests/maven/src/test/java/io/quarkus/maven/it/DevMojoIT.java index 9bd6f0ca8d941..e1704995f07f8 100644 --- a/integration-tests/maven/src/test/java/io/quarkus/maven/it/DevMojoIT.java +++ b/integration-tests/maven/src/test/java/io/quarkus/maven/it/DevMojoIT.java @@ -355,11 +355,11 @@ public void testThatNonExistentSrcDirCanBeAdded() throws MavenInvocationExceptio @Test public void testThatInstrumentationBasedReloadWorks() throws MavenInvocationException, IOException { - testDir = initProject("projects/classic-inst", "projects/project-intrumentation-reload"); + testDir = initProject("projects/classic-inst", "projects/project-instrumentation-reload"); runAndCheck(); // Enable instrumentation based reload to begin with - RestAssured.post("/q/dev/io.quarkus.quarkus-vertx-http/tests/toggle-instrumentation").then().statusCode(200); + RestAssured.post("/q/dev-v1/io.quarkus.quarkus-vertx-http/tests/toggle-instrumentation").then().statusCode(200); //if there is an instrumentation based reload this will stay the same String firstUuid = DevModeTestUtils.getHttpResponse("/app/uuid"); @@ -392,7 +392,7 @@ public void testThatInstrumentationBasedReloadWorks() throws MavenInvocationExce //now disable instrumentation based restart, and try again //change it back to hello - RestAssured.post("/q/dev/io.quarkus.quarkus-vertx-http/tests/toggle-instrumentation").then().statusCode(200); + RestAssured.post("/q/dev-v1/io.quarkus.quarkus-vertx-http/tests/toggle-instrumentation").then().statusCode(200); source = new File(testDir, "src/main/java/org/acme/HelloResource.java"); filter(source, Collections.singletonMap("return \"" + uuid + "\";", "return \"hello\";")); @@ -407,7 +407,7 @@ public void testThatInstrumentationBasedReloadWorks() throws MavenInvocationExce //now re-enable //and repeat - RestAssured.post("/q/dev/io.quarkus.quarkus-vertx-http/tests/toggle-instrumentation").then().statusCode(200); + RestAssured.post("/q/dev-v1/io.quarkus.quarkus-vertx-http/tests/toggle-instrumentation").then().statusCode(200); source = new File(testDir, "src/main/java/org/acme/HelloResource.java"); filter(source, Collections.singletonMap("return \"hello\";", "return \"" + uuid + "\";")); diff --git a/integration-tests/maven/src/test/java/io/quarkus/maven/it/RemoteDevMojoIT.java b/integration-tests/maven/src/test/java/io/quarkus/maven/it/RemoteDevMojoIT.java index b99b46ab347e9..8ecc9ff41e6e0 100644 --- a/integration-tests/maven/src/test/java/io/quarkus/maven/it/RemoteDevMojoIT.java +++ b/integration-tests/maven/src/test/java/io/quarkus/maven/it/RemoteDevMojoIT.java @@ -56,7 +56,7 @@ public void testThatTheApplicationIsReloadedOnJavaChange() .atMost(1, TimeUnit.MINUTES).until(() -> DevModeTestUtils.getHttpResponse("/app/hello").contains("carambar")); //also verify that the dev ui console is disabled - DevModeTestUtils.getHttpResponse("/q/dev", 404, 10, TimeUnit.SECONDS); + DevModeTestUtils.getHttpResponse("/q/dev-v1", 404, 10, TimeUnit.SECONDS); } @Test diff --git a/test-framework/maven/src/main/java/io/quarkus/maven/it/continuoustesting/ContinuousTestingMavenTestUtils.java b/test-framework/maven/src/main/java/io/quarkus/maven/it/continuoustesting/ContinuousTestingMavenTestUtils.java index 477a6036033c8..001341f1233ea 100644 --- a/test-framework/maven/src/main/java/io/quarkus/maven/it/continuoustesting/ContinuousTestingMavenTestUtils.java +++ b/test-framework/maven/src/main/java/io/quarkus/maven/it/continuoustesting/ContinuousTestingMavenTestUtils.java @@ -23,7 +23,7 @@ public class ContinuousTestingMavenTestUtils { static { try { - DEFAULT = new URL("http://localhost:8080/q/dev/io.quarkus.quarkus-vertx-http/tests/status"); + DEFAULT = new URL("http://localhost:8080/q/dev-v1/io.quarkus.quarkus-vertx-http/tests/status"); } catch (MalformedURLException e) { throw new RuntimeException(e); }