keycloak-aplcache
Changes
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/ActionUtil.java 64(+64 -0)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/DummyRequiredActionFactory.java 0(+0 -0)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionEmailVerificationTest.java 94(+35 -59)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionMultipleActionsTest.java 50(+14 -36)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionResetPasswordTest.java 55(+16 -39)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionTotpSetupTest.java 201(+76 -125)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionUpdateProfileTest.java 49(+15 -34)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/TermsAndConditionsTest.java 57(+22 -35)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AssertEvents.java 5(+5 -0)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmBuilder.java 30(+30 -0)
Details
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/ActionUtil.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/ActionUtil.java
new file mode 100644
index 0000000..3b984a7
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/ActionUtil.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2016 Red Hat Inc. and/or its affiliates and other contributors
+ * as indicated by the @author tags. All rights reserved.
+ *
+ * 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.
+ */
+
+package org.keycloak.testsuite.actions;
+
+import java.util.LinkedList;
+import java.util.List;
+import org.keycloak.admin.client.Keycloak;
+import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.representations.idm.RequiredActionProviderRepresentation;
+import org.keycloak.representations.idm.UserRepresentation;
+import org.keycloak.testsuite.util.UserBuilder;
+
+/**
+ *
+ * @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
+ */
+public class ActionUtil {
+
+ public static UserRepresentation findUserInRealmRep(RealmRepresentation testRealm, String username) {
+ for (UserRepresentation rep : testRealm.getUsers()) {
+ if (rep.getUsername().equals(username)) return rep;
+ }
+
+ return null;
+ }
+
+ public static UserRepresentation findUserWithAdminClient(Keycloak adminClient, String username) {
+ return adminClient.realm("test").users().search(username, null, null, null, 0, 1).get(0);
+ }
+
+ public static void addRequiredActionForUser(RealmRepresentation testRealm, String userName, String action) {
+ UserRepresentation user = findUserInRealmRep(testRealm, userName);
+ UserBuilder.edit(user).requiredAction(action);
+ }
+
+ public static void addRequiredActionForRealm(RealmRepresentation testRealm, String providerId) {
+ List<RequiredActionProviderRepresentation> requiredActions = testRealm.getRequiredActions();
+ if (requiredActions == null) requiredActions = new LinkedList();
+
+ RequiredActionProviderRepresentation action = new RequiredActionProviderRepresentation();
+ action.setAlias(providerId);
+ action.setProviderId(providerId);
+ action.setEnabled(true);
+ action.setDefaultAction(true);
+
+ requiredActions.add(action);
+ testRealm.setRequiredActions(requiredActions);
+ }
+}
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AssertEvents.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AssertEvents.java
index 69e4a4c..187cc37 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AssertEvents.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AssertEvents.java
@@ -77,6 +77,11 @@ public class AssertEvents implements TestRule {
return event;
}
+ public void assertEmpty() {
+ EventRepresentation event = fetchNextEvent();
+ Assert.assertNull("Empty event queue expected, but there is " + event, event);
+ }
+
public void clear() {
Response res = context.testingClient.testing().clearQueue();
try {
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmBuilder.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmBuilder.java
index d40a084..0283b65 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmBuilder.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmBuilder.java
@@ -92,6 +92,36 @@ public class RealmBuilder {
return this;
}
+ public RealmBuilder otpLookAheadWindow(int i) {
+ rep.setOtpPolicyLookAheadWindow(i);
+ return this;
+ }
+
+ public RealmBuilder otpDigits(int i) {
+ rep.setOtpPolicyDigits(i);
+ return this;
+ }
+
+ public RealmBuilder otpPeriod(int i) {
+ rep.setOtpPolicyPeriod(i);
+ return this;
+ }
+
+ public RealmBuilder otpType(String type) {
+ rep.setOtpPolicyType(type);
+ return this;
+ }
+
+ public RealmBuilder otpAlgorithm(String algorithm) {
+ rep.setOtpPolicyAlgorithm(algorithm);
+ return this;
+ }
+
+ public RealmBuilder otpInitialCounter(int i) {
+ rep.setOtpPolicyInitialCounter(i);
+ return this;
+ }
+
public RealmRepresentation build() {
return rep;
}
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/UserBuilder.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/UserBuilder.java
index 21dcc0e..2696833 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/UserBuilder.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/UserBuilder.java
@@ -109,6 +109,14 @@ public class UserBuilder {
return this;
}
+ public UserBuilder requiredAction(String requiredAction) {
+ if (rep.getRequiredActions() == null) {
+ rep.setRequiredActions(new LinkedList<String>());
+ }
+ rep.getRequiredActions().add(requiredAction);
+ return this;
+ }
+
public UserBuilder serviceAccountId(String serviceAccountId) {
rep.setServiceAccountClientId(serviceAccountId);
return this;