From 899c9f48e9ad5aa3b0874f54e3d48e616dd3da86 Mon Sep 17 00:00:00 2001 From: Stian Thorgersen Date: Tue, 19 Apr 2016 14:27:16 +0200 Subject: [PATCH] KEYCLOAK-2850 Migrate admin endpoint identity provider test --- .../java/org/keycloak/testsuite/Assert.java | 71 +++++++++++++++++++ .../testsuite/admin/IdentityProviderTest.java | 16 ++--- 2 files changed, 76 insertions(+), 11 deletions(-) create mode 100644 testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/Assert.java rename testsuite/{integration => integration-arquillian/tests/base}/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java (91%) diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/Assert.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/Assert.java new file mode 100644 index 0000000000..8ccd2cfa5f --- /dev/null +++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/Assert.java @@ -0,0 +1,71 @@ +/* + * 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. + */ + +package org.keycloak.testsuite; + +import org.keycloak.representations.idm.ClientRepresentation; +import org.keycloak.representations.idm.IdentityProviderRepresentation; +import org.keycloak.representations.idm.RealmRepresentation; + +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +import static org.junit.Assert.assertArrayEquals; + +/** + * @author Stian Thorgersen + */ +public class Assert { + + public static void assertNames(List actual, String... expected) { + Arrays.sort(expected); + String[] actualNames = names(actual); + assertArrayEquals("Expected: " + Arrays.toString(expected) + ", was: " + Arrays.toString(actualNames), expected, actualNames); + } + + private static List sort(List list) { + Collections.sort(list, new Comparator() { + @Override + public int compare(Object o1, Object o2) { + return name(o1).compareTo(name(o2)); + } + }); + return list; + } + + private static String[] names(List list) { + String[] names = new String[list.size()]; + for (int i = 0; i < list.size(); i++) { + names[i] = name(list.get(i)); + } + Arrays.sort(names); + return names; + } + + private static String name(Object o1) { + if (o1 instanceof RealmRepresentation) { + return ((RealmRepresentation) o1).getRealm(); + } else if (o1 instanceof ClientRepresentation) { + return ((ClientRepresentation) o1).getClientId(); + } else if (o1 instanceof IdentityProviderRepresentation) { + return ((IdentityProviderRepresentation) o1).getAlias(); + } + throw new IllegalArgumentException(); + } +} diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java similarity index 91% rename from testsuite/integration/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java rename to testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java index b96bc7896a..19d14f56ef 100755 --- a/testsuite/integration/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java +++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java @@ -17,33 +17,26 @@ package org.keycloak.testsuite.admin; -import org.junit.Rule; import org.junit.Test; import org.keycloak.admin.client.resource.IdentityProviderResource; import org.keycloak.representations.idm.IdentityProviderRepresentation; -import org.keycloak.testsuite.rule.WebRule; +import org.keycloak.testsuite.Assert; import javax.ws.rs.NotFoundException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; /** * @author Stian Thorgersen */ -public class IdentityProviderTest extends AbstractClientTest { - - @Rule - public WebRule webRule = new WebRule(this); +public class IdentityProviderTest extends AbstractAdminTest { @Test public void testFindAll() { realm.identityProviders().create(create("google", "google", "Google")); realm.identityProviders().create(create("facebook", "facebook", "Facebook")); - assertNames(realm.identityProviders().findAll(), "google", "facebook"); + Assert.assertNames(realm.identityProviders().findAll(), "google", "facebook"); } @Test @@ -135,4 +128,5 @@ public class IdentityProviderTest extends AbstractClientTest { return identityProviderRepresentation; } + }