KEYCLOAK-8347 Welcome page test migration clean up
This commit is contained in:
parent
3a105cf9e9
commit
92567d5a77
4 changed files with 0 additions and 230 deletions
|
@ -384,21 +384,6 @@ mvn -f testsuite/integration-arquillian/tests/other/base-ui/pom.xml \
|
|||
-Dappium.avd=Nexus_5X_API_27
|
||||
```
|
||||
|
||||
## Welcome Page tests
|
||||
The Welcome Page tests need to be run on WildFly/EAP. So that they are disabled by default and are meant to be run separately.
|
||||
|
||||
|
||||
# Prepare servers
|
||||
mvn -f testsuite/integration-arquillian/servers/pom.xml \
|
||||
clean install \
|
||||
-Pauth-server-wildfly
|
||||
|
||||
# Run tests
|
||||
mvn -f testsuite/integration-arquillian/tests/other/welcome-page/pom.xml \
|
||||
clean test \
|
||||
-Pauth-server-wildfly
|
||||
|
||||
|
||||
## Social Login
|
||||
The social login tests require setup of all social networks including an example social user. These details can't be
|
||||
shared as it would result in the clients and users eventually being blocked. By default these tests are skipped.
|
||||
|
|
|
@ -156,12 +156,6 @@
|
|||
<module>server-config-migration</module>
|
||||
</modules>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>welcome-page</id>
|
||||
<modules>
|
||||
<module>welcome-page</module>
|
||||
</modules>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>base-ui</id>
|
||||
<modules>
|
||||
|
|
|
@ -1,71 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Copyright 2018 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/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>integration-arquillian-tests-other</artifactId>
|
||||
<groupId>org.keycloak.testsuite</groupId>
|
||||
<version>6.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>integration-arquillian-tests-welcome-page</artifactId>
|
||||
|
||||
<name>Welcome Page tests</name>
|
||||
|
||||
<properties>
|
||||
<browser>phantomjs</browser>
|
||||
<skip.add.user.json>true</skip.add.user.json>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<configuration>
|
||||
<systemProperties>
|
||||
<pageload.timeout>60000</pageload.timeout> <!-- accessing through external IP could be slow -->
|
||||
</systemProperties>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-enforcer-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>enforce</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<rules>
|
||||
<requireProperty>
|
||||
<property>auth.server</property>
|
||||
<regex>(wildfly)|(eap)</regex>
|
||||
<regexMessage>Tests require activation of profile "auth-server-wildfly" or "auth-server-eap".</regexMessage>
|
||||
</requireProperty>
|
||||
</rules>
|
||||
<fail>true</fail>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
|
@ -1,138 +0,0 @@
|
|||
/*
|
||||
* Copyright 2017 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.welcomepage;
|
||||
|
||||
import org.jboss.arquillian.graphene.page.Page;
|
||||
import org.junit.After;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.FixMethodOrder;
|
||||
import org.junit.Test;
|
||||
import org.junit.runners.MethodSorters;
|
||||
import org.keycloak.representations.idm.RealmRepresentation;
|
||||
import org.keycloak.testsuite.AbstractKeycloakTest;
|
||||
import org.keycloak.testsuite.auth.page.WelcomePage;
|
||||
import org.keycloak.testsuite.auth.page.login.OIDCLogin;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.net.NetworkInterface;
|
||||
import java.net.URL;
|
||||
import java.util.Collections;
|
||||
import java.util.Enumeration;
|
||||
import java.util.List;
|
||||
|
||||
import static org.keycloak.testsuite.util.URLUtils.navigateToUri;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
public class WelcomePageTest extends AbstractKeycloakTest {
|
||||
|
||||
@Page
|
||||
private WelcomePage welcomePage;
|
||||
|
||||
@Page
|
||||
protected OIDCLogin loginPage;
|
||||
|
||||
@Override
|
||||
public void addTestRealms(List<RealmRepresentation> testRealms) {
|
||||
// no operation
|
||||
}
|
||||
|
||||
/*
|
||||
* Leave out client initialization and creation of a user account. We
|
||||
* don't need those.
|
||||
*/
|
||||
@Before
|
||||
@Override
|
||||
public void beforeAbstractKeycloakTest() {
|
||||
setDefaultPageUriParameters();
|
||||
}
|
||||
|
||||
@After
|
||||
@Override
|
||||
public void afterAbstractKeycloakTest() {
|
||||
// no need for this either
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempt to resolve the floating IP address. This is where EAP/WildFly
|
||||
* will be accessible. See "-Djboss.bind.address=0.0.0.0".
|
||||
*
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
private String getFloatingIpAddress() throws Exception {
|
||||
Enumeration<NetworkInterface> netInterfaces = NetworkInterface.getNetworkInterfaces();
|
||||
for (NetworkInterface ni : Collections.list(netInterfaces)) {
|
||||
Enumeration<InetAddress> inetAddresses = ni.getInetAddresses();
|
||||
for (InetAddress a : Collections.list(inetAddresses)) {
|
||||
if (!a.isLoopbackAddress() && a.isSiteLocalAddress()) {
|
||||
return a.getHostAddress();
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private URL getPublicServerUrl() throws Exception {
|
||||
String floatingIp = getFloatingIpAddress();
|
||||
if (floatingIp == null) {
|
||||
throw new RuntimeException("Could not determine floating IP address.");
|
||||
}
|
||||
return new URL("http", floatingIp, welcomePage.getInjectedUrl().getPort(), "");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_1_LocalAccessNoAdmin() throws Exception {
|
||||
welcomePage.navigateTo();
|
||||
Assert.assertFalse("Welcome page did not ask to create a new admin user.", welcomePage.isPasswordSet());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_2_RemoteAccessNoAdmin() throws Exception {
|
||||
navigateToUri(getPublicServerUrl().toString());
|
||||
Assert.assertFalse("Welcome page did not ask to create a new admin user.", welcomePage.isPasswordSet());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_3_LocalAccessWithAdmin() throws Exception {
|
||||
welcomePage.navigateTo();
|
||||
welcomePage.setPassword("admin", "admin");
|
||||
Assert.assertTrue(driver.getPageSource().contains("User created"));
|
||||
|
||||
welcomePage.navigateTo();
|
||||
Assert.assertTrue("Welcome page asked to set admin password.", welcomePage.isPasswordSet());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_4_RemoteAccessWithAdmin() throws Exception {
|
||||
navigateToUri(getPublicServerUrl().toString());
|
||||
Assert.assertTrue("Welcome page asked to set admin password.", welcomePage.isPasswordSet());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_5_AccessCreatedAdminAccount() throws Exception {
|
||||
welcomePage.navigateToAdminConsole();
|
||||
loginPage.form().login("admin", "admin");
|
||||
Assert.assertFalse("Login with 'admin:admin' failed",
|
||||
driver.getPageSource().contains("Invalid username or password."));
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue