Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/Evolveum/midpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
katkav committed Apr 17, 2020
2 parents 43e85a9 + 09829ff commit 8704b02
Show file tree
Hide file tree
Showing 63 changed files with 3,258 additions and 212 deletions.
Expand Up @@ -11,6 +11,9 @@

import javax.xml.namespace.QName;

import com.evolveum.midpoint.gui.api.prism.ItemWrapper;
import com.evolveum.midpoint.gui.impl.prism.*;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.reflect.FieldUtils;
import org.apache.wicket.AttributeModifier;
Expand All @@ -21,8 +24,6 @@
import org.apache.wicket.model.StringResourceModel;
import org.apache.wicket.request.Response;

import com.evolveum.midpoint.gui.impl.prism.PrismPropertyPanel;
import com.evolveum.midpoint.gui.impl.prism.PrismPropertyWrapper;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.prism.PrismHeaderPanel;
Expand Down Expand Up @@ -76,9 +77,9 @@ public void afterRender(Component component) {
}

private void handleLocalization(Component component) {
if (component instanceof PrismPropertyPanel) {
PrismPropertyPanel ppp = (PrismPropertyPanel) component;
PrismPropertyWrapper iw = (PrismPropertyWrapper) ppp.getModel().getObject();
if (component instanceof PrismPropertyPanel || component instanceof PrismReferencePanel) {
ItemPanel ppp = (ItemPanel) component;
ItemWrapper iw = (ItemWrapper) ppp.getModel().getObject();
String key = iw.getDisplayName();

QName qname = iw.getItemName();
Expand Down
Expand Up @@ -18,6 +18,7 @@

import com.evolveum.midpoint.schrodinger.component.AssignmentsTab;

import com.evolveum.midpoint.schrodinger.component.common.FeedbackBox;
import com.evolveum.midpoint.schrodinger.component.common.table.AbstractTableWithPrismView;
import com.evolveum.midpoint.schrodinger.page.AssignmentHolderDetailsPage;

Expand Down Expand Up @@ -52,7 +53,7 @@
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
@ActiveProfiles("default")
@SpringBootTest(classes = MidPointSpringApplication.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
@TestPropertySource(properties = { "server.port=8180", "midpoint.schrodinger=true" })//, "webdriverLocation=234234234" })
@TestPropertySource(properties = { "server.port=8180", "midpoint.schrodinger=true" })
@Listeners({ BrowserPerClass.class })
public abstract class AbstractSchrodingerTest extends AbstractIntegrationTest {

Expand Down Expand Up @@ -155,25 +156,29 @@ public void afterClass() {
.clickYes();
}

protected void importObject(File source, Boolean overrideExistingObject) {
protected void importObject(File source, boolean overrideExistingObject, boolean ignoreWarning) {
ImportObjectPage importPage = basicPage.importObject();

if (overrideExistingObject) {
importPage
.checkOverwriteExistingObject();
}

Assert.assertTrue(
importPage
.getObjectsFromFile()
.chooseFile(source)
FeedbackBox<? extends BasicPage> feedback = importPage
.getObjectsFromFile()
.chooseFile(source)
.clickImportFileButton()
.feedback()
.isSuccess());
.feedback();

Assert.assertTrue(feedback.isSuccess() || (ignoreWarning && feedback.isWarning()));
}

protected void importObject(File source, boolean overrideExistingObject) {
importObject(source, overrideExistingObject, false);
}

protected void importObject(File source) {
importObject(source, false);
importObject(source, false, false);
}

protected String fetchMidpointHome() {
Expand Down
Expand Up @@ -44,33 +44,48 @@ public class AbstractLabTest extends AbstractSchrodingerTest {
protected static final File CSV_1_SIMPLE_RESOURCE_FILE = new File(LAB_OBJECTS_DIRECTORY + "resources/localhost-csvfile-1-document-access-simple.xml");
protected static final File CSV_1_RESOURCE_FILE = new File(LAB_OBJECTS_DIRECTORY + "resources/localhost-csvfile-1-document-access.xml");
protected static final File CSV_1_SOURCE_FILE = new File(LAB_SOURCES_DIRECTORY + "csv-1.csv");
protected static final File CSV_1_SOURCE_FILE_7_3 = new File(LAB_SOURCES_DIRECTORY + "csv-1-7-3.csv");
protected static final File NUMERIC_PIN_FIRST_NONZERO_POLICY_FILE = new File(LAB_OBJECTS_DIRECTORY + "valuePolicies/numeric-pin-first-nonzero-policy.xml");
protected static final File CSV_2_RESOURCE_FILE = new File(LAB_OBJECTS_DIRECTORY + "resources/localhost-csvfile-2-canteen.xml");
protected static final File CSV_2_SOURCE_FILE = new File(LAB_SOURCES_DIRECTORY + "csv-2.csv");
protected static final File CSV_3_RESOURCE_FILE = new File(LAB_OBJECTS_DIRECTORY + "resources/localhost-csvfile-3-ldap.xml");
protected static final File CSV_3_SOURCE_FILE = new File(LAB_SOURCES_DIRECTORY + "csv-3.csv");
protected static final File HR_NO_EXTENSION_RESOURCE_FILE = new File(LAB_OBJECTS_DIRECTORY + "resources/localhost-hr-noextension.xml");
protected static final File HR_SOURCE_FILE = new File(LAB_SOURCES_DIRECTORY + "source.csv");
protected static final File HR_SOURCE_FILE_7_4_PART_1 = new File(LAB_SOURCES_DIRECTORY + "source-7-4-part-1.csv");
protected static final File HR_SOURCE_FILE_7_4_PART_2 = new File(LAB_SOURCES_DIRECTORY + "source-7-4-part-2.csv");
protected static final File HR_SOURCE_FILE_7_4_PART_3 = new File(LAB_SOURCES_DIRECTORY + "source-7-4-part-3.csv");
protected static final File HR_SOURCE_FILE_7_4_PART_4 = new File(LAB_SOURCES_DIRECTORY + "source-7-4-part-4.csv");


protected static final String DIRECTORY_CURRENT_TEST = "labTests";
protected static final String EXTENSION_SCHEMA_NAME = "extension-example.xsd";
protected static final String CSV_1_FILE_SOURCE_NAME = "csv-1.csv";
protected static final String CSV_1_RESOURCE_NAME = "CSV-1 (Document Access)";
protected static final String CSV_1_RESOURCE_OID = "10000000-9999-9999-0000-a000ff000002";
protected static final String CSV_2_FILE_SOURCE_NAME = "csv-2.csv";
protected static final String CSV_2_RESOURCE_NAME = "CSV-2 (Canteen Ordering System)";
protected static final String CSV_2_RESOURCE_OID = "10000000-9999-9999-0000-a000ff000003";
protected static final String CSV_3_FILE_SOURCE_NAME = "csv-3.csv";
protected static final String CSV_3_RESOURCE_NAME = "CSV-3 (LDAP)";
protected static final String CSV_3_RESOURCE_OID = "10000000-9999-9999-0000-a000ff000004";
protected static final String HR_FILE_SOURCE_NAME = "source.csv";
protected static final String HR_RESOURCE_NAME = "ExAmPLE, Inc. HR Source";

protected static final String PASSWORD_ATTRIBUTE_RESOURCE_KEY = "User password attribute name";
protected static final String UNIQUE_ATTRIBUTE_RESOURCE_KEY = "Unique attribute name";

protected static final String CSV_1_UNIQUE_ATTRIBUTE_NAME = "login";
protected static final String CSV_1_PASSWORD_ATTRIBUTE_NAME = "password";
protected static final String CSV_1_ACCOUNT_OBJECT_CLASS_LINK = "AccountObjectClass (Default Account)";
protected static final String ARCHETYPE_EMPLOYEE_PLURAL_LABEL = "Employees";

protected static final List<String> CSV_1_RESOURCE_ATTRIBUTES = Arrays.asList("login", "lname", "groups", "enumber", "phone", "dep", "fname", "dis");

protected static File csv1TargetFile;
protected static File csv2TargetFile;
protected static File csv3TargetFile;
protected static File hrTargetFile;

@AfterClass
@Override
Expand Down
Expand Up @@ -41,27 +41,7 @@
* @author skublik
*/

public class ResourcesAttributesAndMappingsTest extends AbstractLabTest {

// @BeforeClass(alwaysRun = true, dependsOnMethods = { "springTestContextBeforeTestClass" })
// @Override
// protected void springTestContextPrepareTestInstance() throws Exception {
//
// String home = System.getProperty("midpoint.home");
// File schemaDir = new File(home, "schema");
//
// if (!schemaDir.mkdir()) {
// if (schemaDir.exists()) {
// FileUtils.cleanDirectory(schemaDir);
// } else {
// throw new IOException("Creation of directory \"" + schemaDir.getAbsolutePath() + "\" unsuccessful");
// }
// }
// File schemaFile = new File(schemaDir, EXTENSION_SCHEMA_NAME);
// FileUtils.copyFile(EXTENSION_SCHEMA_FILE, schemaFile);
//
// super.springTestContextPrepareTestInstance();
// }
public class M3ResourcesAttributesAndMappingsTest extends AbstractLabTest {

@BeforeClass(alwaysRun = true, dependsOnMethods = { "springTestContextPrepareTestInstance" })
@Override
Expand Down
Expand Up @@ -14,7 +14,6 @@
import com.evolveum.midpoint.schrodinger.component.common.PrismForm;
import com.evolveum.midpoint.schrodinger.component.common.PrismFormWithActionButtons;
import com.evolveum.midpoint.schrodinger.component.common.table.AbstractTableWithPrismView;
import com.evolveum.midpoint.schrodinger.page.configuration.AboutPage;
import com.evolveum.midpoint.schrodinger.page.resource.AccountPage;
import com.evolveum.midpoint.schrodinger.page.user.UserPage;

Expand All @@ -27,7 +26,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.Test;

import javax.xml.namespace.QName;
Expand All @@ -37,9 +35,9 @@
* @author skublik
*/

public class ProvisioningToResources extends AbstractLabTest {
public class M4ProvisioningToResources extends AbstractLabTest {

private static final Logger LOG = LoggerFactory.getLogger(ProvisioningToResources.class);
private static final Logger LOG = LoggerFactory.getLogger(M4ProvisioningToResources.class);

private static final File CSV_1_RESOURCE_FILE_4_2 = new File(LAB_OBJECTS_DIRECTORY + "resources/localhost-csvfile-1-document-access-4-2.xml");
private static final File CSV_3_RESOURCE_FILE_4_2 = new File(LAB_OBJECTS_DIRECTORY + "resources/localhost-csvfile-3-ldap-4-2.xml");
Expand Down Expand Up @@ -104,7 +102,7 @@ public void test0401BasicProvisioningToMultipleResources() {
.selectAll()
.and()
.table()
.clickActionDropDown()
.clickHeaderActionDropDown()
.clickEnable()
.clickYes();

Expand Down
Expand Up @@ -7,7 +7,6 @@
package com.evolveum.midpoint.testing.schrodinger.labs;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

import com.codeborne.selenide.Selenide;
Expand All @@ -18,7 +17,6 @@
import com.evolveum.midpoint.schrodinger.component.AssignmentsTab;
import com.evolveum.midpoint.schrodinger.component.InducementsTab;
import com.evolveum.midpoint.schrodinger.component.common.PrismForm;
import com.evolveum.midpoint.schrodinger.component.common.table.AbstractTableWithPrismView;
import com.evolveum.midpoint.schrodinger.component.table.DirectIndirectAssignmentTable;
import com.evolveum.midpoint.schrodinger.page.AbstractRolePage;
import com.evolveum.midpoint.schrodinger.page.archetype.ArchetypePage;
Expand All @@ -36,8 +34,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import javax.xml.namespace.QName;
Expand All @@ -46,9 +42,9 @@
* @author skublik
*/

public class AccountsAssignmentsAndRoles extends AbstractLabTest {
public class M5AccountsAssignmentsAndRoles extends AbstractLabTest {

private static final Logger LOG = LoggerFactory.getLogger(AccountsAssignmentsAndRoles.class);
private static final Logger LOG = LoggerFactory.getLogger(M5AccountsAssignmentsAndRoles.class);

private static final File INCOGNITO_ROLE_FILE = new File(LAB_OBJECTS_DIRECTORY + "roles/role-incognito.xml");
private static final File INTERNAL_EMPLOYEE_ROLE_FILE = new File(LAB_OBJECTS_DIRECTORY + "roles/role-internal-employee.xml");
Expand All @@ -61,7 +57,6 @@ public class AccountsAssignmentsAndRoles extends AbstractLabTest {
private static final File ARCHETYPE_EMPLOYEE_FILE = new File(LAB_OBJECTS_DIRECTORY + "archetypes/archetype-employee.xml");
private static final String ARCHETYPE_EMPLOYEE_NAME = "Employee";
private static final String ARCHETYPE_EMPLOYEE_LABEL = "Employee";
private static final String ARCHETYPE_EMPLOYEE_PLURAL_LABEL = "Employees";
private static final File ARCHETYPE_EXTERNAL_FILE = new File(LAB_OBJECTS_DIRECTORY + "archetypes/archetype-external.xml");
private static final File SYSTEM_CONFIGURATION_FILE_5_7 = new File(LAB_OBJECTS_DIRECTORY + "systemConfiguration/system-configuration-5-7.xml");

Expand Down Expand Up @@ -254,7 +249,7 @@ public void test0507ArchetypesIntroduction() {
FormLoginPage login = midPoint.formLogin();
login.login(getUsername(), getPassword());

basicPage.listUsers().newUser(ARCHETYPE_EMPLOYEE_LABEL)
basicPage.listUsers().newUser("New "+ARCHETYPE_EMPLOYEE_LABEL.toLowerCase())
.selectTabBasic()
.form()
.addAttributeValue(UserType.F_NAME, "janeway")
Expand Down
Expand Up @@ -6,33 +6,26 @@
*/
package com.evolveum.midpoint.testing.schrodinger.labs;

import com.codeborne.selenide.Selenide;

import com.evolveum.midpoint.schrodinger.component.ProjectionsTab;
import com.evolveum.midpoint.schrodinger.component.common.table.AbstractTableWithPrismView;
import com.evolveum.midpoint.schrodinger.page.configuration.AboutPage;
import com.evolveum.midpoint.schrodinger.page.user.UserPage;
import com.evolveum.midpoint.schrodinger.util.Utils;
import com.evolveum.midpoint.testing.schrodinger.scenarios.ScenariosCommons;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import javax.validation.constraints.AssertTrue;
import java.io.File;
import java.io.IOException;

/**
* @author skublik
*/

public class ConfiguringMultipleAccountTypes extends AbstractLabTest {
public class M6ConfiguringMultipleAccountTypes extends AbstractLabTest {

private static final Logger LOG = LoggerFactory.getLogger(ConfiguringMultipleAccountTypes.class);
private static final Logger LOG = LoggerFactory.getLogger(M6ConfiguringMultipleAccountTypes.class);

private static final File CSV_1_RESOURCE_FILE_6_1 = new File(LAB_OBJECTS_DIRECTORY + "resources/localhost-csvfile-1-document-access-6-1.xml");
private static final File CSV_3_RESOURCE_FILE_6_1 = new File(LAB_OBJECTS_DIRECTORY + "resources/localhost-csvfile-3-ldap-6-1.xml");
Expand All @@ -41,21 +34,6 @@ public class ConfiguringMultipleAccountTypes extends AbstractLabTest {
private static final String CSV1_TESTER_ROLE_NAME = "CSV-1 Tester";
private static final String CSV3_ADMIN_ROLE_NAME = "CSV-3 Admin";

@AfterClass
@Override
public void afterClass() {
super.afterClass();

midPoint.formLogin().loginWithReloadLoginPage(username, password);

LOG.info("After: Login name " + username + " pass " + password);

AboutPage aboutPage = basicPage.aboutPage();
aboutPage
.clickSwitchToFactoryDefaults()
.clickYes();
}

@Test
public void test0601UsingAccountIntentsForProvisioning() {

Expand Down

0 comments on commit 8704b02

Please sign in to comment.