1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.fit.console;
20
21 import static org.junit.jupiter.api.Assertions.assertNotNull;
22
23 import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
24 import org.apache.syncope.client.console.pages.Parameters;
25 import org.apache.syncope.client.ui.commons.Constants;
26 import org.apache.wicket.Component;
27 import org.apache.wicket.markup.html.WebMarkupContainer;
28 import org.apache.wicket.util.tester.FormTester;
29 import org.junit.jupiter.api.BeforeEach;
30 import org.junit.jupiter.api.Test;
31
32 public class ParametersITCase extends AbstractConsoleITCase {
33
34 @BeforeEach
35 public void login() {
36 doLogin(ADMIN_UNAME, ADMIN_PWD);
37 TESTER.clickLink("body:keymasterLI:keymasterUL:parametersLI:parameters", false);
38 TESTER.assertRenderedPage(Parameters.class);
39 }
40
41 @Test
42 public void readParameter() {
43 TESTER.assertComponent("body:content:parametersPanel", WebMarkupContainer.class);
44 assertNotNull(findComponentByProp(SCHEMA, "body:content:parametersPanel", "authentication.statuses"));
45 }
46
47 @Test
48 public void createParameter() {
49 TESTER.assertComponent("body:content:parametersPanel", WebMarkupContainer.class);
50
51 TESTER.clickLink("body:content:parametersPanel:container:content:add");
52 TESTER.assertComponent("body:content:parametersPanel:outerObjectsRepeater:0:outer", Modal.class);
53
54 FormTester formTester =
55 TESTER.newFormTester("body:content:parametersPanel:outerObjectsRepeater:0:outer:form");
56 formTester.submit("content:parametersCreateWizardPanel:form:buttons:next");
57
58 formTester = TESTER.newFormTester(
59 "body:content:parametersPanel:outerObjectsRepeater:0:outer:form");
60 formTester.setValue("content:parametersCreateWizardPanel:form:view:content:schema:textField", "testParam");
61 formTester.setValue("content:parametersCreateWizardPanel:form:view:content:attrs:0:panel:textField", "test");
62
63 formTester.submit("content:parametersCreateWizardPanel:form:buttons:finish");
64
65 assertSuccessMessage();
66 TESTER.cleanupFeedbackMessages();
67 TESTER.assertRenderedPage(Parameters.class);
68 }
69
70 @Test
71 public void updateParameter() {
72 TESTER.assertComponent("body:content:parametersPanel", WebMarkupContainer.class);
73
74 Component result = findComponentByProp(SCHEMA, "body:content:parametersPanel",
75 "notification.maxRetries");
76 assertNotNull(result);
77
78 TESTER.executeAjaxEvent(result.getPageRelativePath(), Constants.ON_CLICK);
79 TESTER.clickLink("body:content:parametersPanel:outerObjectsRepeater:1:outer:container:content:"
80 + "togglePanelContainer:container:actions:actions:actionRepeater:0:action:action");
81
82 FormTester formTester =
83 TESTER.newFormTester("body:content:parametersPanel:outerObjectsRepeater:0:outer:form");
84 formTester.submit("content:parametersCreateWizardPanel:form:buttons:next");
85
86 formTester = TESTER.newFormTester(
87 "body:content:parametersPanel:outerObjectsRepeater:0:outer:form");
88 formTester.setValue("content:parametersCreateWizardPanel:form:view:content:attrs:0:panel:spinner", "70");
89
90 formTester.submit("content:parametersCreateWizardPanel:form:buttons:finish");
91
92 assertSuccessMessage();
93 TESTER.cleanupFeedbackMessages();
94
95 TESTER.assertRenderedPage(Parameters.class);
96 }
97
98 @Test
99 public void deleteParameter() {
100 TESTER.assertComponent("body:content:parametersPanel", WebMarkupContainer.class);
101
102 TESTER.clickLink("body:content:parametersPanel:container:content:add");
103 TESTER.assertComponent("body:content:parametersPanel:outerObjectsRepeater:0:outer", Modal.class);
104
105 FormTester formTester =
106 TESTER.newFormTester("body:content:parametersPanel:outerObjectsRepeater:0:outer:form");
107 formTester.submit("content:parametersCreateWizardPanel:form:buttons:next");
108
109 formTester = TESTER.newFormTester(
110 "body:content:parametersPanel:outerObjectsRepeater:0:outer:form");
111 formTester.setValue("content:parametersCreateWizardPanel:form:view:content:schema:textField", "deleteParam");
112 formTester.setValue("content:parametersCreateWizardPanel:form:view:content:attrs:0:panel:textField", "test");
113
114 formTester.submit("content:parametersCreateWizardPanel:form:buttons:finish");
115
116 assertSuccessMessage();
117 TESTER.cleanupFeedbackMessages();
118
119 Component result = findComponentByProp(SCHEMA, "body:content:parametersPanel", "deleteParam");
120 assertNotNull(result);
121
122 TESTER.executeAjaxEvent(result.getPageRelativePath(), Constants.ON_CLICK);
123 TESTER.clickLink("body:content:parametersPanel:outerObjectsRepeater:1:outer:container:content:"
124 + "togglePanelContainer:container:actions:actions:actionRepeater:1:action:action");
125
126 assertSuccessMessage();
127 TESTER.cleanupFeedbackMessages();
128 }
129 }