Skip to content

Commit

Permalink
model-test: AbstractModelIntegrationTest cleanup, h2 dep gone
Browse files Browse the repository at this point in the history
  • Loading branch information
virgo47 committed Jul 19, 2021
1 parent da46dcb commit 2c1c1dd
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 51 deletions.
9 changes: 3 additions & 6 deletions model/model-test/pom.xml
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
<?xml version="1.0"?>
<!--
~ Copyright (c) 2010-2018 Evolveum and contributors
~ Copyright (C) 2010-2021 Evolveum and contributors
~
~ This work is dual-licensed under the Apache License 2.0
~ and European Union Public License. See LICENSE file for details.
-->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
Expand Down Expand Up @@ -192,10 +193,6 @@
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,13 @@
*/
package com.evolveum.midpoint.model.test;

import static com.evolveum.midpoint.util.MiscUtil.or0;

import static java.util.Collections.singleton;
import static org.assertj.core.api.Assertions.assertThat;
import static org.testng.AssertJUnit.*;

import static com.evolveum.midpoint.prism.PrismObject.asObjectableList;
import static com.evolveum.midpoint.schema.constants.SchemaConstants.*;
import static com.evolveum.midpoint.util.MiscUtil.or0;

import java.io.File;
import java.io.FileInputStream;
Expand All @@ -28,13 +27,6 @@
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;

import com.evolveum.midpoint.repo.common.activity.TaskActivityManager;
import com.evolveum.midpoint.repo.common.task.task.GenericTaskHandler;
import com.evolveum.midpoint.repo.common.task.work.BucketingManager;
import com.evolveum.midpoint.schema.statistics.*;

import com.evolveum.midpoint.task.api.TaskUtil;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.mutable.MutableInt;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -100,16 +92,20 @@
import com.evolveum.midpoint.repo.api.RepositoryService;
import com.evolveum.midpoint.repo.api.perf.PerformanceInformation;
import com.evolveum.midpoint.repo.common.ObjectResolver;
import com.evolveum.midpoint.schema.expression.VariablesMap;
import com.evolveum.midpoint.repo.common.activity.TaskActivityManager;
import com.evolveum.midpoint.repo.common.task.task.GenericTaskHandler;
import com.evolveum.midpoint.repo.common.task.work.BucketingManager;
import com.evolveum.midpoint.schema.*;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.schema.expression.VariablesMap;
import com.evolveum.midpoint.schema.internals.InternalsConfig;
import com.evolveum.midpoint.schema.processor.ResourceAttribute;
import com.evolveum.midpoint.schema.processor.ResourceAttributeContainer;
import com.evolveum.midpoint.schema.processor.ResourceAttributeDefinition;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.result.OperationResultStatus;
import com.evolveum.midpoint.schema.statistics.ProvisioningStatistics;
import com.evolveum.midpoint.schema.util.*;
import com.evolveum.midpoint.security.api.Authorization;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
Expand All @@ -118,9 +114,9 @@
import com.evolveum.midpoint.security.enforcer.api.AuthorizationParameters;
import com.evolveum.midpoint.security.enforcer.api.ItemSecurityConstraints;
import com.evolveum.midpoint.security.enforcer.api.SecurityEnforcer;
import com.evolveum.midpoint.task.api.RunningTask;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.task.api.TaskDebugUtil;
import com.evolveum.midpoint.task.api.TaskUtil;
import com.evolveum.midpoint.test.*;
import com.evolveum.midpoint.test.asserter.*;
import com.evolveum.midpoint.test.asserter.prism.PrismContainerDefinitionAsserter;
Expand Down Expand Up @@ -1565,7 +1561,8 @@ protected ConstructionType createAccountConstruction(String resourceOid, String

protected ObjectDelta<UserType> createReplaceAccountConstructionUserDelta(
String userOid, Long id, ConstructionType newValue) {
PrismContainerDefinition pcd = getAssignmentDefinition().findContainerDefinition(AssignmentType.F_CONSTRUCTION);
PrismContainerDefinition<ConstructionType> pcd =
getAssignmentDefinition().findContainerDefinition(AssignmentType.F_CONSTRUCTION);
ContainerDelta<ConstructionType> acDelta = prismContext.deltaFactory().container().create(
ItemPath.create(UserType.F_ASSIGNMENT, id, AssignmentType.F_CONSTRUCTION), pcd);
acDelta.setValueToReplace(newValue.asPrismContainerValue());
Expand Down Expand Up @@ -2611,7 +2608,7 @@ protected AssignmentType assertAssignedAccount(PrismObject<UserType> user, Strin
}
}
}
AssertJUnit.fail(user.toString() + " does not have account assignment for resource " + resourceOid);
AssertJUnit.fail(user + " does not have account assignment for resource " + resourceOid);
return null; // not reached
}

Expand All @@ -2624,7 +2621,7 @@ protected void assertAssignedNoAccount(PrismObject<UserType> user, String resour
continue;
}
if (resourceOid.equals(construction.getResourceRef().getOid())) {
AssertJUnit.fail(user.toString() + " has account assignment for resource " + resourceOid + " while expecting no such assignment");
AssertJUnit.fail(user + " has account assignment for resource " + resourceOid + " while expecting no such assignment");
}
}
}
Expand Down Expand Up @@ -4099,7 +4096,8 @@ protected void assertDummyAccountAttribute(String dummyInstanceName, String user
}
}

protected void assertNoDummyAccountAttribute(String dummyInstanceName, String username, String attributeName) throws SchemaViolationException, ConflictException, InterruptedException {
protected void assertNoDummyAccountAttribute(String dummyInstanceName, String username, String attributeName)
throws SchemaViolationException, ConflictException, InterruptedException {
DummyAccount account = getDummyAccount(dummyInstanceName, username);
assertNotNull("No dummy " + dummyInstanceName + " account for username " + username, account);
Set<Object> values = account.getAttributeValues(attributeName, Object.class);
Expand All @@ -4110,7 +4108,8 @@ protected void assertNoDummyAccountAttribute(String dummyInstanceName, String us
". Values found: " + values);
}

protected void assertDummyAccountAttributeGenerated(String dummyInstanceName, String username) throws SchemaViolationException, ConflictException, InterruptedException {
protected void assertDummyAccountAttributeGenerated(String dummyInstanceName, String username)
throws SchemaViolationException, ConflictException, InterruptedException {
DummyAccount account = getDummyAccount(dummyInstanceName, username);
assertNotNull("No dummy account for username " + username, account);
Integer generated = account.getAttributeValue(DummyAccount.ATTR_INTERNAL_ID, Integer.class);
Expand All @@ -4119,7 +4118,8 @@ protected void assertDummyAccountAttributeGenerated(String dummyInstanceName, St
}
}

protected DummyGroup getDummyGroup(String dummyInstanceName, String name) throws SchemaViolationException, ConflictException, InterruptedException {
protected DummyGroup getDummyGroup(String dummyInstanceName, String name)
throws SchemaViolationException, ConflictException, InterruptedException {
DummyResource dummyResource = DummyResource.getInstance(dummyInstanceName);
try {
return dummyResource.getGroupByName(name);
Expand All @@ -4128,41 +4128,44 @@ protected DummyGroup getDummyGroup(String dummyInstanceName, String name) throws
}
}

protected void assertDummyGroup(String username, String description) throws SchemaViolationException, ConflictException, InterruptedException {
protected void assertDummyGroup(String username, String description)
throws SchemaViolationException, ConflictException, InterruptedException {
assertDummyGroup(null, username, description, null);
}

protected void assertDummyGroup(String dummyInstanceName, String groupname, String description, Boolean active) throws SchemaViolationException, ConflictException, InterruptedException {
DummyGroup group = getDummyGroup(dummyInstanceName, groupname);
assertNotNull("No dummy(" + dummyInstanceName + ") group for name " + groupname, group);
assertEquals("Wrong fullname for dummy(" + dummyInstanceName + ") group " + groupname, description,
protected void assertDummyGroup(String dummyInstanceName, String groupName, String description, Boolean active)
throws SchemaViolationException, ConflictException, InterruptedException {
DummyGroup group = getDummyGroup(dummyInstanceName, groupName);
assertNotNull("No dummy(" + dummyInstanceName + ") group for name " + groupName, group);
assertEquals("Wrong fullname for dummy(" + dummyInstanceName + ") group " + groupName, description,
group.getAttributeValue(DummyResourceContoller.DUMMY_GROUP_ATTRIBUTE_DESCRIPTION));
if (active != null) {
assertEquals("Wrong activation for dummy(" + dummyInstanceName + ") group " + groupname, active, group.isEnabled());
assertEquals("Wrong activation for dummy(" + dummyInstanceName + ") group " + groupName, active, group.isEnabled());
}
}

protected void assertNoDummyGroup(String groupname) throws SchemaViolationException, ConflictException, InterruptedException {
assertNoDummyGroup(null, groupname);
protected void assertNoDummyGroup(String groupName) throws SchemaViolationException, ConflictException, InterruptedException {
assertNoDummyGroup(null, groupName);
}

protected void assertNoDummyGroup(String dummyInstanceName, String groupname) throws SchemaViolationException, ConflictException, InterruptedException {
DummyGroup group = getDummyGroup(dummyInstanceName, groupname);
assertNull("Dummy group '" + groupname + "' exists while not expecting it (" + dummyInstanceName + ")", group);
protected void assertNoDummyGroup(String dummyInstanceName, String groupName)
throws SchemaViolationException, ConflictException, InterruptedException {
DummyGroup group = getDummyGroup(dummyInstanceName, groupName);
assertNull("Dummy group '" + groupName + "' exists while not expecting it (" + dummyInstanceName + ")", group);
}

protected void assertDummyGroupAttribute(String dummyInstanceName, String groupname, String attributeName, Object... expectedAttributeValues) throws SchemaViolationException, ConflictException, InterruptedException {
DummyGroup group = getDummyGroup(dummyInstanceName, groupname);
assertNotNull("No dummy group for groupname " + groupname, group);
protected void assertDummyGroupAttribute(String dummyInstanceName, String groupName, String attributeName, Object... expectedAttributeValues) throws SchemaViolationException, ConflictException, InterruptedException {
DummyGroup group = getDummyGroup(dummyInstanceName, groupName);
assertNotNull("No dummy group for group name " + groupName, group);
Set<Object> values = group.getAttributeValues(attributeName, Object.class);
if ((values == null || values.isEmpty()) && (expectedAttributeValues == null || expectedAttributeValues.length == 0)) {
return;
}
assertNotNull("No values for attribute " + attributeName + " of " + dummyInstanceName + " dummy group " + groupname, values);
assertEquals("Unexpected number of values for attribute " + attributeName + " of dummy group " + groupname + ": " + values, expectedAttributeValues.length, values.size());
assertNotNull("No values for attribute " + attributeName + " of " + dummyInstanceName + " dummy group " + groupName, values);
assertEquals("Unexpected number of values for attribute " + attributeName + " of dummy group " + groupName + ": " + values, expectedAttributeValues.length, values.size());
for (Object expectedValue : expectedAttributeValues) {
if (!values.contains(expectedValue)) {
AssertJUnit.fail("Value '" + expectedValue + "' expected in attribute " + attributeName + " of dummy group " + groupname +
AssertJUnit.fail("Value '" + expectedValue + "' expected in attribute " + attributeName + " of dummy group " + groupName +
" but not found. Values found: " + values);
}
}
Expand All @@ -4185,7 +4188,8 @@ protected void assertNoDummyGroupMember(String dummyInstanceName, String dummyGr
IntegrationTestTools.assertNoGroupMember(group, accountId);
}

protected void assertNoDefaultDummyGroupMember(String dummyGroupName, String accountId) throws ConnectException, FileNotFoundException, SchemaViolationException, ConflictException, InterruptedException {
protected void assertNoDefaultDummyGroupMember(String dummyGroupName, String accountId)
throws ConnectException, FileNotFoundException, SchemaViolationException, ConflictException, InterruptedException {
assertNoDummyGroupMember(null, dummyGroupName, accountId);
}

Expand Down Expand Up @@ -5047,7 +5051,7 @@ protected <O extends ObjectType> void assertModifyMetadata(PrismObject<O> object
defaultActor == null ? null : defaultActor.getOid(), DEFAULT_CHANNEL);
}

protected <O extends ObjectType> void assertCreateMetadata(
protected void assertCreateMetadata(
AssignmentType assignmentType, XMLGregorianCalendar start, XMLGregorianCalendar end) {
MetadataType metadataType = assignmentType.getMetadata();
PrismObject<UserType> defaultActor = getDefaultActor();
Expand Down Expand Up @@ -5210,13 +5214,6 @@ protected PrismObject<UserType> getUserFromRepo(String oid, OperationResult resu
return repositoryService.getObject(UserType.class, oid, null, result);
}

// just guessing (good enough for testing)
protected boolean isH2() {
Task task = createTask("isH2");
RepositoryDiag diag = modelDiagnosticService.getRepositoryDiag(task, task.getResult());
return diag.isEmbedded() || "org.h2.Driver".equals(diag.getDriverShortName());
}

protected void assertNoPostponedOperation(PrismObject<ShadowType> shadow) {
List<PendingOperationType> pendingOperations = shadow.asObjectable().getPendingOperation();
if (!pendingOperations.isEmpty()) {
Expand Down Expand Up @@ -5915,8 +5912,8 @@ protected <O extends ObjectType> SearchResultList<PrismObject<O>> assertSearch(C
@NotNull
private Collection<SelectorOptions<GetOperationOptions>> createReadOnly() {
return schemaService.getOperationOptionsBuilder()
.readOnly()
.build();
.readOnly()
.build();
}

protected <O extends ObjectType> void assertSearchRaw(Class<O> type, ObjectQuery query, int expectedResults) throws Exception {
Expand Down

0 comments on commit 2c1c1dd

Please sign in to comment.