Skip to content

Commit

Permalink
infra/schema: test review, added extends from AbstractSchemaTest
Browse files Browse the repository at this point in the history
  • Loading branch information
virgo47 committed Mar 2, 2020
1 parent a6bb6ad commit 2073c40
Show file tree
Hide file tree
Showing 35 changed files with 534 additions and 2,044 deletions.
Expand Up @@ -6,6 +6,8 @@
*/
package com.evolveum.midpoint.schema;

import static com.evolveum.midpoint.prism.util.PrismTestUtil.getPrismContext;

import java.io.File;
import java.io.IOException;

Expand All @@ -16,17 +18,15 @@
import com.evolveum.midpoint.prism.util.PrismTestUtil;
import com.evolveum.midpoint.schema.constants.MidPointConstants;
import com.evolveum.midpoint.schema.util.SchemaDebugUtil;
import com.evolveum.midpoint.tools.testng.AbstractUnitTest;
import com.evolveum.midpoint.util.PrettyPrinter;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType;

import static com.evolveum.midpoint.prism.util.PrismTestUtil.getPrismContext;

/**
* @author semancik
*
*/
public abstract class AbstractSchemaTest {
public abstract class AbstractSchemaTest extends AbstractUnitTest {

protected static final File COMMON_DIR = new File("src/test/resources/common");

Expand All @@ -52,12 +52,4 @@ public void setup() throws SchemaException, SAXException, IOException {
protected PrismObjectDefinition<UserType> getUserDefinition() {
return getPrismContext().getSchemaRegistry().findObjectDefinitionByCompileTimeClass(UserType.class);
}

protected void displayTestTile(String TEST_NAME) {
System.out.println("===[ "+TEST_NAME+" ]====");
}

// protected UniformItemPath path(Object... components) {
// return getPrismContext().path(components);
// }
}
Expand Up @@ -7,6 +7,19 @@

package com.evolveum.midpoint.schema;

import static org.testng.AssertJUnit.*;

import static com.evolveum.midpoint.prism.equivalence.ParameterizedEquivalenceStrategy.LITERAL;
import static com.evolveum.midpoint.prism.equivalence.ParameterizedEquivalenceStrategy.NOT_LITERAL;

import java.io.File;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import javax.xml.namespace.QName;

import org.testng.annotations.Test;

import com.evolveum.midpoint.prism.*;
import com.evolveum.midpoint.prism.delta.ChangeType;
import com.evolveum.midpoint.prism.delta.ObjectDelta;
Expand All @@ -16,37 +29,19 @@
import com.evolveum.midpoint.prism.util.PrismAsserts;
import com.evolveum.midpoint.prism.util.PrismTestUtil;
import com.evolveum.midpoint.prism.xml.XmlTypeConverter;
import com.evolveum.midpoint.schema.constants.MidPointConstants;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.schema.util.PolicyRuleTypeUtil;
import com.evolveum.midpoint.util.DOMUtil;
import com.evolveum.midpoint.util.DebugUtil;
import com.evolveum.midpoint.util.PrettyPrinter;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
import com.evolveum.prism.xml.ns._public.types_3.PolyStringType;
import com.evolveum.prism.xml.ns._public.types_3.ProtectedStringType;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;
import org.xml.sax.SAXException;

import javax.xml.namespace.QName;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

import static com.evolveum.midpoint.prism.equivalence.ParameterizedEquivalenceStrategy.LITERAL;
import static com.evolveum.midpoint.prism.equivalence.ParameterizedEquivalenceStrategy.NOT_LITERAL;
import static org.testng.AssertJUnit.*;

/**
* @author lazyman
*/
public class TestDiffEquals {
public class TestDiffEquals extends AbstractSchemaTest {

public static final File TEST_DIR = new File("src/test/resources/diff");
private static final File ROLE_COMPARE_FILE = new File(TEST_DIR, "role-compare.xml");
Expand All @@ -56,17 +51,8 @@ public class TestDiffEquals {

private static final String NS_TEST_RI = "http://midpoint.evolveum.com/xml/ns/test/ri-1";

private static final Trace LOGGER = TraceManager.getTrace(TestDiffEquals.class);

@BeforeSuite
public void setup() throws SchemaException, SAXException, IOException {
PrettyPrinter.setDefaultNamespacePrefix(MidPointConstants.NS_MIDPOINT_PUBLIC_PREFIX);
PrismTestUtil.resetPrismContext(MidPointPrismContextFactory.FACTORY);
}

@Test
public void testUserSimplePropertyDiff() throws SchemaException {
System.out.println("\n\n===[ testUserSimplePropertyDiff ]===\n");
UserType userType1 = new UserType();
userType1.setName(PrismTestUtil.createPolyStringType("test name"));
UserType userType2 = new UserType();
Expand All @@ -87,7 +73,6 @@ public void testUserSimplePropertyDiff() throws SchemaException {

@Test
public void testUserListSimpleDiff() throws SchemaException {
System.out.println("\n\n===[ testUserListSimpleDiff ]===\n");
UserType u1 = new UserType();
u1.setName(PrismTestUtil.createPolyStringType("test name"));
UserType u2 = new UserType();
Expand All @@ -108,7 +93,6 @@ public void testUserListSimpleDiff() throws SchemaException {

@Test
public void testAssignmentEquals1() throws Exception {
System.out.println("\n\n===[ testAssignmentEquals1 ]===\n");
PrismContext prismContext = PrismTestUtil.getPrismContext();

AssignmentType a1a = new AssignmentType();
Expand Down Expand Up @@ -167,9 +151,8 @@ public void testAssignmentEquals1() throws Exception {
assertTrue(a1e.equals(a1m));
}

@Test(enabled=false) // MID-3966
@Test(enabled = false) // MID-3966
public void testAssignmentEquals2() throws Exception {
System.out.println("\n\n===[ testAssignmentEquals2 ]===\n");
PrismContext prismContext = PrismTestUtil.getPrismContext();

PrismObject<RoleType> roleCompare = prismContext.parseObject(ROLE_COMPARE_FILE);
Expand All @@ -190,8 +173,7 @@ public void testAssignmentEquals2() throws Exception {
}

@Test
public void testAssignmentEquivalent() throws Exception {
System.out.println("\n\n===[ testAssignmentEquivalent ]===\n");
public void testAssignmentEquivalent() {
PrismContext prismContext = PrismTestUtil.getPrismContext();

AssignmentType a1 = new AssignmentType(prismContext);
Expand All @@ -215,7 +197,6 @@ public void testAssignmentEquivalent() throws Exception {

@Test
public void testContextlessAssignmentEquals() throws Exception {
System.out.println("\n\n===[ testContextlessAssignmentEquals ]===\n");
AssignmentType a1 = new AssignmentType(); // no prismContext here
a1.setDescription("descr1");

Expand All @@ -238,8 +219,6 @@ public void testContextlessAssignmentEquals() throws Exception {

@Test
public void testContextlessAssignmentEquals2() throws Exception {
System.out.println("\n\n===[ testContextlessAssignmentEquals2 ]===\n");

// (1) user without prismContext - the functionality is reduced

UserType user = new UserType();
Expand Down Expand Up @@ -284,8 +263,6 @@ public void testContextlessAssignmentEquals2() throws Exception {

@Test
public void testAssignmentHashcode() throws Exception {
LOGGER.info("\n\n===[ testAssignmentHashcode ]===\n");
System.out.println("\n\n===[ testAssignmentHashcode ]===\n");
PrismContext prismContext = PrismTestUtil.getPrismContext();

AssignmentType a1a = new AssignmentType();
Expand Down Expand Up @@ -347,23 +324,21 @@ public void testAssignmentHashcode() throws Exception {
// MID-4251
@Test
public void testAssignmentHashcode2() {
LOGGER.info("\n\n===[ testAssignmentHashcode2 ]===\n");
System.out.println("\n\n===[ testAssignmentHashcode2 ]===\n");
PrismContext prismContext = PrismTestUtil.getPrismContext();

AssignmentType a1a = new AssignmentType(prismContext).id(6L)
.beginMetadata()
.createApprovalComment("hi")
.createApprovalComment("hi")
.<AssignmentType>end()
.targetRef(new ObjectReferenceType().oid("target").type(OrgType.COMPLEX_TYPE).relation(SchemaConstants.ORG_DEFAULT))
.beginActivation()
.effectiveStatus(ActivationStatusType.ENABLED)
.validTo("2018-01-01T00:00:00.000+01:00")
.effectiveStatus(ActivationStatusType.ENABLED)
.validTo("2018-01-01T00:00:00.000+01:00")
.end();
AssignmentType a1b = new AssignmentType(prismContext)
.targetRef(new ObjectReferenceType().oid("target").type(OrgType.COMPLEX_TYPE))
.beginActivation()
.validTo("2018-01-01T00:00:00.000+01:00")
.validTo("2018-01-01T00:00:00.000+01:00")
.end();

// WHEN
Expand All @@ -372,14 +347,12 @@ public void testAssignmentHashcode2() {

// MID-4251
@Test
public void testAssignmentHashcode3() throws SchemaException {
LOGGER.info("\n\n===[ testAssignmentHashcode3 ]===\n");
System.out.println("\n\n===[ testAssignmentHashcode3 ]===\n");
public void testAssignmentHashcode3() {
PrismContext prismContext = PrismTestUtil.getPrismContext();

AssignmentType a1a = new AssignmentType(prismContext)
.beginActivation()
.validTo("2018-01-01T00:00:00.000+01:00")
.validTo("2018-01-01T00:00:00.000+01:00")
.end();
AssignmentType a1b = a1a.clone();

Expand All @@ -397,7 +370,6 @@ public void testAssignmentHashcode3() throws SchemaException {

@Test
public void testDiffShadow() throws Exception {
System.out.println("\n\n===[ testDiffShadow ]===\n");
PrismContext prismContext = PrismTestUtil.getPrismContext();

PrismObject<ShadowType> shadow1 = prismContext.getSchemaRegistry()
Expand Down Expand Up @@ -449,7 +421,7 @@ public void testDiffShadow() throws Exception {
}

@Test
public void testTriggerCollectionsEqual() throws Exception {
public void testTriggerCollectionsEqual() {
EvaluatedPolicyRuleTriggerType trigger1 = new EvaluatedPolicyRuleTriggerType()
.triggerId(100)
.ruleName("rule100");
Expand All @@ -476,7 +448,7 @@ public void testTriggerCollectionsEqual() throws Exception {
.ruleName("rule1")
.sourceRule(sourceRule2)
.sourceRule(sourceRule1)
);
);
List<EvaluatedPolicyRuleTriggerType> triggerListC = Arrays.asList(
trigger1,
trigger2,
Expand All @@ -485,7 +457,7 @@ public void testTriggerCollectionsEqual() throws Exception {
.ruleName("rule123")
.sourceRule(sourceRule2)
.sourceRule(sourceRule1)
);
);

assertEquals("Wrong comparison A-A", true, PolicyRuleTypeUtil.triggerCollectionsEqual(triggerListA, triggerListA));
assertEquals("Wrong comparison A-B", true, PolicyRuleTypeUtil.triggerCollectionsEqual(triggerListA, triggerListB));
Expand All @@ -505,29 +477,28 @@ public void diffRoles() throws Exception {

@Test // MID-4688
public void testDiffWithMetadata() {
System.out.println("\n\n===[ testDiffWithMetadata ]===\n");
PrismContext prismContext = PrismTestUtil.getPrismContext();

ProtectedStringType value = new ProtectedStringType();
value.setClearValue("abc");

PrismObject<UserType> user1 = new UserType(prismContext)
.beginCredentials()
.beginPassword()
.value(value.clone())
.beginMetadata()
.requestorComment("hi")
.<PasswordType>end()
.<CredentialsType>end()
.beginPassword()
.value(value.clone())
.beginMetadata()
.requestorComment("hi")
.<PasswordType>end()
.<CredentialsType>end()
.<UserType>end()
.asPrismObject();
PrismObject<UserType> user2 = new UserType(prismContext)
.beginCredentials()
.beginPassword()
.value(value.clone())
.beginMetadata()
.<PasswordType>end()
.<CredentialsType>end()
.beginPassword()
.value(value.clone())
.beginMetadata()
.<PasswordType>end()
.<CredentialsType>end()
.<UserType>end()
.asPrismObject();

Expand All @@ -546,8 +517,6 @@ public void testDiffWithMetadata() {
// MID-5851
@Test
public void testRawValuesHashCode() throws SchemaException {
LOGGER.info("\n\n===[ testRawValuesHashCode ]===\n");
System.out.println("\n\n===[ testRawValuesHashCode ]===\n");
PrismContext prismContext = PrismTestUtil.getPrismContext();

QName extensionPropertyName = new QName(NS_TEST_RI, "extensionProperty");
Expand All @@ -559,7 +528,7 @@ public void testRawValuesHashCode() throws SchemaException {
PrismProperty<String> propertyParsed = extensionPropertyDef.instantiate();
PrismProperty<String> propertyRaw = extensionPropertyDef.instantiate();
propertyParsed.setRealValue("value");
propertyRaw.setValue(prismContext.itemFactory().createPropertyValue(new PrimitiveXNodeImpl<String>("value")));
propertyRaw.setValue(prismContext.itemFactory().createPropertyValue(new PrimitiveXNodeImpl<>("value")));

PrismObject<UserType> userParsed = new UserType(prismContext)
.name("user")
Expand Down Expand Up @@ -594,5 +563,4 @@ private void assertHashAndEquals(PrismObject<UserType> user1, PrismObject<UserTy
}
assertEquals("Hashcodes are not equal (strategy=" + strategy + ")", hash1, hash2);
}

}

0 comments on commit 2073c40

Please sign in to comment.