Move Nimbus OAuth client into separate module (#35090)

Closes #34487

Signed-off-by: stianst <stianst@gmail.com>
This commit is contained in:
Stian Thorgersen 2024-11-19 12:24:44 +01:00 committed by GitHub
parent 50dd28518d
commit 5e54ebde18
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 89 additions and 20 deletions

View File

@ -45,6 +45,12 @@
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.keycloak.test</groupId>
<artifactId>keycloak-test-framework-oauth-nimbus-poc</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.keycloak.test</groupId>
<artifactId>keycloak-test-framework-db-mariadb</artifactId>

View File

@ -44,12 +44,6 @@
<groupId>org.keycloak</groupId>
<artifactId>keycloak-junit5</artifactId>
</dependency>
<!-- Temporary dependency until we figure out how we want to support OAuth -->
<dependency>
<groupId>com.nimbusds</groupId>
<artifactId>oauth2-oidc-sdk</artifactId>
<version>11.13</version>
</dependency>
</dependencies>
<build>

View File

@ -9,15 +9,14 @@ import org.keycloak.test.framework.events.EventsSupplier;
import org.keycloak.test.framework.events.SysLogServerSupplier;
import org.keycloak.test.framework.http.HttpClientSupplier;
import org.keycloak.test.framework.injection.Supplier;
import org.keycloak.test.framework.oauth.OAuthClientSupplier;
import org.keycloak.test.framework.realm.ClientSupplier;
import org.keycloak.test.framework.realm.RealmSupplier;
import org.keycloak.test.framework.realm.UserSupplier;
import org.keycloak.test.framework.server.DistributionKeycloakTestServerSupplier;
import org.keycloak.test.framework.server.EmbeddedKeycloakTestServerSupplier;
import org.keycloak.test.framework.server.KeycloakTestServer;
import org.keycloak.test.framework.server.RemoteKeycloakTestServerSupplier;
import org.keycloak.test.framework.server.KeycloakUrlsSupplier;
import org.keycloak.test.framework.server.RemoteKeycloakTestServerSupplier;
import java.util.List;
import java.util.Map;
@ -37,7 +36,6 @@ public class CoreTestFrameworkExtension implements TestFrameworkExtension {
new KeycloakUrlsSupplier(),
new DevMemDatabaseSupplier(),
new DevFileDatabaseSupplier(),
new OAuthClientSupplier(),
new SysLogServerSupplier(),
new EventsSupplier(),
new AdminEventsSupplier(),

View File

@ -68,6 +68,10 @@
<groupId>org.keycloak.test</groupId>
<artifactId>keycloak-test-framework-db-postgres</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak.test</groupId>
<artifactId>keycloak-test-framework-oauth-nimbus-poc</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak.test</groupId>
<artifactId>keycloak-test-framework-ui</artifactId>

View File

@ -5,12 +5,12 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.keycloak.events.EventType;
import org.keycloak.test.framework.annotations.InjectEvents;
import org.keycloak.test.framework.annotations.InjectOAuthClient;
import org.keycloak.test.framework.oauth.nimbus.annotations.InjectOAuthClient;
import org.keycloak.test.framework.ui.annotations.InjectPage;
import org.keycloak.test.framework.ui.annotations.InjectWebDriver;
import org.keycloak.test.framework.annotations.KeycloakIntegrationTest;
import org.keycloak.test.framework.events.Events;
import org.keycloak.test.framework.oauth.OAuthClient;
import org.keycloak.test.framework.oauth.nimbus.OAuthClient;
import org.keycloak.test.framework.ui.page.LoginPage;
import org.keycloak.test.framework.server.KeycloakTestServerConfig;
import org.openqa.selenium.WebDriver;

View File

@ -7,10 +7,10 @@ import com.nimbusds.oauth2.sdk.token.AccessToken;
import jakarta.ws.rs.core.Response;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.keycloak.test.framework.annotations.InjectOAuthClient;
import org.keycloak.test.framework.oauth.nimbus.annotations.InjectOAuthClient;
import org.keycloak.test.framework.annotations.InjectUser;
import org.keycloak.test.framework.annotations.KeycloakIntegrationTest;
import org.keycloak.test.framework.oauth.OAuthClient;
import org.keycloak.test.framework.oauth.nimbus.OAuthClient;
import org.keycloak.test.framework.realm.ManagedUser;
import org.keycloak.test.framework.realm.UserConfig;
import org.keycloak.test.framework.realm.UserConfigBuilder;

View File

@ -0,0 +1,50 @@
<?xml version="1.0"?>
<!--
~ Copyright 2016 Red Hat, Inc. and/or its affiliates
~ and other contributors as indicated by the @author tags.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<artifactId>keycloak-test-framework-parent</artifactId>
<groupId>org.keycloak.test</groupId>
<version>999.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>keycloak-test-framework-oauth-nimbus-poc</artifactId>
<name>Keycloak Test Framework</name>
<packaging>jar</packaging>
<description>Nimbus OAuth PoC extension for Keycloak Test Framework</description>
<properties>
<nimbus-sdk.version>11.13</nimbus-sdk.version>
</properties>
<dependencies>
<dependency>
<groupId>org.keycloak.test</groupId>
<artifactId>keycloak-test-framework-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.nimbusds</groupId>
<artifactId>oauth2-oidc-sdk</artifactId>
<version>${nimbus-sdk.version}</version>
</dependency>
</dependencies>
</project>

View File

@ -1,4 +1,4 @@
package org.keycloak.test.framework.oauth;
package org.keycloak.test.framework.oauth.nimbus;
import org.keycloak.test.framework.realm.ClientConfig;
import org.keycloak.test.framework.realm.ClientConfigBuilder;

View File

@ -0,0 +1,15 @@
package org.keycloak.test.framework.oauth.nimbus;
import org.keycloak.test.framework.TestFrameworkExtension;
import org.keycloak.test.framework.injection.Supplier;
import java.util.List;
public class NimbusTestFrameworkExtension implements TestFrameworkExtension {
@Override
public List<Supplier<?, ?>> suppliers() {
return List.of(new OAuthClientSupplier());
}
}

View File

@ -1,4 +1,4 @@
package org.keycloak.test.framework.oauth;
package org.keycloak.test.framework.oauth.nimbus;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;

View File

@ -1,4 +1,4 @@
package org.keycloak.test.framework.oauth;
package org.keycloak.test.framework.oauth.nimbus;
import com.nimbusds.oauth2.sdk.AuthorizationCode;
import com.nimbusds.oauth2.sdk.AuthorizationCodeGrant;

View File

@ -1,6 +1,6 @@
package org.keycloak.test.framework.oauth;
package org.keycloak.test.framework.oauth.nimbus;
import org.keycloak.test.framework.annotations.InjectOAuthClient;
import org.keycloak.test.framework.oauth.nimbus.annotations.InjectOAuthClient;
import org.keycloak.test.framework.injection.InstanceContext;
import org.keycloak.test.framework.injection.LifeCycle;
import org.keycloak.test.framework.injection.RequestedInstance;

View File

@ -1,6 +1,6 @@
package org.keycloak.test.framework.annotations;
package org.keycloak.test.framework.oauth.nimbus.annotations;
import org.keycloak.test.framework.oauth.DefaultOAuthClientConfiguration;
import org.keycloak.test.framework.oauth.nimbus.DefaultOAuthClientConfiguration;
import org.keycloak.test.framework.realm.ClientConfig;
import java.lang.annotation.ElementType;

View File

@ -0,0 +1 @@
org.keycloak.test.framework.oauth.nimbus.NimbusTestFrameworkExtension

View File

@ -40,6 +40,7 @@
<module>db-mysql</module>
<module>db-oracle</module>
<module>db-postgres</module>
<module>oauth-nimbus-poc</module>
<module>ui</module>
<module>examples</module>
</modules>