diff --git a/amazon-dynamodb-quickstart/pom.xml b/amazon-dynamodb-quickstart/pom.xml index 981942bf42..942bb1ce55 100644 --- a/amazon-dynamodb-quickstart/pom.xml +++ b/amazon-dynamodb-quickstart/pom.xml @@ -16,7 +16,7 @@ UTF-8 11 11 - 2.5.0 + 2.5.1 1.12.57 diff --git a/amazon-kms-quickstart/pom.xml b/amazon-kms-quickstart/pom.xml index c53f862c17..51dffcf166 100644 --- a/amazon-kms-quickstart/pom.xml +++ b/amazon-kms-quickstart/pom.xml @@ -16,7 +16,7 @@ UTF-8 11 11 - 2.5.0 + 2.5.1 1.12.57 diff --git a/amazon-s3-quickstart/pom.xml b/amazon-s3-quickstart/pom.xml index 8e5b8d4aea..6f1539ee8a 100644 --- a/amazon-s3-quickstart/pom.xml +++ b/amazon-s3-quickstart/pom.xml @@ -16,7 +16,7 @@ UTF-8 11 11 - 2.5.0 + 2.5.1 diff --git a/amazon-ses-quickstart/pom.xml b/amazon-ses-quickstart/pom.xml index fd71e7b56b..3b6c943dc4 100644 --- a/amazon-ses-quickstart/pom.xml +++ b/amazon-ses-quickstart/pom.xml @@ -16,7 +16,7 @@ UTF-8 11 11 - 2.5.0 + 2.5.1 1.12.57 diff --git a/amazon-sns-quickstart/pom.xml b/amazon-sns-quickstart/pom.xml index d47c09b12b..933a9183fc 100644 --- a/amazon-sns-quickstart/pom.xml +++ b/amazon-sns-quickstart/pom.xml @@ -16,7 +16,7 @@ UTF-8 11 11 - 2.5.0 + 2.5.1 1.12.57 diff --git a/amazon-sqs-quickstart/pom.xml b/amazon-sqs-quickstart/pom.xml index e114d0cf4c..c0a690bea6 100644 --- a/amazon-sqs-quickstart/pom.xml +++ b/amazon-sqs-quickstart/pom.xml @@ -16,7 +16,7 @@ UTF-8 11 11 - 2.5.0 + 2.5.1 1.12.57 diff --git a/amazon-ssm-quickstart/pom.xml b/amazon-ssm-quickstart/pom.xml index a730453cfb..e986f29ee9 100644 --- a/amazon-ssm-quickstart/pom.xml +++ b/amazon-ssm-quickstart/pom.xml @@ -16,7 +16,7 @@ UTF-8 11 11 - 2.5.0 + 2.5.1 1.12.57 diff --git a/mqtt-quickstart/src/main/resources/application.properties b/mqtt-quickstart/src/main/resources/application.properties index df17886f72..fdc6ed02e6 100644 --- a/mqtt-quickstart/src/main/resources/application.properties +++ b/mqtt-quickstart/src/main/resources/application.properties @@ -3,13 +3,13 @@ # Configure the MQTT sink (we write to it) mp.messaging.outgoing.topic-price.connector=smallrye-mqtt mp.messaging.outgoing.topic-price.topic=prices -mp.messaging.outgoing.topic-price.host=localhost +mp.messaging.outgoing.topic-price.host=${MQTT_HOST:localhost} mp.messaging.outgoing.topic-price.port=1883 mp.messaging.outgoing.topic-price.auto-generated-client-id=true # Configure the MQTT source (we read from it) mp.messaging.incoming.prices.connector=smallrye-mqtt mp.messaging.incoming.prices.topic=prices -mp.messaging.incoming.prices.host=localhost +mp.messaging.incoming.prices.host=${MQTT_HOST:localhost} mp.messaging.incoming.prices.port=1883 mp.messaging.incoming.prices.auto-generated-client-id=true diff --git a/pom.xml b/pom.xml index 402f5fcc0b..556d7232ac 100644 --- a/pom.xml +++ b/pom.xml @@ -30,6 +30,7 @@ getting-started-knative getting-started-testing getting-started-command-mode + getting-started-dev-services google-cloud-functions-quickstart google-cloud-functions-http-quickstart hibernate-orm-quickstart diff --git a/rabbitmq-quickstart/rabbitmq-quickstart-processor/src/test/java/org/acme/rabbitmq/processor/QuoteProcessorIT.java b/rabbitmq-quickstart/rabbitmq-quickstart-processor/src/test/java/org/acme/rabbitmq/processor/QuoteProcessorIT.java deleted file mode 100644 index 27fce449d8..0000000000 --- a/rabbitmq-quickstart/rabbitmq-quickstart-processor/src/test/java/org/acme/rabbitmq/processor/QuoteProcessorIT.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.acme.rabbitmq.processor; - -import io.quarkus.test.junit.QuarkusIntegrationTest; - -@QuarkusIntegrationTest -public class QuoteProcessorIT extends QuoteProcessorTest { - -} diff --git a/rabbitmq-quickstart/rabbitmq-quickstart-processor/src/test/java/org/acme/rabbitmq/processor/QuoteProcessorTest.java b/rabbitmq-quickstart/rabbitmq-quickstart-processor/src/test/java/org/acme/rabbitmq/processor/QuoteProcessorTest.java index 55ab1cbed0..309f5b4490 100644 --- a/rabbitmq-quickstart/rabbitmq-quickstart-processor/src/test/java/org/acme/rabbitmq/processor/QuoteProcessorTest.java +++ b/rabbitmq-quickstart/rabbitmq-quickstart-processor/src/test/java/org/acme/rabbitmq/processor/QuoteProcessorTest.java @@ -19,6 +19,7 @@ import com.rabbitmq.client.DeliverCallback; import org.acme.rabbitmq.model.Quote; +import org.eclipse.microprofile.config.inject.ConfigProperty; import org.junit.jupiter.api.Test; import io.quarkus.test.junit.QuarkusTest; @@ -26,6 +27,8 @@ @QuarkusTest public class QuoteProcessorTest { + @ConfigProperty(name = "rabbitmq-host") String host; + @ConfigProperty(name = "rabbitmq-port") int port; ObjectMapper objectMapper = new ObjectMapper(); @Test @@ -63,8 +66,8 @@ void testProcessor() throws Exception { Channel getChannel() throws Exception { ConnectionFactory connectionFactory = new ConnectionFactory(); - connectionFactory.setHost("localhost"); - connectionFactory.setPort(5672); + connectionFactory.setHost(host); + connectionFactory.setPort(port); connectionFactory.setUsername("guest"); connectionFactory.setPassword("guest"); connectionFactory.setChannelRpcTimeout((int) SECONDS.toMillis(3)); diff --git a/security-jdbc-quickstart/pom.xml b/security-jdbc-quickstart/pom.xml index 35b16643b9..e624d9da64 100644 --- a/security-jdbc-quickstart/pom.xml +++ b/security-jdbc-quickstart/pom.xml @@ -49,16 +49,6 @@ rest-assured test - - org.testcontainers - junit-jupiter - test - - - org.testcontainers - postgresql - test - diff --git a/security-jdbc-quickstart/src/main/resources/application.properties b/security-jdbc-quickstart/src/main/resources/application.properties index cd02e27524..a34e2a28d3 100644 --- a/security-jdbc-quickstart/src/main/resources/application.properties +++ b/security-jdbc-quickstart/src/main/resources/application.properties @@ -1,7 +1,7 @@ quarkus.datasource.db-kind=postgresql -quarkus.datasource.username=quarkus -quarkus.datasource.password=quarkus -quarkus.datasource.jdbc.url=jdbc:postgresql:elytron_security_jdbc +%prod.quarkus.datasource.username=quarkus +%prod.quarkus.datasource.password=quarkus +%prod.quarkus.datasource.jdbc.url=jdbc:postgresql:elytron_security_jdbc quarkus.security.jdbc.enabled=true quarkus.security.jdbc.principal-query.sql=SELECT u.password, u.role FROM test_user u WHERE u.username=? @@ -9,3 +9,5 @@ quarkus.security.jdbc.principal-query.clear-password-mapper.enabled=true quarkus.security.jdbc.principal-query.clear-password-mapper.password-index=1 quarkus.security.jdbc.principal-query.attribute-mappings.0.index=2 quarkus.security.jdbc.principal-query.attribute-mappings.0.to=groups + +%test.quarkus.datasource.devservices.init-script-path=test_user.sql diff --git a/security-jdbc-quickstart/src/test/java/org/acme/security/jdbc/JdbcSecurityRealmTest.java b/security-jdbc-quickstart/src/test/java/org/acme/security/jdbc/JdbcSecurityRealmTest.java index 3a1ee84e1c..d5f5474117 100644 --- a/security-jdbc-quickstart/src/test/java/org/acme/security/jdbc/JdbcSecurityRealmTest.java +++ b/security-jdbc-quickstart/src/test/java/org/acme/security/jdbc/JdbcSecurityRealmTest.java @@ -9,32 +9,13 @@ import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestMethodOrder; -import org.testcontainers.containers.PostgreSQLContainer; -import org.testcontainers.junit.jupiter.Container; -import org.testcontainers.junit.jupiter.Testcontainers; - -import com.github.dockerjava.api.model.ExposedPort; -import com.github.dockerjava.api.model.PortBinding; -import com.github.dockerjava.api.model.Ports; import io.quarkus.test.junit.QuarkusTest; -@Testcontainers @QuarkusTest @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class JdbcSecurityRealmTest { - @Container - public static final PostgreSQLContainer DATABASE = new PostgreSQLContainer<>() - .withDatabaseName("elytron_security_jdbc") - .withUsername("quarkus") - .withPassword("quarkus") - .withExposedPorts(5432) - .withCreateContainerCmdModifier(cmd -> cmd - .withHostName("localhost") - .withPortBindings(new PortBinding(Ports.Binding.bindPort(5432), new ExposedPort(5432)))) - .withInitScript("test_user.sql"); - @Test @Order(1) void shouldAccessPublicWhenAnonymous() { diff --git a/security-openid-connect-client-quickstart/src/test/java/org/acme/security/openid/connect/OidcClientTokenPropagationTest.java b/security-openid-connect-client-quickstart/src/test/java/org/acme/security/openid/connect/OidcClientTokenPropagationTest.java index f1399d4849..27af7c13c0 100644 --- a/security-openid-connect-client-quickstart/src/test/java/org/acme/security/openid/connect/OidcClientTokenPropagationTest.java +++ b/security-openid-connect-client-quickstart/src/test/java/org/acme/security/openid/connect/OidcClientTokenPropagationTest.java @@ -30,6 +30,22 @@ public void testGetNameWithAdminTokenPropagated() { .statusCode(200) .body(is("admin")); } + + @Test + public void testGetNameWithUserTokenPropagated() { + String userToken = getAccessToken("alice"); + + RestAssured.given().auth().oauth2(userToken) + .when().get("/frontend/user-name-with-propagated-token") + .then() + .statusCode(200) + .body(is("alice")); + + RestAssured.given().auth().oauth2(userToken) + .when().get("/frontend/admin-name-with-propagated-token") + .then() + .statusCode(403); + } @Test public void testGetNameWithOidcClient() { diff --git a/security-openid-connect-quickstart/src/main/resources/application.properties b/security-openid-connect-quickstart/src/main/resources/application.properties index a1005a2c7b..502a47c9b4 100644 --- a/security-openid-connect-quickstart/src/main/resources/application.properties +++ b/security-openid-connect-quickstart/src/main/resources/application.properties @@ -4,6 +4,7 @@ quarkus.oidc.client-id=backend-service quarkus.oidc.credentials.secret=secret quarkus.keycloak.devservices.realm-path=quarkus-realm.json +quarkus.keycloak.devservices.grant.type=client # DEBUG console logging quarkus.log.console.enable=true @@ -18,3 +19,6 @@ quarkus.log.file.enable=true #quarkus.log.category."io.quarkus.smallrye.jwt".level=TRACE #quarkus.log.category."io.undertow.request.security".level=TRACE #quarkus.log.category."io.smallrye.jwt".level=TRACE + +quarkus.log.category."io.quarkus.oidc.runtime.OidcProvider".level=TRACE +quarkus.log.category."io.quarkus.oidc.runtime.OidcProvider".min-level=TRACE diff --git a/stork-kubernetes-quickstart/kubernetes-setup.yml b/stork-kubernetes-quickstart/kubernetes-setup.yml index c50710c45b..a7ef44331a 100644 --- a/stork-kubernetes-quickstart/kubernetes-setup.yml +++ b/stork-kubernetes-quickstart/kubernetes-setup.yml @@ -32,7 +32,7 @@ metadata: app.quarkus.io/build-timestamp: 2022-03-31 - 10:36:56 +0000 labels: app.kubernetes.io/name: color-service - app.kubernetes.io/version: "1.0" + app.kubernetes.io/version: "2.0" name: color-service spec: ports: @@ -40,7 +40,7 @@ spec: port: 80 targetPort: 8080 selector: - app.kubernetes.io/version: "1.0" + app.kubernetes.io/version: "2.0" type: color-service type: ClusterIP --- @@ -52,8 +52,7 @@ metadata: app.quarkus.io/build-timestamp: 2022-03-31 - 10:46:19 +0000 labels: app.kubernetes.io/name: color-service - app.kubernetes.io/version: "1.0" - color: blue + app.kubernetes.io/version: "2.0" type: color-service name: color-service spec: @@ -79,14 +78,14 @@ metadata: color: blue type: color-service app.kubernetes.io/name: blue-service - app.kubernetes.io/version: "1.0" + app.kubernetes.io/version: "2.0" name: blue-service spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: blue-service - app.kubernetes.io/version: "1.0" + app.kubernetes.io/version: "2.0" template: metadata: annotations: @@ -96,7 +95,7 @@ spec: color: blue type: color-service app.kubernetes.io/name: blue-service - app.kubernetes.io/version: "1.0" + app.kubernetes.io/version: "2.0" spec: containers: - env: @@ -104,7 +103,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: quay.io/quarkus/blue-service:1.0 + image: quay.io/quarkus/blue-service:2.0 imagePullPolicy: Always name: blue-service ports: @@ -121,14 +120,14 @@ metadata: labels: color: red type: color-service - app.kubernetes.io/version: "1.0" + app.kubernetes.io/version: "2.0" app.kubernetes.io/name: red-service name: red-service spec: replicas: 1 selector: matchLabels: - app.kubernetes.io/version: "1.0" + app.kubernetes.io/version: "2.0" app.kubernetes.io/name: red-service template: metadata: @@ -138,7 +137,7 @@ spec: labels: color: red type: color-service - app.kubernetes.io/version: "1.0" + app.kubernetes.io/version: "2.0" app.kubernetes.io/name: red-service spec: containers: @@ -147,7 +146,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: quay.io/quarkus/red-service:1.0 + image: quay.io/quarkus/red-service:2.0 imagePullPolicy: Always name: red-service ports: