parent
422ae0b3db
commit
4700d21298
3 changed files with 14 additions and 19 deletions
|
@ -13,8 +13,8 @@
|
||||||
<name>WebAuthn tests</name>
|
<name>WebAuthn tests</name>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<selenium.version>4.0.0</selenium.version>
|
<selenium.version>4.1.0</selenium.version>
|
||||||
<graphene.webdriver.version>3.0.0-alpha.1</graphene.webdriver.version>
|
<graphene.webdriver.version>3.0.0-alpha.2</graphene.webdriver.version>
|
||||||
<htmlunit.driver.version>3.55.0</htmlunit.driver.version>
|
<htmlunit.driver.version>3.55.0</htmlunit.driver.version>
|
||||||
<arquillian.drone.version>3.0.0-alpha.2</arquillian.drone.version>
|
<arquillian.drone.version>3.0.0-alpha.2</arquillian.drone.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
|
@ -20,17 +20,15 @@ package org.keycloak.testsuite.webauthn.pages;
|
||||||
import com.webauthn4j.data.AttestationConveyancePreference;
|
import com.webauthn4j.data.AttestationConveyancePreference;
|
||||||
import com.webauthn4j.data.AuthenticatorAttachment;
|
import com.webauthn4j.data.AuthenticatorAttachment;
|
||||||
import com.webauthn4j.data.UserVerificationRequirement;
|
import com.webauthn4j.data.UserVerificationRequirement;
|
||||||
import org.jboss.arquillian.graphene.elements.GrapheneSelect;
|
|
||||||
import org.jboss.arquillian.graphene.page.Page;
|
import org.jboss.arquillian.graphene.page.Page;
|
||||||
import org.keycloak.testsuite.console.page.authentication.Authentication;
|
import org.keycloak.testsuite.console.page.authentication.Authentication;
|
||||||
import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
|
import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
|
||||||
import org.keycloak.testsuite.console.page.idp.mappers.MultivaluedStringProperty;
|
import org.keycloak.testsuite.console.page.idp.mappers.MultivaluedStringProperty;
|
||||||
import org.keycloak.testsuite.page.AbstractPatternFlyAlert;
|
|
||||||
import org.keycloak.testsuite.webauthn.utils.PropertyRequirement;
|
import org.keycloak.testsuite.webauthn.utils.PropertyRequirement;
|
||||||
import org.openqa.selenium.NoSuchElementException;
|
import org.openqa.selenium.NoSuchElementException;
|
||||||
import org.openqa.selenium.WebElement;
|
import org.openqa.selenium.WebElement;
|
||||||
import org.openqa.selenium.support.FindBy;
|
import org.openqa.selenium.support.FindBy;
|
||||||
import org.openqa.selenium.support.ui.ISelect;
|
import org.openqa.selenium.support.ui.Select;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
@ -51,22 +49,22 @@ public class WebAuthnPolicyPage extends Authentication {
|
||||||
private WebElement rpEntityName;
|
private WebElement rpEntityName;
|
||||||
|
|
||||||
@FindBy(xpath = "//select[@id='sigalg']")
|
@FindBy(xpath = "//select[@id='sigalg']")
|
||||||
private GrapheneSelect signatureAlgorithms;
|
private Select signatureAlgorithms;
|
||||||
|
|
||||||
@FindBy(id = "rpid")
|
@FindBy(id = "rpid")
|
||||||
private WebElement rpEntityId;
|
private WebElement rpEntityId;
|
||||||
|
|
||||||
@FindBy(id = "attpref")
|
@FindBy(id = "attpref")
|
||||||
private GrapheneSelect attestationConveyancePreference;
|
private Select attestationConveyancePreference;
|
||||||
|
|
||||||
@FindBy(id = "authnatt")
|
@FindBy(id = "authnatt")
|
||||||
private GrapheneSelect authenticatorAttachment;
|
private Select authenticatorAttachment;
|
||||||
|
|
||||||
@FindBy(id = "reqresident")
|
@FindBy(id = "reqresident")
|
||||||
private GrapheneSelect requireResidentKey;
|
private Select requireResidentKey;
|
||||||
|
|
||||||
@FindBy(id = "usrverify")
|
@FindBy(id = "usrverify")
|
||||||
private GrapheneSelect userVerification;
|
private Select userVerification;
|
||||||
|
|
||||||
@FindBy(id = "timeout")
|
@FindBy(id = "timeout")
|
||||||
private WebElement timeout;
|
private WebElement timeout;
|
||||||
|
@ -106,10 +104,8 @@ public class WebAuthnPolicyPage extends Authentication {
|
||||||
|
|
||||||
/* Signature Algorithms */
|
/* Signature Algorithms */
|
||||||
|
|
||||||
public ISelect getSignatureAlgorithms() {
|
public Select getSignatureAlgorithms() {
|
||||||
GrapheneSelect select = checkElement(() -> signatureAlgorithms);
|
return checkElement(() -> signatureAlgorithms);
|
||||||
select.setIsMulti(true);
|
|
||||||
return select;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Relaying Party Entity ID */
|
/* Relaying Party Entity ID */
|
||||||
|
@ -174,7 +170,7 @@ public class WebAuthnPolicyPage extends Authentication {
|
||||||
// If parameter state is null, the requirement is considered as not set up
|
// If parameter state is null, the requirement is considered as not set up
|
||||||
public void requireResidentKey(PropertyRequirement requiresProperty) {
|
public void requireResidentKey(PropertyRequirement requiresProperty) {
|
||||||
if (requiresProperty == null) return;
|
if (requiresProperty == null) return;
|
||||||
GrapheneSelect select = checkElement(() -> requireResidentKey);
|
Select select = checkElement(() -> requireResidentKey);
|
||||||
select.selectByVisibleText(requiresProperty.getValue());
|
select.selectByVisibleText(requiresProperty.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,13 +29,12 @@ import org.keycloak.testsuite.AssertEvents;
|
||||||
import org.keycloak.testsuite.console.AbstractConsoleTest;
|
import org.keycloak.testsuite.console.AbstractConsoleTest;
|
||||||
import org.keycloak.testsuite.page.AbstractPatternFlyAlert;
|
import org.keycloak.testsuite.page.AbstractPatternFlyAlert;
|
||||||
import org.keycloak.testsuite.util.UIUtils;
|
import org.keycloak.testsuite.util.UIUtils;
|
||||||
import org.keycloak.testsuite.util.WaitUtils;
|
|
||||||
import org.keycloak.testsuite.webauthn.pages.WebAuthnPolicyPage;
|
import org.keycloak.testsuite.webauthn.pages.WebAuthnPolicyPage;
|
||||||
import org.keycloak.testsuite.webauthn.updaters.AbstractWebAuthnRealmUpdater;
|
import org.keycloak.testsuite.webauthn.updaters.AbstractWebAuthnRealmUpdater;
|
||||||
import org.keycloak.testsuite.webauthn.utils.PropertyRequirement;
|
import org.keycloak.testsuite.webauthn.utils.PropertyRequirement;
|
||||||
import org.openqa.selenium.NoSuchElementException;
|
import org.openqa.selenium.NoSuchElementException;
|
||||||
import org.openqa.selenium.WebElement;
|
import org.openqa.selenium.WebElement;
|
||||||
import org.openqa.selenium.support.ui.ISelect;
|
import org.openqa.selenium.support.ui.Select;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -155,7 +154,7 @@ public abstract class AbstractWebAuthnPolicySettingsTest extends AbstractConsole
|
||||||
getPolicyPage().navigateTo();
|
getPolicyPage().navigateTo();
|
||||||
waitForPageToLoad();
|
waitForPageToLoad();
|
||||||
|
|
||||||
ISelect selectedAlg = getPolicyPage().getSignatureAlgorithms();
|
Select selectedAlg = getPolicyPage().getSignatureAlgorithms();
|
||||||
assertThat(selectedAlg, notNullValue());
|
assertThat(selectedAlg, notNullValue());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -170,7 +169,7 @@ public abstract class AbstractWebAuthnPolicySettingsTest extends AbstractConsole
|
||||||
protected void checkSignatureAlgorithms() {
|
protected void checkSignatureAlgorithms() {
|
||||||
getPolicyPage().assertCurrent();
|
getPolicyPage().assertCurrent();
|
||||||
|
|
||||||
final ISelect algorithms = getPolicyPage().getSignatureAlgorithms();
|
final Select algorithms = getPolicyPage().getSignatureAlgorithms();
|
||||||
assertThat(algorithms, notNullValue());
|
assertThat(algorithms, notNullValue());
|
||||||
|
|
||||||
algorithms.selectByValue("ES256");
|
algorithms.selectByValue("ES256");
|
||||||
|
|
Loading…
Reference in a new issue