keycloak-uncached

Merge pull request #2754 from ssilvert/1.9.x-migrate-actions KEYCLOAK-2905

4/28/2016 1:44:23 AM

Changes

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;