This is an automated email from the ASF dual-hosted git repository.
skylark17 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/master by this push:
new 785e0fa [SYNCOPE-1421] Small fixes to the Enduser, added first UI
tests for the new Enduser
785e0fa is described below
commit 785e0fa659cbe853c81b45a571819d34a01dc64a
Author: skylark17 <[email protected]>
AuthorDate: Thu Jun 6 17:20:19 2019 +0200
[SYNCOPE-1421] Small fixes to the Enduser, added first UI tests for the new
Enduser
---
.../css/accessibility/accessibilityHC.scss | 13 ++
.../resources/ui-commons/js/accessibility.js | 8 +-
.../console/SyncopeWebApplication.properties | 2 +-
.../markup/html/form/AjaxCaptchaFieldPanel.java | 13 +-
.../syncope/client/enduser/navigation/Navbar.java | 3 +-
.../client/enduser/pages/MustChangePassword.java | 4 +-
.../apache/syncope/client/enduser/pages/Self.java | 7 +-
.../enduser/pages/SelfConfirmPasswordReset.java | 6 +-
.../client/enduser/panels/SelfPwdResetPanel.java | 5 +-
.../client/enduser/wizards/any/PlainAttrs.java | 84 ++++++++++---
.../enduser/SyncopeWebApplication.properties | 2 +-
.../client/enduser/assets/css/syncopeEnduser.scss | 4 +
.../markup/html/form/AjaxCaptchaFieldPanel.html | 4 +-
.../syncope/fit/console/AbstractTypesITCase.java | 8 +-
.../syncope/fit/console/AnyObjectsITCase.java | 2 +-
.../syncope/fit/console/AnyTypeClassesITCase.java | 8 +-
.../apache/syncope/fit/console/AnyTypesITCase.java | 6 +-
.../apache/syncope/fit/console/BatchesITCase.java | 4 +-
.../fit/console/DisplayAttributesITCase.java | 2 +-
.../apache/syncope/fit/console/GroupsITCase.java | 8 +-
.../org/apache/syncope/fit/console/LogsITCase.java | 4 +-
.../syncope/fit/console/NotificationsITCase.java | 8 +-
.../syncope/fit/console/ParametersITCase.java | 8 +-
.../apache/syncope/fit/console/PoliciesITCase.java | 36 +++---
.../apache/syncope/fit/console/RealmsITCase.java | 14 +--
.../fit/console/RelationshipTypesITCase.java | 4 +-
.../apache/syncope/fit/console/ReportsITCase.java | 6 +-
.../apache/syncope/fit/console/RolesITCase.java | 6 +-
.../apache/syncope/fit/console/SchemasITCase.java | 12 +-
.../fit/console/SecurityQuestionsITCase.java | 6 +-
.../apache/syncope/fit/console/TopologyITCase.java | 18 +--
.../apache/syncope/fit/console/UsersITCase.java | 18 +--
.../syncope/fit/enduser/AbstractEnduserITCase.java | 29 +++++
.../fit/enduser/SelfRegistrationITCase.java | 139 ++++++++++++++++++++-
.../src/test/resources/enduser.properties | 2 +-
35 files changed, 366 insertions(+), 137 deletions(-)
diff --git
a/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityHC.scss
b/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityHC.scss
index ababa93..d52aaac 100644
---
a/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityHC.scss
+++
b/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityHC.scss
@@ -297,4 +297,17 @@ div.infolabel,
.login-card {
background-color: #0f1417;
+}
+
+
+
+
+/* From Console Admin LTE
+=============================================================================
*/
+.dark-theme .callout.callout-danger, .dark-theme .callout.callout-warning,
+.dark-theme .callout.callout-info, .dark-theme .callout.callout-success,
+.dark-theme .alert-success, .dark-theme .alert-danger, .dark-theme
.label-success,
+.dark-theme .alert-error, .dark-theme .alert-warning, .dark-theme .alert-info,
.dark-theme .label-danger,
+.dark-theme .label-info, .dark-theme .label-warning, .dark-theme
.label-primary {
+ color: #fff !important;
}
\ No newline at end of file
diff --git
a/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/js/accessibility.js
b/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/js/accessibility.js
index 790e2b4..36247f7 100644
---
a/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/js/accessibility.js
+++
b/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/js/accessibility.js
@@ -1,3 +1,4 @@
+
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -99,7 +100,8 @@ $(document).ready(function () {
locationDomain + '/ui-commons/css/accessibility/accessibilityHC.css'
];
- var darkThemeMainClass = 'skin-blue';
+ var darkThemeMainClass = 'dark-theme';
+ var darkThemeSkinClass = 'skin-blue';
var defaultThemeMainClass = 'skin-green-light';
var doSwitch = function (check, files) {
@@ -118,9 +120,9 @@ $(document).ready(function () {
doSwitch(check, files);
if ($('body').hasClass(defaultThemeMainClass) && check) {
-
$('body').removeClass(defaultThemeMainClass).addClass(darkThemeMainClass);
+
$('body').removeClass(defaultThemeMainClass).addClass(darkThemeMainClass).addClass(darkThemeSkinClass);
} else {
-
$('body').removeClass(darkThemeMainClass).addClass(defaultThemeMainClass);
+
$('body').addClass(defaultThemeMainClass).removeClass(darkThemeMainClass).removeClass(darkThemeSkinClass);
}
};
diff --git
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/SyncopeWebApplication.properties
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/SyncopeWebApplication.properties
index b9826b3..fdfc2ef 100644
---
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/SyncopeWebApplication.properties
+++
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/SyncopeWebApplication.properties
@@ -23,7 +23,7 @@ reports=Reports
tasks=Tasks
logout=Logout
schema=Schema
-operation_succeeded=Operation executed successfully
+operation_succeeded=Operation successfully executed
operation_error=Error occurred during the requested operation
alert=Alert:
confirmDelete=Do you really want to delete the selected item(s)?
diff --git
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/markup/html/form/AjaxCaptchaFieldPanel.java
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/markup/html/form/AjaxCaptchaFieldPanel.java
index 40e407a..5599a45 100644
---
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/markup/html/form/AjaxCaptchaFieldPanel.java
+++
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/markup/html/form/AjaxCaptchaFieldPanel.java
@@ -20,24 +20,28 @@ package org.apache.syncope.client.enduser.markup.html.form;
import
org.apache.syncope.client.ui.commons.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
import org.apache.syncope.client.ui.commons.Constants;
-import org.apache.syncope.client.ui.commons.markup.html.form.FieldPanel;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.html.form.RequiredTextField;
+import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.validation.IValidator;
-public class AjaxCaptchaFieldPanel extends FieldPanel<String> {
+public class AjaxCaptchaFieldPanel extends Panel {
private static final long serialVersionUID = 238940918106696068L;
+ private RequiredTextField<String> field;
+
public AjaxCaptchaFieldPanel(final String id, final String name, final
IModel<String> model) {
this(id, name, model, true);
}
public AjaxCaptchaFieldPanel(
final String id, final String name, final IModel<String> model,
final boolean enableOnChange) {
- super(id, name, model);
+
+ super(id, model);
field = new RequiredTextField<String>("textField", model,
String.class) {
@@ -50,10 +54,11 @@ public class AjaxCaptchaFieldPanel extends
FieldPanel<String> {
tag.put("value", "");
}
};
+ field.setLabel(new ResourceModel(name, name));
add(field.setOutputMarkupId(true));
- if (enableOnChange && !isReadOnly()) {
+ if (enableOnChange && !field.isEnabled()) {
field.add(new
IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
private static final long serialVersionUID =
-1107858522700306810L;
diff --git
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/navigation/Navbar.java
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/navigation/Navbar.java
index 1472128..98dad64 100644
---
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/navigation/Navbar.java
+++
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/navigation/Navbar.java
@@ -24,7 +24,6 @@ import java.util.Optional;
import org.apache.syncope.client.enduser.SyncopeEnduserSession;
import org.apache.syncope.client.enduser.annotations.ExtPage;
import org.apache.syncope.client.enduser.pages.BaseExtPage;
-import org.apache.syncope.client.enduser.pages.Login;
import org.apache.syncope.client.enduser.pages.Logout;
import org.apache.syncope.client.enduser.pages.Self;
import org.apache.syncope.client.ui.commons.Constants;
@@ -103,7 +102,7 @@ public class Navbar extends Panel {
@Override
protected void onEvent(final AjaxRequestTarget target) {
- setResponsePage(Login.class);
+ setResponsePage(getApplication().getHomePage());
}
});
add(logoLinkWmc);
diff --git
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/MustChangePassword.java
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/MustChangePassword.java
index 60a0d26..5b34eb6 100644
---
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/MustChangePassword.java
+++
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/MustChangePassword.java
@@ -46,7 +46,7 @@ public class MustChangePassword extends
AbstractMustChangePassword {
final PageParameters parameters = new PageParameters();
parameters.add(Constants.NOTIFICATION_MSG_PARAM,
getString("self.pwd.change.success"));
- setResponsePage(Login.class, parameters);
+ setResponsePage(getApplication().getHomePage(), parameters);
setResponsePage(getApplication().getHomePage(), parameters);
} catch (Exception e) {
@@ -65,7 +65,7 @@ public class MustChangePassword extends
AbstractMustChangePassword {
@Override
protected void doCancel() {
- setResponsePage(Login.class);
+ setResponsePage(getApplication().getHomePage());
}
}
diff --git
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/Self.java
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/Self.java
index bebdcfe..686f2e2 100644
---
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/Self.java
+++
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/Self.java
@@ -18,7 +18,6 @@
*/
package org.apache.syncope.client.enduser.pages;
-import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.enduser.SyncopeEnduserSession;
import org.apache.syncope.client.enduser.SyncopeWebApplication;
@@ -48,8 +47,6 @@ public class Self extends BaseEnduserWebPage implements
IEventSource {
private UserWizardBuilder userWizardBuilder;
- protected static final ObjectMapper MAPPER = new ObjectMapper();
-
protected static final String WIZARD_ID = "wizard";
public Self(final PageParameters parameters) {
@@ -73,7 +70,7 @@ public class Self extends BaseEnduserWebPage implements
IEventSource {
getAttribute(Constants.BEFORE_LOGOUT_PAGE);
if (beforeLogout == null) {
SyncopeEnduserSession.get().invalidate();
- setResponsePage(Login.class);
+ setResponsePage(getApplication().getHomePage());
} else {
setResponsePage(beforeLogout);
}
@@ -82,7 +79,7 @@ public class Self extends BaseEnduserWebPage implements
IEventSource {
final PageParameters parameters = new PageParameters();
parameters.add(Constants.NOTIFICATION_MSG_PARAM,
getString("self.wizard.success"));
- setResponsePage(Login.class, parameters);
+ setResponsePage(getApplication().getHomePage(), parameters);
}
}
super.onEvent(event);
diff --git
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/SelfConfirmPasswordReset.java
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/SelfConfirmPasswordReset.java
index 6a6cb36..591f2cc 100644
---
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/SelfConfirmPasswordReset.java
+++
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/SelfConfirmPasswordReset.java
@@ -72,7 +72,7 @@ public class SelfConfirmPasswordReset extends
BaseEnduserWebPage {
if (parameters == null || parameters.get("token").isEmpty()) {
LOG.debug("No token parameter found in the request url");
parameters.add("errorMessage",
getString("self.confirm.pwd.reset.error.empty"));
- setResponsePage(Login.class, parameters);
+ setResponsePage(getApplication().getHomePage(), parameters);
}
navbar.setEnabled(false);
@@ -135,7 +135,7 @@ public class SelfConfirmPasswordReset extends
BaseEnduserWebPage {
parameters.get("token").toString(),
passwordField.getDefaultModelObjectAsString());
PageParameters parameters = new PageParameters();
parameters.add(Constants.NOTIFICATION_MSG_PARAM,
getString("self.confirm.pwd.reset.success"));
- setResponsePage(Login.class, parameters);
+ setResponsePage(getApplication().getHomePage(),
parameters);
} catch (SyncopeClientException sce) {
LOG.error("Unable to complete the 'Password Reset
Confirmation' process", sce);
SyncopeEnduserSession.get().error(StringUtils.isBlank(sce.getMessage())
@@ -159,7 +159,7 @@ public class SelfConfirmPasswordReset extends
BaseEnduserWebPage {
@Override
public void onSubmit() {
- setResponsePage(Login.class);
+ setResponsePage(getApplication().getHomePage());
}
};
diff --git
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/panels/SelfPwdResetPanel.java
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/panels/SelfPwdResetPanel.java
index 94a6ae0..8e8cb2d 100644
---
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/panels/SelfPwdResetPanel.java
+++
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/panels/SelfPwdResetPanel.java
@@ -25,7 +25,6 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.enduser.SyncopeEnduserSession;
import org.apache.syncope.client.enduser.SyncopeWebApplication;
import org.apache.syncope.client.enduser.pages.BaseEnduserWebPage;
-import org.apache.syncope.client.enduser.pages.Login;
import org.apache.syncope.client.enduser.wizards.any.CaptchaPanel;
import org.apache.syncope.client.ui.commons.Constants;
import org.apache.syncope.client.ui.commons.DomainDropDown;
@@ -170,7 +169,7 @@ public class SelfPwdResetPanel extends Panel implements
IEventSource {
requestPasswordReset(usernameText,
securityAnswerModel.getObject());
final PageParameters parameters = new PageParameters();
parameters.add(Constants.NOTIFICATION_MSG_PARAM,
getString("self.pwd.reset.success"));
- setResponsePage(Login.class, parameters);
+ setResponsePage(getApplication().getHomePage(),
parameters);
} catch (SyncopeClientException sce) {
LOG.error("Unable to reset password of [{}]",
usernameText, sce);
SyncopeEnduserSession.get().error(StringUtils.isBlank(sce.getMessage())
@@ -192,7 +191,7 @@ public class SelfPwdResetPanel extends Panel implements
IEventSource {
@Override
public void onSubmit() {
- setResponsePage(Login.class);
+ setResponsePage(getApplication().getHomePage());
}
};
diff --git
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/wizards/any/PlainAttrs.java
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/wizards/any/PlainAttrs.java
index d749fa2..ee5dcae 100644
---
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/wizards/any/PlainAttrs.java
+++
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/wizards/any/PlainAttrs.java
@@ -48,6 +48,7 @@ import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.to.AnyObjectTO;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.Attr;
+import org.apache.syncope.common.lib.Attributable;
import org.apache.syncope.common.lib.to.GroupTO;
import org.apache.syncope.common.lib.to.GroupableRelatableTO;
import org.apache.syncope.common.lib.to.MembershipTO;
@@ -64,6 +65,7 @@ import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.LoadableDetachableModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.model.ResourceModel;
@@ -113,7 +115,7 @@ public class PlainAttrs extends
AbstractAttrs<PlainSchemaTO> {
@Override
public WebMarkupContainer getPanel(final String panelId) {
- return new PlainSchemas(panelId, schemas, attrs);
+ return new PlainSchemasOwn(panelId, schemas, attrs);
}
}), Model.of(0)).setOutputMarkupId(true));
@@ -134,11 +136,20 @@ public class PlainAttrs extends
AbstractAttrs<PlainSchemaTO> {
@Override
public WebMarkupContainer getPanel(final String panelId) {
- return new PlainSchemas(
+ return new PlainSchemasMemberships(
panelId,
membershipTO.getGroupName(),
membershipSchemas.get(membershipTO.getGroupKey()),
- new ListModel<>(getAttrsFromTO(membershipTO)));
+ new LoadableDetachableModel<Attributable>() {
// SYNCOPE-1439
+
+ private static final long serialVersionUID =
526768546610546553L;
+
+ @Override
+ protected Attributable load() {
+ return membershipTO;
+ }
+
+ });
}
}), Model.of(-1)).setOutputMarkupId(true));
}
@@ -370,22 +381,67 @@ public class PlainAttrs extends
AbstractAttrs<PlainSchemaTO> {
return panel;
}
- public class PlainSchemas extends Schemas {
+ protected class PlainSchemasMemberships extends Schemas {
- private static final long serialVersionUID = -4730563859116024676L;
+ private static final long serialVersionUID = 456754923340249215L;
- public PlainSchemas(
+ public PlainSchemasMemberships(
final String id,
+ final String groupName,
final Map<String, PlainSchemaTO> schemas,
- final IModel<List<Attr>> attrTOs) {
- this(id, null, schemas, attrTOs);
+ final IModel<Attributable> attributableTO) {
+
+ super(id);
+
+ add(new ListView<Attr>("schemas",
+ new ListModel<Attr>(new ArrayList<Attr>(
+
attributableTO.getObject().getPlainAttrs().stream().sorted(attrComparator).
+ collect(Collectors.toList())))) {
+
+ private static final long serialVersionUID =
5306618783986001008L;
+
+ @Override
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ protected void populateItem(final ListItem<Attr> item) {
+ Attr attrTO = item.getModelObject();
+
+ // set default values, if any
+ if (attrTO.getValues().stream().anyMatch(value ->
StringUtils.isNotBlank(value))) {
+ attrTO.getValues().clear();
+
attrTO.getValues().addAll(getDefaultValues(attrTO.getSchema(), groupName));
+ }
+
+ AbstractFieldPanel<?> panel =
getFieldPanel(schemas.get(attrTO.getSchema()));
+
+ panel = new MultiFieldPanel.Builder<>(new
ListModel<String>() {
+
+ private static final long serialVersionUID =
-1765231556272935141L;
+
+ @Override
+ public List<String> getObject() {
+ return
attributableTO.getObject().getPlainAttr(attrTO.getSchema()).get().getValues();
+ }
+ }).build("panel",
+ attrTO.getSchema(),
+ FieldPanel.class.cast(panel));
+ // SYNCOPE-1215 the entire multifield panel must be
readonly, not only its field
+ ((MultiFieldPanel)
panel).setReadOnly(schemas.get(attrTO.getSchema()).isReadonly());
+
+ item.add(panel);
+ }
+ });
}
+ }
+
+ protected class PlainSchemasOwn extends Schemas {
- public PlainSchemas(
+ private static final long serialVersionUID = -4730563859116024676L;
+
+ public PlainSchemasOwn(
final String id,
- final String groupName,
final Map<String, PlainSchemaTO> schemas,
final IModel<List<Attr>> attrTOs) {
+
super(id);
add(new ListView<Attr>("schemas", attrTOs) {
@@ -397,13 +453,6 @@ public class PlainAttrs extends
AbstractAttrs<PlainSchemaTO> {
protected void populateItem(final ListItem<Attr> item) {
Attr attrTO = item.getModelObject();
- // set default values, if any
- if (attrTO.getValues().stream().filter(value ->
StringUtils.isNotBlank(value))
- .collect(Collectors.toList()).isEmpty()) {
- attrTO.getValues().clear();
-
attrTO.getValues().addAll(getDefaultValues(attrTO.getSchema(), groupName));
- }
-
AbstractFieldPanel<?> panel =
getFieldPanel(schemas.get(attrTO.getSchema()));
if (schemas.get(attrTO.getSchema()).isMultivalue()) {
panel = new MultiFieldPanel.Builder<>(
@@ -421,4 +470,5 @@ public class PlainAttrs extends
AbstractAttrs<PlainSchemaTO> {
});
}
}
+
}
diff --git
a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/SyncopeWebApplication.properties
b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/SyncopeWebApplication.properties
index aaf3d62..91038e7 100644
---
a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/SyncopeWebApplication.properties
+++
b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/SyncopeWebApplication.properties
@@ -23,7 +23,7 @@ reports=Reports
tasks=Tasks
logout=Logout
schema=Schema
-operation_succeeded=Operation executed successfully
+operation_succeeded=Operation successfully executed
operation_error=Error occurred during the requested operation
alert=Alert:
confirmDelete=Do you really want to delete the selected item(s)?
diff --git
a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/assets/css/syncopeEnduser.scss
b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/assets/css/syncopeEnduser.scss
index 2564679..8502a1b 100644
---
a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/assets/css/syncopeEnduser.scss
+++
b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/assets/css/syncopeEnduser.scss
@@ -173,6 +173,10 @@ body {
/*min-height: 446px;*/
min-height: 530px;
+ form {
+ height: 530px;
+ }
+
.captcha_block {
text-align: center;
padding-top: 8rem;
diff --git
a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/markup/html/form/AjaxCaptchaFieldPanel.html
b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/markup/html/form/AjaxCaptchaFieldPanel.html
index 39471d3..e71b390 100644
---
a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/markup/html/form/AjaxCaptchaFieldPanel.html
+++
b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/markup/html/form/AjaxCaptchaFieldPanel.html
@@ -17,7 +17,7 @@ specific language governing permissions and limitations
under the License.
-->
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:wicket="http://wicket.apache.org">
- <wicket:extend>
+ <wicket:panel>
<fieldset class="input-group">
<div id="captcha_text" class="captcha_elem">
<input type="text" size="27" wicket:id="textField" placeholder=""/>
@@ -26,5 +26,5 @@ under the License.
<wicket:message
key="captcha.message">[CAPTCHA_MESSAGE]</wicket:message>
</div>
</fieldset>
- </wicket:extend>
+ </wicket:panel>
</html>
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
index dbd53a1..6e4ad82 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
@@ -106,7 +106,7 @@ public abstract class AbstractTypesITCase extends
AbstractConsoleITCase {
+
"accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.submit("content:form:buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
}
@@ -124,7 +124,7 @@ public abstract class AbstractTypesITCase extends
AbstractConsoleITCase {
TESTER.clearFeedbackMessages();
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.clearFeedbackMessages();
}
@@ -141,7 +141,7 @@ public abstract class AbstractTypesITCase extends
AbstractConsoleITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.clearFeedbackMessages();
}
@@ -161,7 +161,7 @@ public abstract class AbstractTypesITCase extends
AbstractConsoleITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.clearFeedbackMessages();
TESTER.assertRenderedPage(Types.class);
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
index 6c3cf2c..9138a9c 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
@@ -114,7 +114,7 @@ public class AnyObjectsITCase extends AbstractConsoleITCase
{
assertNotNull(formTester);
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.assertComponent(TAB_PANEL
+
"outerObjectsRepeater:0:outer:form:content:customResultBody:resources:"
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypeClassesITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypeClassesITCase.java
index 272b2e5..84d5268 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypeClassesITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypeClassesITCase.java
@@ -65,7 +65,7 @@ public class AnyTypeClassesITCase extends AbstractTypesITCase
{
TESTER.clearFeedbackMessages();
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.clearFeedbackMessages();
TESTER.assertRenderedPage(Types.class);
@@ -103,7 +103,7 @@ public class AnyTypeClassesITCase extends
AbstractTypesITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
component = findComponentByProp(KEY, DATATABLE_PATH, name);
@@ -122,7 +122,7 @@ public class AnyTypeClassesITCase extends
AbstractTypesITCase {
+
"togglePanelContainer:container:actions:actions:actionRepeater:1:action:action"),
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
component = findComponentByProp(KEY, DATATABLE_PATH, name);
@@ -152,7 +152,7 @@ public class AnyTypeClassesITCase extends
AbstractTypesITCase {
+
"togglePanelContainer:container:actions:actions:actionRepeater:1:action:action"),
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
component = findComponentByProp(KEY, DATATABLE_PATH, anyTypeClassName);
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypesITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypesITCase.java
index ba213ab..8ab835b 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypesITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypesITCase.java
@@ -70,7 +70,7 @@ public class AnyTypesITCase extends AbstractTypesITCase {
TESTER.clearFeedbackMessages();
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.clearFeedbackMessages();
TESTER.assertRenderedPage(Types.class);
@@ -113,7 +113,7 @@ public class AnyTypesITCase extends AbstractTypesITCase {
TESTER.clearFeedbackMessages();
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
}
@Test
@@ -140,7 +140,7 @@ public class AnyTypesITCase extends AbstractTypesITCase {
+
"togglePanelContainer:container:actions:actions:actionRepeater:1:action:action"),
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
component = findComponentByProp(KEY, DATATABLE_PATH, name);
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BatchesITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BatchesITCase.java
index f1eb67f..d6f72a1 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BatchesITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BatchesITCase.java
@@ -165,7 +165,7 @@ public class BatchesITCase extends AbstractConsoleITCase {
+ "second:container:actions:actionRepeater:0:action:action",
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.assertLabel(TAB_PANEL +
"outerObjectsRepeater:2:outer:form:content:status:"
@@ -220,7 +220,7 @@ public class BatchesITCase extends AbstractConsoleITCase {
+ "second:container:actions:actionRepeater:1:action:action",
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.assertLabel(TAB_PANEL +
"outerObjectsRepeater:2:outer:form:content:status:"
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/DisplayAttributesITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/DisplayAttributesITCase.java
index 21cdfb6..66902e4 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/DisplayAttributesITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/DisplayAttributesITCase.java
@@ -50,7 +50,7 @@ public class DisplayAttributesITCase extends
AbstractConsoleITCase {
TESTER.clickLink("body:content:body:container:content:tabbedPanel:panel:searchResult:outerObjectsRepeater:"
+ "3:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.clearFeedbackMessages();
}
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
index df88ad5..d89eaff 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
@@ -107,7 +107,7 @@ public class GroupsITCase extends AbstractConsoleITCase {
formTester.setValue("view:name:textField", group + "_clone");
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.clickLink(TAB_PANEL +
"outerObjectsRepeater:0:outer:form:content:action:actionRepeater:0:action:action");
@@ -134,7 +134,7 @@ public class GroupsITCase extends AbstractConsoleITCase {
+
"outerObjectsRepeater:1:outer:container:content:togglePanelContainer:container:"
+ "actions:actions:actionRepeater:9:action:action"),
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
}
@@ -200,7 +200,7 @@ public class GroupsITCase extends AbstractConsoleITCase {
assertNotNull(formTester);
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.assertComponent(TAB_PANEL
@@ -223,7 +223,7 @@ public class GroupsITCase extends AbstractConsoleITCase {
+
"outerObjectsRepeater:1:outer:container:content:togglePanelContainer:container:"
+ "actions:actions:actionRepeater:9:action:action"),
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
}
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java
index b164e28..5cf9eaa 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java
@@ -68,7 +68,7 @@ public class LogsITCase extends AbstractConsoleITCase {
TESTER.executeAjaxEvent(
result.getPageRelativePath() +
":fields:1:field:dropDownChoiceField", Constants.ON_CHANGE);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
}
@Test
@@ -93,7 +93,7 @@ public class LogsITCase extends AbstractConsoleITCase {
TESTER.executeAjaxEvent(
result.getPageRelativePath() +
":fields:1:field:dropDownChoiceField", Constants.ON_CHANGE);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
}
private Component searchLog(final String property, final String
searchPath, final String key) {
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/NotificationsITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/NotificationsITCase.java
index a402bf8..58e4c7d 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/NotificationsITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/NotificationsITCase.java
@@ -102,7 +102,7 @@ public class NotificationsITCase extends
AbstractConsoleITCase {
TESTER.cleanupFeedbackMessages();
formTester.submit("content:form:buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.clickLink("body:configurationLI:configurationUL:notificationsLI:notifications");
@@ -134,7 +134,7 @@ public class NotificationsITCase extends
AbstractConsoleITCase {
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
formTester.submit("content:form:buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
}
@@ -165,7 +165,7 @@ public class NotificationsITCase extends
AbstractConsoleITCase {
+
"firstLevelContainer:first:outerObjectsRepeater:1:outer:container:content:togglePanelContainer:"
+ "container:actions:actions:actionRepeater:3:action:action");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.clickLink("body:configurationLI:configurationUL:notificationsLI:notifications");
@@ -218,7 +218,7 @@ public class NotificationsITCase extends
AbstractConsoleITCase {
+
"togglePanelContainer:container:actions:actions:actionRepeater:2:action:action"),
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
assertNull(findComponentByProp("Subject",
"body:content:tabbedPanel:panel:container:content:"
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ParametersITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ParametersITCase.java
index c0fa456..589993a 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ParametersITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ParametersITCase.java
@@ -61,7 +61,7 @@ public class ParametersITCase extends AbstractConsoleITCase {
formTester.submit("content:parametersCreateWizardPanel:form:buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.assertRenderedPage(Parameters.class);
@@ -87,7 +87,7 @@ public class ParametersITCase extends AbstractConsoleITCase {
formTester.submit("content:parametersCreateWizardPanel:form:buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.assertRenderedPage(Parameters.class);
@@ -110,7 +110,7 @@ public class ParametersITCase extends AbstractConsoleITCase
{
formTester.submit("content:parametersCreateWizardPanel:form:buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
Component result = findComponentByProp(SCHEMA,
"body:content:parametersPanel", "deleteParam");
@@ -120,7 +120,7 @@ public class ParametersITCase extends AbstractConsoleITCase
{
TESTER.clickLink("body:content:parametersPanel:outerObjectsRepeater:1:outer:container:content:"
+
"togglePanelContainer:container:actions:actions:actionRepeater:1:action:action");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
}
}
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/PoliciesITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/PoliciesITCase.java
index 0ebf086..178597f 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/PoliciesITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/PoliciesITCase.java
@@ -59,7 +59,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
closeCallBack(modal);
@@ -112,7 +112,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
closeCallBack(modal);
@@ -158,7 +158,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit",
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
closeCallBack(modal);
@@ -201,7 +201,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
+
"togglePanelContainer:container:actions:actions:actionRepeater:3:action:action"),
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
assertNull(findComponentByProp("description",
"body:content:tabbedPanel:panel:container:content:"
@@ -225,7 +225,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
+
"togglePanelContainer:container:actions:actions:actionRepeater:3:action:action"),
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
assertNull(findComponentByProp("description",
"body:content:tabbedPanel:panel:container:content:"
@@ -249,7 +249,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
+
"togglePanelContainer:container:actions:actions:actionRepeater:3:action:action"),
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
assertNull(findComponentByProp("description",
"body:content:tabbedPanel:panel:container:content:"
@@ -294,7 +294,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
closeCallBack(modal);
@@ -342,7 +342,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
closeCallBack(modal);
@@ -390,7 +390,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
closeCallBack(modal);
@@ -431,7 +431,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
closeCallBack(modal);
@@ -482,7 +482,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
+ "outer:form:content:container:content:wizard:form");
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.clickLink(
@@ -524,7 +524,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
closeCallBack(modal);
@@ -579,7 +579,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
+ "outer:form:content:container:content:wizard:form");
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.clickLink(
@@ -615,7 +615,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
closeCallBack(modal);
@@ -677,7 +677,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:5:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
closeCallBack(modal);
@@ -710,7 +710,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
formTester.select("view:details:container:accountPolicy:dropDownChoiceField",
0);
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.executeAjaxEvent(
@@ -762,7 +762,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
formTester.setValue("view:plainSchemas:tabs:0:body:content:schemas:14:panel:textField",
"[email protected]");
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.clickLink("body:content:body:container:content:tabbedPanel:panel:searchResult:"
@@ -787,7 +787,7 @@ public class PoliciesITCase extends AbstractConsoleITCase {
+
"1:outer:container:content:togglePanelContainer:container:actions:actions:actionRepeater:8:"
+ "action:action"), Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
component = findComponentByProp("username",
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RealmsITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RealmsITCase.java
index 371e24d..58e09c7 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RealmsITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RealmsITCase.java
@@ -56,7 +56,7 @@ public class RealmsITCase extends AbstractConsoleITCase {
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.executeAjaxEvent("body:content:body:outerObjectsRepeater:0:outer:form:content:action:actionRepeater:"
@@ -75,7 +75,7 @@ public class RealmsITCase extends AbstractConsoleITCase {
TESTER.clickLink(
"body:content:body:container:content:tabbedPanel:panel:actions:actions:actionRepeater:3:action:action");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.assertLabel("body:content:body:container:content:tabbedPanel:panel:container:accountPolicy:field-label",
@@ -94,7 +94,7 @@ public class RealmsITCase extends AbstractConsoleITCase {
"body:content:body:outerObjectsRepeater:0:outer:form:content:form");
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.executeAjaxEvent("body:content:body:outerObjectsRepeater:0:outer:form:content:action:actionRepeater:"
@@ -124,7 +124,7 @@ public class RealmsITCase extends AbstractConsoleITCase {
formTester.setValue("view:username:textField", "'k' + firstname");
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.assertLabel("body:content:realmChoicePanel:container:realm",
"/odd");
@@ -147,7 +147,7 @@ public class RealmsITCase extends AbstractConsoleITCase {
formTester.setValue("view:username:textField", "");
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
}
@@ -169,7 +169,7 @@ public class RealmsITCase extends AbstractConsoleITCase {
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
// ----------------------------------
@@ -215,7 +215,7 @@ public class RealmsITCase extends AbstractConsoleITCase {
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
// ----------------------------------
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypesITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypesITCase.java
index 4e27563..c82eaed 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypesITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypesITCase.java
@@ -82,7 +82,7 @@ public class RelationshipTypesITCase extends
AbstractTypesITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
}
@Test
@@ -107,7 +107,7 @@ public class RelationshipTypesITCase extends
AbstractTypesITCase {
"body:content:tabbedPanel:panel:outerObjectsRepeater:1:outer:container:content:"
+
"togglePanelContainer:container:actions:actions:actionRepeater:1:action:action"),
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
result = findComponentByProp(KEY, DATATABLE_PATH, name);
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ReportsITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ReportsITCase.java
index d5d199a..511a0df 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ReportsITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ReportsITCase.java
@@ -58,7 +58,7 @@ public class ReportsITCase extends AbstractConsoleITCase {
"body:content:tabbedPanel:panel:firstLevelContainer:first:outerObjectsRepeater:0:outer:form");
formTester.submit("content:form:buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.clickLink("body:reportsLI:reports");
@@ -83,7 +83,7 @@ public class ReportsITCase extends AbstractConsoleITCase {
+
"container:content:togglePanelContainer:container:actions:actions:actionRepeater:5:action:action"),
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
assertNull(findComponentByProp(
@@ -150,7 +150,7 @@ public class ReportsITCase extends AbstractConsoleITCase {
"body:content:tabbedPanel:panel:firstLevelContainer:first:outerObjectsRepeater:0:outer:form");
formTester.submit("content:form:buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
delete("updateReport");
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RolesITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RolesITCase.java
index 054c78f..e7b3f1d 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RolesITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RolesITCase.java
@@ -62,7 +62,7 @@ public class RolesITCase extends AbstractConsoleITCase {
formTester =
TESTER.newFormTester("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
formTester.submit("content:form:buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.clickLink("body:configurationLI:configurationUL:securityLI:security");
@@ -123,7 +123,7 @@ public class RolesITCase extends AbstractConsoleITCase {
formTester =
TESTER.newFormTester("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
formTester.submit("content:form:buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
}
@@ -146,7 +146,7 @@ public class RolesITCase extends AbstractConsoleITCase {
"body:content:tabbedPanel:panel:outerObjectsRepeater:1:outer:container:content:togglePanelContainer:"
+ "container:actions:actions:actionRepeater:4:action:action"),
"onclick");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
assertNull(findComponentByProp(KEY,
"body:content:tabbedPanel:panel:container:content:searchContainer:"
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
index d5e4268..f10207e 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
@@ -75,7 +75,7 @@ public class SchemasITCase extends AbstractTypesITCase {
+
"accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.submit("content:form:buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.assertRenderedPage(Types.class);
@@ -111,7 +111,7 @@ public class SchemasITCase extends AbstractTypesITCase {
+
"accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.submit("content:form:buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
}
@Test
@@ -137,7 +137,7 @@ public class SchemasITCase extends AbstractTypesITCase {
+
"accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.submit("content:form:buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");;
+ TESTER.assertInfoMessages("Operation successfully executed");;
TESTER.cleanupFeedbackMessages();
@@ -163,7 +163,7 @@ public class SchemasITCase extends AbstractTypesITCase {
+
"container:content:togglePanelContainer:container:actions:actions:actionRepeater:1:action:action"),
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
assertNull(findComponentByProp(KEY, PLAIN_DATATABLE_PATH, schemaName));
@@ -199,7 +199,7 @@ public class SchemasITCase extends AbstractTypesITCase {
+
"accordionPanel:tabs:2:body:content:outerObjectsRepeater:0:outer:form");
formTester.submit("content:form:buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.assertRenderedPage(Types.class);
@@ -216,7 +216,7 @@ public class SchemasITCase extends AbstractTypesITCase {
+
"container:content:togglePanelContainer:container:actions:actions:actionRepeater:1:action:action"),
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
assertNull(findComponentByProp(KEY, VIRTUAL_DATATABLE_PATH,
"mynewvir"));
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
index a63448d..09e3cbd 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
@@ -56,7 +56,7 @@ public class SecurityQuestionsITCase extends
AbstractConsoleITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.clickLink("body:configurationLI:configurationUL:securityLI:security");
@@ -105,7 +105,7 @@ public class SecurityQuestionsITCase extends
AbstractConsoleITCase {
TESTER.clickLink(
"body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
}
@@ -128,7 +128,7 @@ public class SecurityQuestionsITCase extends
AbstractConsoleITCase {
"body:content:tabbedPanel:panel:outerObjectsRepeater:1:outer:container:content:"
+
"togglePanelContainer:container:actions:actions:actionRepeater:1:action:action"),
"onclick");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
assertNull(findComponentByProp("content",
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
index 2a4cce3..4eedba1 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
@@ -163,7 +163,7 @@ public class TopologyITCase extends AbstractConsoleITCase {
// ajax event required to retrieve AjaxRequestTarget (used into finish
custom event)
TESTER.executeAjaxEvent(
"body:toggle:outerObjectsRepeater:0:outer:form:content:form:buttons:finish",
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.clickLink("body:idmPages:0:idmPageLI:idmPage");
@@ -223,7 +223,7 @@ public class TopologyITCase extends AbstractConsoleITCase {
// ajax event required to retrieve AjaxRequestTarget (used into finish
custom event)
TESTER.executeAjaxEvent("body:toggle:outerObjectsRepeater:3:outer:form:content:provision:container:"
+ "content:wizard:form:buttons:finish", Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.assertComponent(
"body:toggle:outerObjectsRepeater:3:outer:dialog:footer:inputs:0:submit",
AjaxSubmitLink.class);
@@ -233,7 +233,7 @@ public class TopologyITCase extends AbstractConsoleITCase {
TESTER.executeAjaxEvent(
"body:toggle:outerObjectsRepeater:3:outer:dialog:footer:inputs:0:submit",
Constants.ON_CLICK);
TESTER.assertNoErrorMessage();
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.executeAjaxEvent("body:toggle:outerObjectsRepeater:3:outer:form:content:provision:container:"
+ "content:group:beans:0:fields:0", Constants.ON_CLICK);
@@ -261,7 +261,7 @@ public class TopologyITCase extends AbstractConsoleITCase {
TESTER.getRequest().addParameter("confirm", "true");
TESTER.clickLink("body:toggle:container:content:togglePanelContainer:container:actions:delete");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.clickLink("body:idmPages:0:idmPageLI:idmPage");
@@ -287,7 +287,7 @@ public class TopologyITCase extends AbstractConsoleITCase {
TESTER.clickLink("body:toggle:outerObjectsRepeater:2:outer:form:content:tasks:firstLevelContainer:first:"
+
"container:content:startAt:container:content:togglePanelContainer:startAtForm:startAt");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
component = findComponentByProp("name",
"body:toggle:outerObjectsRepeater:2:outer:form:content:tasks:"
+
"firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
@@ -427,7 +427,7 @@ public class TopologyITCase extends AbstractConsoleITCase {
+
"tasks:firstLevelContainer:first:container:content:wizard:form");
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
}
@@ -491,7 +491,7 @@ public class TopologyITCase extends AbstractConsoleITCase {
formTester.setValue("view:name:textField", "'k' + name");
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.executeAjaxEvent("body:toggle:outerObjectsRepeater:2:outer:form:content:tasks:firstLevelContainer:"
@@ -525,7 +525,7 @@ public class TopologyITCase extends AbstractConsoleITCase {
formTester.setValue("view:name:textField", "");
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
}
@@ -539,7 +539,7 @@ public class TopologyITCase extends AbstractConsoleITCase {
TESTER.getRequest().addParameter("confirm", "true");
TESTER.clickLink("body:toggle:container:content:togglePanelContainer:container:actions:reload");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
}
}
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
index 3187cfc..8c7eecb 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
@@ -77,7 +77,7 @@ public class UsersITCase extends AbstractConsoleITCase {
TESTER.clickLink(TAB_PANEL +
"outerObjectsRepeater:1:outer:container:content:togglePanelContainer:container:"
+ "actions:actions:actionRepeater:2:action:action");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
}
@Test
@@ -225,7 +225,7 @@ public class UsersITCase extends AbstractConsoleITCase {
assertNotNull(formTester);
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.assertComponent(TAB_PANEL
+
"outerObjectsRepeater:0:outer:form:content:customResultBody:resources:firstLevelContainer:first:"
@@ -290,7 +290,7 @@ public class UsersITCase extends AbstractConsoleITCase {
assertNotNull(formTester);
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.assertComponent(TAB_PANEL
@@ -322,7 +322,7 @@ public class UsersITCase extends AbstractConsoleITCase {
TESTER.executeAjaxEvent(
TAB_PANEL +
"outerObjectsRepeater:0:outer:form:content:form:buttons:finish",
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
}
@@ -397,7 +397,7 @@ public class UsersITCase extends AbstractConsoleITCase {
assertNotNull(formTester);
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.assertComponent(TAB_PANEL
@@ -477,7 +477,7 @@ public class UsersITCase extends AbstractConsoleITCase {
assertNotNull(formTester);
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.assertComponent(TAB_PANEL
@@ -588,7 +588,7 @@ public class UsersITCase extends AbstractConsoleITCase {
formTester.submit("buttons:finish");
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.assertComponent(TAB_PANEL
@@ -666,7 +666,7 @@ public class UsersITCase extends AbstractConsoleITCase {
TESTER.executeAjaxEvent(
TAB_PANEL +
"outerObjectsRepeater:3:outer:dialog:footer:inputs:0:submit",
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
TESTER.clickLink("body:realmsLI:realms");
@@ -691,7 +691,7 @@ public class UsersITCase extends AbstractConsoleITCase {
TESTER.executeAjaxEvent(
TAB_PANEL +
"outerObjectsRepeater:3:outer:dialog:footer:inputs:0:submit",
Constants.ON_CLICK);
- TESTER.assertInfoMessages("Operation executed successfully");
+ TESTER.assertInfoMessages("Operation successfully executed");
TESTER.cleanupFeedbackMessages();
}
}
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AbstractEnduserITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AbstractEnduserITCase.java
index 09bedc7..5065622 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AbstractEnduserITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AbstractEnduserITCase.java
@@ -25,23 +25,37 @@ import
com.giffing.wicket.spring.boot.starter.configuration.extensions.core.sett
import
com.giffing.wicket.spring.boot.starter.configuration.extensions.external.spring.boot.actuator.WicketEndpointRepositoryDefault;
import java.util.Collections;
import java.util.List;
+import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.enduser.SyncopeWebApplication;
import org.apache.syncope.client.enduser.commons.PreviewUtils;
import
org.apache.syncope.client.enduser.init.ClassPathScanImplementationLookup;
import org.apache.syncope.client.enduser.init.MIMETypesLoader;
import org.apache.syncope.client.enduser.pages.Login;
+import org.apache.syncope.client.lib.SyncopeClient;
import org.apache.syncope.client.lib.SyncopeClientFactoryBean;
import org.apache.syncope.common.rest.api.service.SyncopeService;
import org.apache.syncope.fit.ui.AbstractUITCase;
import org.apache.wicket.util.tester.FormTester;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.BeforeAll;
+import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
import
org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import
org.apache.syncope.common.keymaster.client.self.SelfKeymasterClientContext;
+import org.apache.syncope.common.rest.api.service.UserService;
public abstract class AbstractEnduserITCase extends AbstractUITCase {
+ protected static final String ENV_KEY_CONTENT_TYPE = "jaxrsContentType";
+
+ protected static SyncopeClientFactoryBean clientFactory;
+
+ protected static SyncopeClient adminClient;
+
+ protected static UserService userService;
+
+ @ImportAutoConfiguration(classes = { SelfKeymasterClientContext.class })
@Configuration
public static class SyncopeWebApplicationTestConfig {
@@ -105,6 +119,21 @@ public abstract class AbstractEnduserITCase extends
AbstractUITCase {
}
}
+ @BeforeAll
+ public static void restSetup() {
+ clientFactory = new SyncopeClientFactoryBean().setAddress(ADDRESS);
+
+ String envContentType = System.getProperty(ENV_KEY_CONTENT_TYPE);
+ if (StringUtils.isNotBlank(envContentType)) {
+ clientFactory.setContentType(envContentType);
+ }
+ LOG.info("Performing IT with content type {}",
clientFactory.getContentType().getMediaType());
+
+ adminClient = clientFactory.create(ADMIN_UNAME, ADMIN_PWD);
+
+ userService = adminClient.getService(UserService.class);
+ }
+
protected void doLogin(final String user, final String passwd) {
TESTER.startPage(Login.class);
TESTER.assertRenderedPage(Login.class);
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/SelfRegistrationITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/SelfRegistrationITCase.java
index 8b1e4b8..07157a3 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/SelfRegistrationITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/SelfRegistrationITCase.java
@@ -18,34 +18,165 @@
*/
package org.apache.syncope.fit.enduser;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
import org.apache.syncope.client.enduser.pages.Login;
+import org.apache.syncope.client.lib.SyncopeClient;
+import org.apache.syncope.client.ui.commons.Constants;
+import org.apache.syncope.common.lib.SyncopeConstants;
+import org.apache.syncope.common.rest.api.beans.AnyQuery;
+import org.apache.wicket.extensions.markup.html.form.palette.component.Choices;
+import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.TextField;
-import org.junit.jupiter.api.Disabled;
+import org.apache.wicket.util.tester.FormTester;
import org.junit.jupiter.api.Test;
-@Disabled("WIP")
public class SelfRegistrationITCase extends AbstractEnduserITCase {
+ private static final String WIZARD_FORM = "body:wizard:form";
+
@Test
public void selfCreate() {
+ String username = "testUser";
+
TESTER.startPage(Login.class);
TESTER.assertRenderedPage(Login.class);
TESTER.clickLink("self-registration");
- TESTER.assertComponent("body:wizard:form:username", TextField.class);
+ TESTER.assertComponent(WIZARD_FORM + ":view:username:textField",
TextField.class);
+ FormTester formTester = TESTER.newFormTester(WIZARD_FORM);
+ assertNotNull(formTester);
+ formTester.setValue("view:username:textField", username);
+ TESTER.executeAjaxEvent(WIZARD_FORM + ":buttons:next",
Constants.ON_CLICK);
+
+ // check required field is correctly set
+ TESTER.assertNoInfoMessage();
+ TESTER.assertNoErrorMessage();
+
+ TESTER.assertComponent(WIZARD_FORM +
":view:auxClasses:paletteField:choices", Choices.class);
+ TESTER.executeAjaxEvent(WIZARD_FORM + ":buttons:next",
Constants.ON_CLICK);
+
+ TESTER.assertComponent(WIZARD_FORM +
":view:groupsContainer:groups:form:filter:textField", TextField.class);
+ TESTER.executeAjaxEvent(WIZARD_FORM + ":buttons:next",
Constants.ON_CLICK);
+
+ TESTER.assertComponent(WIZARD_FORM +
":view:plainSchemas:tabs:0:body:content:schemas:6:panel:textField",
+ TextField.class);
+ TESTER.assertComponent(WIZARD_FORM +
":view:plainSchemas:tabs:0:body:content:schemas:12:panel:textField",
+ TextField.class);
+ TESTER.assertComponent(WIZARD_FORM +
":view:plainSchemas:tabs:0:body:content:schemas:14:panel:textField",
+ TextField.class);
+
+ formTester = TESTER.newFormTester(WIZARD_FORM);
+ assertNotNull(formTester);
+
formTester.setValue("view:plainSchemas:tabs:0:body:content:schemas:6:panel:textField",
+ "User fullname");
+
formTester.setValue("view:plainSchemas:tabs:0:body:content:schemas:12:panel:textField",
+ "User surname");
+
formTester.setValue("view:plainSchemas:tabs:0:body:content:schemas:14:panel:textField",
+ "[email protected]");
+
+ TESTER.executeAjaxEvent(WIZARD_FORM + ":buttons:next",
Constants.ON_CLICK);
+
+ // check required fields were correctly set
+ TESTER.assertNoInfoMessage();
+ TESTER.assertNoErrorMessage();
+
+ TESTER.assertComponent(WIZARD_FORM +
":view:derSchemas:tabs:0:body:content:schemas:0:panel:textField",
+ TextField.class);
+
+ TESTER.executeAjaxEvent(WIZARD_FORM + ":buttons:next",
Constants.ON_CLICK);
+ TESTER.assertComponent(WIZARD_FORM +
":view:virSchemas:tabs:0:body:content:schemas:0:panel:"
+ + "multiValueContainer:innerForm:content:field-label",
+ Label.class);
+
+ TESTER.executeAjaxEvent(WIZARD_FORM + ":buttons:next",
Constants.ON_CLICK);
+ TESTER.assertComponent(WIZARD_FORM +
":view:resources:paletteField:choices", Choices.class);
+
+ TESTER.executeAjaxEvent(WIZARD_FORM + ":buttons:finish",
Constants.ON_CLICK);
+
+ TESTER.assertRenderedPage(Login.class);
+ TESTER.assertComponent("login:username", TextField.class);
+
+ assertFalse(userService.search(new
AnyQuery.Builder().realm(SyncopeConstants.ROOT_REALM).
+
fiql(SyncopeClient.getUserSearchConditionBuilder().is("username").equalTo(username).query()).
+ build()).getResult().isEmpty());
+
+ TESTER.cleanupFeedbackMessages();
}
@Test
public void selfPasswordReset() {
+ TESTER.startPage(Login.class);
+ TESTER.assertRenderedPage(Login.class);
+
+ TESTER.clickLink("self-pwd-reset");
}
@Test
public void selfUpdate() {
- doLogin(ADMIN_UNAME, ADMIN_PWD);
+ String username = "puccini";
+ String newEmail = "[email protected]";
+
+ TESTER.startPage(Login.class);
+ doLogin(username, "password");
+
+ TESTER.assertComponent(WIZARD_FORM + ":view:username:textField",
TextField.class);
+ TESTER.executeAjaxEvent(WIZARD_FORM + ":buttons:next",
Constants.ON_CLICK);
+
+ TESTER.assertComponent(WIZARD_FORM +
":view:auxClasses:paletteField:choices", Choices.class);
+ TESTER.executeAjaxEvent(WIZARD_FORM + ":buttons:next",
Constants.ON_CLICK);
+
+ TESTER.assertComponent(WIZARD_FORM +
":view:groupsContainer:groups:form:filter:textField", TextField.class);
+ TESTER.executeAjaxEvent(WIZARD_FORM + ":buttons:next",
Constants.ON_CLICK);
+
+ TESTER.assertComponent(WIZARD_FORM +
":view:plainSchemas:tabs:0:body:content:schemas:6:panel:textField",
+ TextField.class);
+ TESTER.assertComponent(WIZARD_FORM +
":view:plainSchemas:tabs:0:body:content:schemas:12:panel:textField",
+ TextField.class);
+ TESTER.assertComponent(WIZARD_FORM +
":view:plainSchemas:tabs:0:body:content:schemas:14:panel:textField",
+ TextField.class);
+
+ FormTester formTester = TESTER.newFormTester(WIZARD_FORM);
+ assertNotNull(formTester);
+ TESTER.assertComponent(WIZARD_FORM +
":view:plainSchemas:tabs:0:body:content:schemas:4:panel:textField",
+ TextField.class);
+
formTester.setValue("view:plainSchemas:tabs:0:body:content:schemas:4:panel:textField",
newEmail);
+
+ TESTER.executeAjaxEvent(WIZARD_FORM + ":buttons:next",
Constants.ON_CLICK);
+
+ // check required fields were correctly set
+ TESTER.assertNoInfoMessage();
+ TESTER.assertNoErrorMessage();
+
+ TESTER.assertComponent(WIZARD_FORM +
":view:derSchemas:tabs:0:body:content:schemas:0:panel:textField",
+ TextField.class);
+
+ TESTER.executeAjaxEvent(WIZARD_FORM + ":buttons:next",
Constants.ON_CLICK);
+ TESTER.assertComponent(WIZARD_FORM +
":view:virSchemas:tabs:0:body:content:schemas:0:panel:"
+ + "multiValueContainer:innerForm:content:field-label",
+ Label.class);
+ TESTER.executeAjaxEvent(WIZARD_FORM + ":buttons:next",
Constants.ON_CLICK);
+ TESTER.assertComponent(WIZARD_FORM +
":view:resources:paletteField:choices", Choices.class);
+
+ TESTER.executeAjaxEvent(WIZARD_FORM + ":buttons:finish",
Constants.ON_CLICK);
+
+ TESTER.assertRenderedPage(Login.class);
+ TESTER.assertComponent("login:username", TextField.class);
+
+ assertTrue(userService.search(new
AnyQuery.Builder().realm(SyncopeConstants.ROOT_REALM).
+
fiql(SyncopeClient.getUserSearchConditionBuilder().is("username").equalTo(username).query()).
+ build()).getResult().stream().anyMatch(userTO -> {
+ return
userTO.getPlainAttr("email").get().getValues().get(0).equals(newEmail);
+ }));
+
+ TESTER.cleanupFeedbackMessages();
}
@Test
public void mustChangePassword() {
+
}
}
diff --git a/fit/enduser-reference/src/test/resources/enduser.properties
b/fit/enduser-reference/src/test/resources/enduser.properties
index affc0ed..97a84fc 100644
--- a/fit/enduser-reference/src/test/resources/enduser.properties
+++ b/fit/enduser-reference/src/test/resources/enduser.properties
@@ -21,5 +21,5 @@ anonymousKey=${anonymousKey}
adminUser=${adminUser}
useGZIPCompression=true
-captcha=true
+captcha=false
xsrf=false