From b9861a8f5f22f983c091ede347edb46fb49b7b0d Mon Sep 17 00:00:00 2001 From: Martin Lizner Date: Sat, 8 Dec 2018 21:17:12 +0100 Subject: [PATCH] Schrodinger GUI test: fulltext search --- .../scenarios/PolyStringTests.java | 41 ++++ .../system-configuration-fulltext.xml | 211 ++++++++++++++++++ .../component/common/InputBox.java | 25 +++ 3 files changed, 277 insertions(+) create mode 100644 testing/schrodingertest/src/test/resources/configuration/objects/systemconfig/system-configuration-fulltext.xml create mode 100644 tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/component/common/InputBox.java diff --git a/testing/schrodingertest/src/test/java/com/evolveum/midpoint/testing/schrodinger/scenarios/PolyStringTests.java b/testing/schrodingertest/src/test/java/com/evolveum/midpoint/testing/schrodinger/scenarios/PolyStringTests.java index 7cec4a14ba5..c5a10098e5f 100644 --- a/testing/schrodingertest/src/test/java/com/evolveum/midpoint/testing/schrodinger/scenarios/PolyStringTests.java +++ b/testing/schrodingertest/src/test/java/com/evolveum/midpoint/testing/schrodinger/scenarios/PolyStringTests.java @@ -6,6 +6,7 @@ import org.testng.Assert; import org.testng.annotations.Test; import com.evolveum.midpoint.testing.schrodinger.TestBase; +import java.io.File; /** * Created by matus on 5/21/2018. @@ -19,8 +20,18 @@ public class PolyStringTests extends TestBase { private static final String TEST_USER_JOZKO_FULL_NAME = "Jožko Jörg Nguyễn Trißtan Guðmund Mrkvička"; private static final String TEST_USER_JOZKO_ADDITIONAL_NAME = "Jörg Nguyễn Trißtan Guðmund "; + private static final String INIT_BASIC_CONFIG_DEPENDENCY = "turnOnFullTextSearch"; private static final String CREATE_USER_WITH_DIACRITIC_DEPENDENCY = "createUserWithDiacritic"; + private static final String SEARCH_USER_WITH_DIACRITIC_DEPENDENCY = "searchForUserWithDiacritic"; + + private static final File SYSTEM_CONFIGURATION_FULLTEXT_FILE = new File("./src/test/resources/configuration/objects/systemconfig/system-configuration-fulltext.xml"); + @Test + public void turnOnFullTextSearch(){ + importObject(SYSTEM_CONFIGURATION_FULLTEXT_FILE,true); + } + + @Test (dependsOnMethods = INIT_BASIC_CONFIG_DEPENDENCY) public void createUserWithDiacritic(){ UserPage user = basicPage.newUser(); @@ -66,6 +77,36 @@ public void searchForUserWithDiacritic(){ .and() .currentTableContains(TEST_USER_JOZKO_NAME) ); + + } + + @Test (dependsOnMethods = {SEARCH_USER_WITH_DIACRITIC_DEPENDENCY}) + public void fullTextSearchForUserWithDiacritic(){ + + ListUsersPage usersPage = basicPage.listUsers(); + + Assert.assertTrue( + usersPage + .table() + .search() + .byFullText() + .inputValue(TEST_USER_JOZKO_NAME) + .pressEnter() + .and() + .currentTableContains(TEST_USER_JOZKO_NAME) + ); + + Assert.assertTrue( + usersPage + .table() + .search() + .byFullText() + .inputValue(TEST_USER_JOZKO_NAME_NO_DIAC) + .pressEnter() + .and() + .currentTableContains(TEST_USER_JOZKO_NAME) + ); + } } diff --git a/testing/schrodingertest/src/test/resources/configuration/objects/systemconfig/system-configuration-fulltext.xml b/testing/schrodingertest/src/test/resources/configuration/objects/systemconfig/system-configuration-fulltext.xml new file mode 100644 index 00000000000..f82c69ed477 --- /dev/null +++ b/testing/schrodingertest/src/test/resources/configuration/objects/systemconfig/system-configuration-fulltext.xml @@ -0,0 +1,211 @@ + + + + SystemConfiguration + + + + + + + ERROR + ro.isdc.wro.extensions.processor.css.Less4jProcessor + + + + OFF + org.hibernate.engine.jdbc.spi.SqlExceptionHelper + + + + OFF + org.hibernate.engine.jdbc.batch.internal.BatchingBatch + + + + WARN + org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl + + + + OFF + org.hibernate.internal.ExceptionMapperStandardImpl + + + + OFF + net.sf.jasperreports.engine.fill.JRFillDataset + + + + WARN + org.apache.wicket.resource.PropertiesFactory + + + + ERROR + org.springframework.context.support.ResourceBundleMessageSource + + + + INFO + com.evolveum.midpoint.model.impl.lens.projector.Projector + + + + INFO + com.evolveum.midpoint.model.impl.lens.Clockwork + + + + %date [%X{subsystem}] [%thread] %level \(%logger\): %msg%n + ${midpoint.home}/log/midpoint.log + ${midpoint.home}/log/midpoint-%d{yyyy-MM-dd}.%i.log + 10 + 100MB + true + + + + %date %level: %msg%n + ${midpoint.home}/log/midpoint-profile.log + ${midpoint.home}/log/midpoint-profile-%d{yyyy-MM-dd}.%i.log + 10 + 100MB + true + + MIDPOINT_LOG + INFO + + false +
false
+
+
+ + + P3M + + + P1M + + + + + /self/profile + + View/edit your profile + + fa fa-user + + green + http://midpoint.evolveum.com/xml/ns/public/security/authorization-ui-3#selfProfile + http://midpoint.evolveum.com/xml/ns/public/security/authorization-ui-3#selfAll + + + /self/credentials + + View/edit your credentials + + fa fa-shield + + blue + http://midpoint.evolveum.com/xml/ns/public/security/authorization-ui-3#selfCredentials + http://midpoint.evolveum.com/xml/ns/public/security/authorization-ui-3#selfAll + + + /admin/users + + + fa fa-users + + red + http://midpoint.evolveum.com/xml/ns/public/security/authorization-ui-3#users + + + /admin/resources + + + fa fa-database + + purple + http://midpoint.evolveum.com/xml/ns/public/security/authorization-ui-3#resources + + true + + + true + + + + name + description + + + UserType + fullName + givenName + familyName + additionalName + nickName + emailAddress + telephoneNumber + honorificPrefix + honorificSuffix + title + employeeNumber + employeeType + costCenter + organization + organizationalUnit + locality + + + AbstractRoleType + displayName + identifier + + + RoleType + roleType + + + OrgType + orgType + costCenter + locality + mailDomain + + + ServiceType + serviceType + locality + + +
\ No newline at end of file diff --git a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/component/common/InputBox.java b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/component/common/InputBox.java new file mode 100644 index 00000000000..f548bd4196b --- /dev/null +++ b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/component/common/InputBox.java @@ -0,0 +1,25 @@ +package com.evolveum.midpoint.schrodinger.component.common; + +import com.codeborne.selenide.SelenideElement; +import com.evolveum.midpoint.schrodinger.component.Component; + +/** + * Created by martin.lizner on 12/08/2018. + */ +public class InputBox extends Component { + public InputBox(T parent, SelenideElement parentElement) { + super(parent, parentElement); + } + + public InputBox inputValue(String input) { + getParentElement().setValue(input); + + return this; + } + + public T pressEnter() { + getParentElement().pressEnter(); + + return this.getParent(); + } +}