diff --git a/build.pipeline b/build.pipeline
index 6d6a08e..ceaee6d 100644
--- a/build.pipeline
+++ b/build.pipeline
@@ -2,6 +2,7 @@ javaBuildPipeline(
'kc-cloudtrust-parent',
[
[name: 'cloudtrust-parent', path: '.'],
+ [name: 'cloudtrust-bom', path: './cloudtrust-bom'],
[name: 'cloudtrust-test-tools', path: './cloudtrust-test-tools'],
[name: 'cloudtrust-common', path: './cloudtrust-common'],
[name: 'kc-cloudtrust-common', path: './kc-cloudtrust-module/kc-cloudtrust-common', pom: './kc-cloudtrust-module/pom.xml'],
diff --git a/cloudtrust-bom/pom.xml b/cloudtrust-bom/pom.xml
new file mode 100644
index 0000000..bb5dc6a
--- /dev/null
+++ b/cloudtrust-bom/pom.xml
@@ -0,0 +1,81 @@
+
+ 4.0.0
+
+
+ io.cloudtrust
+ cloudtrust-parent
+ 26.1.0-SNAPSHOT
+
+
+ cloudtrust-bom
+ pom
+ cloudtrust-bom
+ BOM exposing Cloudtrust managed dependencies and third-party versions
+
+
+
+ 26.2.4
+ 21
+ 2.18.2
+ 2.18.2
+ 1.2.1
+ 5.11.3
+ 1.11.3
+ 1.3
+ 0.8.12
+ 4.8.6
+ 7.6.8
+ 1.13.0
+ 11.1.1
+
+ 1.10.0
+ 4.4
+ 9.0.4
+ 5.14.2
+ 3.14.0
+ 7.9.Final
+ 2.0.2.Final
+ 1.12.1
+
+ 2.5.4
+ 1.0.0.Final
+ 2.18.2
+ 3.4.1.Final
+ 2.0.16
+ 2.1.2
+ 4.25.0
+ 6.1.0
+ 2.3.18.Final
+
+
+
+
+
+ io.cloudtrust
+ cloudtrust-common
+ ${cloudtrust.version}
+ provided
+
+
+ io.cloudtrust
+ kc-cloudtrust-common
+ ${cloudtrust.version}
+ provided
+
+
+ io.cloudtrust
+ cloudtrust-test-tools
+ ${cloudtrust.version}
+ test
+
+
+ io.cloudtrust
+ kc-cloudtrust-test-tools
+ ${cloudtrust.version}
+ test
+
+
+
+
diff --git a/cloudtrust-common/pom.xml b/cloudtrust-common/pom.xml
index efd75ce..fb2ae1b 100644
--- a/cloudtrust-common/pom.xml
+++ b/cloudtrust-common/pom.xml
@@ -4,7 +4,7 @@
io.cloudtrust
cloudtrust-parent
- 26.0.10-SNAPSHOT
+ 26.1.0-SNAPSHOT
cloudtrust-common
diff --git a/cloudtrust-test-tools/pom.xml b/cloudtrust-test-tools/pom.xml
index e3c43f9..7c1598c 100644
--- a/cloudtrust-test-tools/pom.xml
+++ b/cloudtrust-test-tools/pom.xml
@@ -4,7 +4,7 @@
io.cloudtrust
cloudtrust-parent
- 26.0.10-SNAPSHOT
+ 26.1.0-SNAPSHOT
cloudtrust-test-tools
diff --git a/kc-cloudtrust-module/kc-cloudtrust-common/pom.xml b/kc-cloudtrust-module/kc-cloudtrust-common/pom.xml
index 3bc25b3..8692861 100644
--- a/kc-cloudtrust-module/kc-cloudtrust-common/pom.xml
+++ b/kc-cloudtrust-module/kc-cloudtrust-common/pom.xml
@@ -3,7 +3,7 @@
io.cloudtrust
kc-cloudtrust-module
- 26.0.10-SNAPSHOT
+ 26.1.0-SNAPSHOT
kc-cloudtrust-common
diff --git a/kc-cloudtrust-module/pom.xml b/kc-cloudtrust-module/pom.xml
index 6c9acf6..e93add1 100644
--- a/kc-cloudtrust-module/pom.xml
+++ b/kc-cloudtrust-module/pom.xml
@@ -3,7 +3,7 @@
io.cloudtrust
kc-cloudtrust-module
- 26.0.10-SNAPSHOT
+ 26.1.0-SNAPSHOT
Parent for keycloak modules
pom
@@ -12,6 +12,7 @@
+ 26.1.0-SNAPSHOT
26.2.4
1.10.0
4.4
@@ -72,12 +73,12 @@
io.cloudtrust
cloudtrust-common
- ${project.version}
+ ${cloudtrust.version}
io.cloudtrust
kc-cloudtrust-common
- ${project.version}
+ ${cloudtrust.version}
org.keycloak
diff --git a/kc-cloudtrust-testsuite/kc-cloudtrust-db-access/pom.xml b/kc-cloudtrust-testsuite/kc-cloudtrust-db-access/pom.xml
index 563fb7f..fdec70b 100644
--- a/kc-cloudtrust-testsuite/kc-cloudtrust-db-access/pom.xml
+++ b/kc-cloudtrust-testsuite/kc-cloudtrust-db-access/pom.xml
@@ -5,7 +5,7 @@
io.cloudtrust
kc-cloudtrust-testsuite
- 26.0.10-SNAPSHOT
+ 26.1.0-SNAPSHOT
kc-cloudtrust-db-access
diff --git a/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/pom.xml b/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/pom.xml
index d9178f7..c5a44b5 100644
--- a/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/pom.xml
+++ b/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/pom.xml
@@ -5,7 +5,7 @@
io.cloudtrust
kc-cloudtrust-testsuite
- 26.0.10-SNAPSHOT
+ 26.1.0-SNAPSHOT
kc-cloudtrust-test-tools
@@ -21,6 +21,10 @@
+
+ io.cloudtrust
+ cloudtrust-common
+
org.keycloak
keycloak-services
diff --git a/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/KeycloakClientProvider.java b/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/KeycloakClientProvider.java
index 8a34680..9ef966b 100644
--- a/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/KeycloakClientProvider.java
+++ b/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/KeycloakClientProvider.java
@@ -19,6 +19,7 @@
*
* @author fpe
*/
+@Deprecated
public class KeycloakClientProvider {
private static final Logger LOG = Logger.getLogger(KeycloakClientProvider.class);
diff --git a/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/ctpages/AbstractCtPage.java b/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/ctpages/AbstractCtPage.java
index 825bc3f..b4f6429 100644
--- a/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/ctpages/AbstractCtPage.java
+++ b/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/ctpages/AbstractCtPage.java
@@ -61,8 +61,14 @@ public void assertCurrent() {
Assertions.assertTrue(isCurrent(), "Expected " + name + " but was " + driver.getTitle() + " (" + driver.getCurrentUrl() + ")");
}
+ /**
+ * Deprecated method... Use AbstractPage::isActivePage instead
+ * @return true if the current page is the expected one
+ */
+ @Deprecated
public boolean isCurrent() {
- return false;
+ var currentPageId = getCurrentPageId();
+ return currentPageId!=null && currentPageId.equals(getExpectedPageId());
}
public boolean isNotCurrent() {
@@ -77,6 +83,10 @@ public void open() {
throw new CloudtrustRuntimeException("open() not implemented");
}
+ public void open(ManagedRealm realm) {
+ this.driver.navigate().to(getLoginFormUrl(realm));
+ }
+
/**
* Navigate to a logout URL. Automatically confirm logout if necessary
*/
@@ -218,6 +228,10 @@ public static void setTextValue(WebElement input, String value) {
}
}
+ public void refresh() {
+ driver.navigate().refresh();
+ }
+
public String getCurrentUrl() {
return this.driver.getCurrentUrl();
}
diff --git a/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/ctpages/LoginPage.java b/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/ctpages/LoginPage.java
index 3d1f0f2..0ad95c6 100644
--- a/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/ctpages/LoginPage.java
+++ b/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/ctpages/LoginPage.java
@@ -2,6 +2,7 @@
import org.junit.jupiter.api.Assertions;
import org.keycloak.testframework.realm.ManagedRealm;
+import org.keycloak.testframework.realm.ManagedUser;
import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
@@ -66,6 +67,10 @@ public String getExpectedPageId() {
return null;
}
+ public void login(ManagedUser user) {
+ login(user.getUsername(), user.getPassword());
+ }
+
public void login(String username, String password) {
usernameInput.clear();
usernameInput.sendKeys(username);
@@ -142,8 +147,11 @@ public String getInfoMessage() {
@Override
public boolean isCurrent() {
- String realm = "test";
- return isCurrent(realm);
+ return isCurrent("test");
+ }
+
+ public boolean isCurrent(ManagedRealm realm) {
+ return isCurrent(realm.getName());
}
public boolean isCurrent(String realm) {
@@ -188,12 +196,9 @@ public boolean isRememberMeChecked() {
return rememberMe.isSelected();
}
+ @Override
public void open(ManagedRealm realm) {
- openLoginForm(realm);
+ super.open(realm);
assertCurrent();
}
-
- private void openLoginForm(ManagedRealm realm) {
- driver.navigate().to(getLoginFormUrl(realm));
- }
}
\ No newline at end of file
diff --git a/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/ctpages/LoginPasswordResetPage.java b/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/ctpages/LoginPasswordResetPage.java
index 27f1aa6..03cd087 100644
--- a/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/ctpages/LoginPasswordResetPage.java
+++ b/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/ctpages/LoginPasswordResetPage.java
@@ -49,7 +49,7 @@ public void changePassword(String username) {
}
@Override
- public boolean isCurrent() {
+ public boolean isActivePage() {
return getPageTitle(driver).equals("Forgot Your Password?");
}
diff --git a/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/events/EventsManager.java b/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/events/EventsManager.java
index e652b05..92812ac 100644
--- a/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/events/EventsManager.java
+++ b/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/events/EventsManager.java
@@ -17,6 +17,7 @@
import java.util.function.Consumer;
import java.util.function.Function;
+@Deprecated
public class EventsManager {
private static final Logger LOG = Logger.getLogger(EventsManager.class);
diff --git a/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/matchers/CtPageMatchers.java b/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/matchers/CtPageMatchers.java
index 792b019..8e00b58 100644
--- a/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/matchers/CtPageMatchers.java
+++ b/kc-cloudtrust-testsuite/kc-cloudtrust-test-tools/src/main/java/io/cloudtrust/keycloak/test/matchers/CtPageMatchers.java
@@ -20,14 +20,32 @@ protected AbstractCtPage convert(Object item) {
return item instanceof AbstractCtPage res ? res : null;
}
+ /**
+ * Use isActivePage instead
+ * @return
+ */
+ @Deprecated
public static BaseMatcher isCurrent() {
+ return isActivePage();
+ }
+
+ public static BaseMatcher isActivePage() {
return new CtPageMatchers(
- AbstractCtPage::isCurrent,
- p -> String.format("Current page is %s", p.getClass().getName())
+ AbstractCtPage::isActivePage,
+ p -> String.format("Current page is %s (expected %s for class %s)", p.getCurrentPageId(), p.getExpectedPageId(), p.getClass().getName())
);
}
+ /**
+ * Use isNotActivePage instead
+ * @return
+ */
+ @Deprecated
public static BaseMatcher isNotCurrent() {
+ return isNotActivePage();
+ }
+
+ public static BaseMatcher isNotActivePage() {
return new CtPageMatchers(
p -> !p.isCurrent(),
p -> String.format("Current page is %s", p.getClass().getName()),
diff --git a/kc-cloudtrust-testsuite/pom.xml b/kc-cloudtrust-testsuite/pom.xml
index f633198..4ef66fe 100644
--- a/kc-cloudtrust-testsuite/pom.xml
+++ b/kc-cloudtrust-testsuite/pom.xml
@@ -4,7 +4,7 @@
io.cloudtrust
kc-cloudtrust-module
- 26.0.10-SNAPSHOT
+ 26.1.0-SNAPSHOT
../kc-cloudtrust-module
@@ -44,10 +44,6 @@
-
- io.cloudtrust
- cloudtrust-common
-
org.slf4j
slf4j-api
@@ -138,20 +134,25 @@
+
+ io.cloudtrust
+ cloudtrust-common
+ ${cloudtrust.version}
+
io.cloudtrust
cloudtrust-test-tools
- ${project.version}
+ ${cloudtrust.version}
io.cloudtrust
kc-cloudtrust-db-access
- ${project.version}
+ ${cloudtrust.version}
io.cloudtrust
kc-cloudtrust-test-tools
- ${project.version}
+ ${cloudtrust.version}
diff --git a/pom.xml b/pom.xml
index 4dd7b54..82a8327 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
io.cloudtrust
cloudtrust-parent
- 26.0.10-SNAPSHOT
+ 26.1.0-SNAPSHOT
pom
@@ -14,6 +14,7 @@
+ cloudtrust-bom
cloudtrust-common
cloudtrust-test-tools
kc-cloudtrust-module
@@ -21,6 +22,7 @@
+ 26.1.0-SNAPSHOT
UTF-8
26.2.4
@@ -61,7 +63,7 @@
io.cloudtrust
cloudtrust-common
- ${project.version}
+ ${cloudtrust.version}