Skip to content

Commit

Permalink
small fix for tests - inbound processing for recon and live sync
Browse files Browse the repository at this point in the history
  • Loading branch information
katkav committed Oct 29, 2014
1 parent f859918 commit ceda610
Show file tree
Hide file tree
Showing 3 changed files with 118 additions and 77 deletions.
Expand Up @@ -15,21 +15,14 @@
*/
package com.evolveum.midpoint.model.intest.sync;

import static org.testng.AssertJUnit.assertTrue;
import static com.evolveum.midpoint.test.IntegrationTestTools.display;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertNotNull;
import static org.testng.AssertJUnit.assertNull;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.List;

import javax.xml.bind.JAXBException;
import javax.xml.datatype.XMLGregorianCalendar;

import org.springframework.test.annotation.DirtiesContext;
Expand All @@ -41,37 +34,17 @@
import com.evolveum.icf.dummy.resource.DummyResource;
import com.evolveum.midpoint.model.intest.AbstractInitializedModelIntegrationTest;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.delta.ItemDelta;
import com.evolveum.midpoint.prism.delta.ObjectDelta;
import com.evolveum.midpoint.prism.delta.PropertyDelta;
import com.evolveum.midpoint.prism.delta.ReferenceDelta;
import com.evolveum.midpoint.prism.path.ItemPath;
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.ObjectTypes;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.ObjectTypeUtil;
import com.evolveum.midpoint.schema.util.ResourceTypeUtil;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.test.DummyResourceContoller;
import com.evolveum.midpoint.test.IntegrationTestTools;
import com.evolveum.midpoint.test.util.TestUtil;
import com.evolveum.midpoint.util.MiscUtil;
import com.evolveum.midpoint.util.exception.CommunicationException;
import com.evolveum.midpoint.util.exception.ConfigurationException;
import com.evolveum.midpoint.util.exception.ObjectAlreadyExistsException;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.exception.SecurityViolationException;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentPolicyEnforcementType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectSynchronizationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectTemplateType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.SynchronizationSituationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.SynchronizationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType;

/**
Expand Down Expand Up @@ -221,52 +194,7 @@ public void test110AddDummyEmeraldAccountMancomb() throws Exception {


@Test
public void test199DeleteDummyEmeraldAccountMancomb() throws Exception {
final String TEST_NAME = "test199DeleteDummyEmeraldAccountMancomb";
TestUtil.displayTestTile(this, TEST_NAME);

// GIVEN
Task task = createTask(AbstractInboundSyncTest.class.getName() + "." + TEST_NAME);
OperationResult result = task.getResult();
rememberTimeBeforeSync();
prepareNotifications();

// Preconditions
assertUsers(6);

/// WHEN
TestUtil.displayWhen(TEST_NAME);

dummyResourceEmerald.deleteAccountByName(ACCOUNT_MANCOMB_DUMMY_USERNAME);

waitForSyncTaskNextRun(resourceDummyEmerald);

// THEN
TestUtil.displayThen(TEST_NAME);

PrismObject<ShadowType> accountMancomb = findAccountByUsername(ACCOUNT_MANCOMB_DUMMY_USERNAME, resourceDummyEmerald);
display("Account mancomb", accountMancomb);
assertNull("Account shadow mancomb not gone", accountMancomb);

PrismObject<UserType> userMancomb = findUserByUsername(ACCOUNT_MANCOMB_DUMMY_USERNAME);
display("User mancomb", userMancomb);
assertNotNull("User mancomb is gone", userMancomb);
assertLinks(userMancomb, 0);
// Disabled by sync reaction
assertAdministrativeStatusDisabled(userMancomb);
assertNull("Unexpected valid from in user", userMancomb.asObjectable().getActivation().getValidFrom());
assertNull("Unexpected valid to in user", userMancomb.asObjectable().getActivation().getValidTo());
// assertValidFrom(userMancomb, ACCOUNT_MANCOMB_VALID_FROM_DATE);
// assertValidTo(userMancomb, ACCOUNT_MANCOMB_VALID_TO_DATE);

assertNoDummyAccount(ACCOUNT_MANCOMB_DUMMY_USERNAME);

assertUsers(6);

// notifications
notificationManager.setDisabled(true);
}

public abstract void test199DeleteDummyEmeraldAccountMancomb() throws Exception;

protected void waitForSyncTaskStart(PrismObject<ResourceType> resource) throws Exception {
waitForTaskStart(getSyncTaskOid(resource), false, getWaitTimeout());
Expand Down
Expand Up @@ -15,9 +15,13 @@
*/
package com.evolveum.midpoint.model.intest.sync;

import java.io.FileNotFoundException;
import static org.testng.AssertJUnit.assertTrue;
import static com.evolveum.midpoint.test.IntegrationTestTools.display;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertNotNull;
import static org.testng.AssertJUnit.assertNull;

import javax.xml.bind.JAXBException;
import java.io.FileNotFoundException;

import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.annotation.DirtiesContext.ClassMode;
Expand All @@ -27,7 +31,10 @@
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.test.util.TestUtil;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType;

/**
* @author semancik
Expand Down Expand Up @@ -61,5 +68,53 @@ protected String getSyncTaskOid(PrismObject<ResourceType> resource) {
throw new IllegalArgumentException("Unknown resource "+resource);
}
}

@Override
public void test199DeleteDummyEmeraldAccountMancomb() throws Exception {
final String TEST_NAME = "test199DeleteDummyEmeraldAccountMancomb";
TestUtil.displayTestTile(this, TEST_NAME);

// GIVEN
Task task = createTask(AbstractInboundSyncTest.class.getName() + "." + TEST_NAME);
OperationResult result = task.getResult();
rememberTimeBeforeSync();
prepareNotifications();

// Preconditions
assertUsers(6);

/// WHEN
TestUtil.displayWhen(TEST_NAME);

dummyResourceEmerald.deleteAccountByName(ACCOUNT_MANCOMB_DUMMY_USERNAME);

waitForSyncTaskNextRun(resourceDummyEmerald);

// THEN
TestUtil.displayThen(TEST_NAME);

PrismObject<ShadowType> accountMancomb = findAccountByUsername(ACCOUNT_MANCOMB_DUMMY_USERNAME, resourceDummyEmerald);
display("Account mancomb", accountMancomb);
assertNull("Account shadow mancomb not gone", accountMancomb);

PrismObject<UserType> userMancomb = findUserByUsername(ACCOUNT_MANCOMB_DUMMY_USERNAME);
display("User mancomb", userMancomb);
assertNotNull("User mancomb is gone", userMancomb);
assertLinks(userMancomb, 0);
// Disabled by sync reaction
assertAdministrativeStatusDisabled(userMancomb);
assertNull("Unexpected valid from in user", userMancomb.asObjectable().getActivation().getValidFrom());
assertNull("Unexpected valid to in user", userMancomb.asObjectable().getActivation().getValidTo());
// assertValidFrom(userMancomb, ACCOUNT_MANCOMB_VALID_FROM_DATE);
// assertValidTo(userMancomb, ACCOUNT_MANCOMB_VALID_TO_DATE);

assertNoDummyAccount(ACCOUNT_MANCOMB_DUMMY_USERNAME);

assertUsers(6);

// notifications
notificationManager.setDisabled(true);

}

}
Expand Up @@ -15,9 +15,12 @@
*/
package com.evolveum.midpoint.model.intest.sync;

import java.io.FileNotFoundException;
import static com.evolveum.midpoint.test.IntegrationTestTools.display;
import static org.testng.AssertJUnit.assertNotNull;
import static org.testng.AssertJUnit.assertNull;

import javax.xml.bind.JAXBException;
import java.io.FileNotFoundException;
import java.util.Date;

import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.annotation.DirtiesContext.ClassMode;
Expand All @@ -27,7 +30,11 @@
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.test.util.TestUtil;
import com.evolveum.midpoint.util.MiscUtil;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType;

/**
* @author semancik
Expand All @@ -37,6 +44,9 @@
@DirtiesContext(classMode = ClassMode.AFTER_CLASS)
public class TestInboundReconTask extends AbstractInboundSyncTest {

private static final Date ACCOUNT_MANCOMB_VALID_FROM_DATE = MiscUtil.asDate(2011, 2, 3, 4, 5, 6);
private static final Date ACCOUNT_MANCOMB_VALID_TO_DATE = MiscUtil.asDate(2066, 5, 4, 3, 2, 1);

@Override
public void initSystem(Task initTask, OperationResult initResult) throws Exception {
super.initSystem(initTask, initResult);
Expand All @@ -61,5 +71,53 @@ protected String getSyncTaskOid(PrismObject<ResourceType> resource) {
throw new IllegalArgumentException("Unknown resource "+resource);
}
}

@Override
public void test199DeleteDummyEmeraldAccountMancomb() throws Exception {
final String TEST_NAME = "test199DeleteDummyEmeraldAccountMancomb";
TestUtil.displayTestTile(this, TEST_NAME);

// GIVEN
Task task = createTask(AbstractInboundSyncTest.class.getName() + "." + TEST_NAME);
OperationResult result = task.getResult();
rememberTimeBeforeSync();
prepareNotifications();

// Preconditions
assertUsers(6);

/// WHEN
TestUtil.displayWhen(TEST_NAME);

dummyResourceEmerald.deleteAccountByName(ACCOUNT_MANCOMB_DUMMY_USERNAME);

waitForSyncTaskNextRun(resourceDummyEmerald);

// THEN
TestUtil.displayThen(TEST_NAME);

PrismObject<ShadowType> accountMancomb = findAccountByUsername(ACCOUNT_MANCOMB_DUMMY_USERNAME, resourceDummyEmerald);
display("Account mancomb", accountMancomb);
assertNull("Account shadow mancomb not gone", accountMancomb);

PrismObject<UserType> userMancomb = findUserByUsername(ACCOUNT_MANCOMB_DUMMY_USERNAME);
display("User mancomb", userMancomb);
assertNotNull("User mancomb is gone", userMancomb);
assertLinks(userMancomb, 0);
// Disabled by sync reaction
assertAdministrativeStatusDisabled(userMancomb);
// assertNull("Unexpected valid from in user", userMancomb.asObjectable().getActivation().getValidFrom());
// assertNull("Unexpected valid to in user", userMancomb.asObjectable().getActivation().getValidTo());
assertValidFrom(userMancomb, ACCOUNT_MANCOMB_VALID_FROM_DATE);
assertValidTo(userMancomb, ACCOUNT_MANCOMB_VALID_TO_DATE);

assertNoDummyAccount(ACCOUNT_MANCOMB_DUMMY_USERNAME);

assertUsers(6);

// notifications
notificationManager.setDisabled(true);

}

}

0 comments on commit ceda610

Please sign in to comment.