Project Description

The objective of this project is to provide FIM Synchronization Service integration testers with the necessary tools to automate validation of FIM Sync Engine rules.

Code sample below illustrates this pattern.

// Introduce changes to the connected systems

var dn = ActiveDirectoryHelper.CreateNewAccount(ADAccountInfo adAccountInfo);
var employeeID = HRHelper.CreateNewHRRecord(HRAccountInfo hrAccountInfo);
 
// Run FIM Sync Cycle 
RunProfileInvoker.RunFullCycle();

// Validate Projection and Joins
mms_metaverse mvEntryFoundByDN;
mms_metaverse mvEntryFoundByEmployeeID;
// Assumes that there is an import attribute flow of employeeID to the Metaverse
Assert.IsTrue(MetaverseHelper.TryToGetMVEntryByEmployeeID(employeeID, out mvEntryFoundByEmployeeID));
// Assumes that there is an import attribute flow of distinghuishedName to the Metaverse
Assert.IsTrue(MetaverseHelper.TryToGetMVEntryByActiveDirectoryDN(dn, out mvEntryFoundByDN));
// Make sure that the two queries above returned the same MVEntry, thus confirming the join.

Assert.IsTrue(mventryFoundByGUID.object_id == mvEntryFoundByEmployeeID.object_id);
// As an extra check, confirm that the csEntry corresponding the AD DN is in fact linked to the MVEntry 
Assert.IsTrue(ConnectorSpaceHelper.IsCsEntryConnectedToMVEntry(
		mvEntryFoundByDN.object_id,
 		dn,
		ActiveDirectoryMAName);

Read more here: Programmatically confirming projection and join operation in FIM Synchronization Service during integration testing

Last edited Aug 7, 2012 at 2:08 PM by atcherni, version 2