public void Link_DeleteHyperLinkTest() { // TODO: Figure out why this tests fail against TFS 2008 but works in TFS 2010 TestEnvironment.CustomActions += new MigrationTestEnvironment.Customize(ConfigCustomizer.CustomActions_DisableContextSync); // add a work item on source side int workitemId = SourceAdapter.AddWorkItem("Bug", "title1", "description1"); // add a link WITLinkChangeAction action1 = new WITLinkChangeAction(LinkChangeActionType.Add); WITLink link1 = new WITLink("link1"); action1.AddLink(link1); SourceAdapter.UpdateWorkItemLink(workitemId, action1); RunAndNoValidate(); // verify there's no conflicts raised ConflictResolver conflictResolver = new ConflictResolver(Configuration); List <RTConflict> conflicts = conflictResolver.GetConflicts(); Assert.AreEqual(0, conflicts.Count, "There should be no conflicts"); // delete the link action1 = new WITLinkChangeAction(LinkChangeActionType.Delete); action1.AddLink(link1); SourceAdapter.UpdateWorkItemLink(workitemId, action1); RunAndNoValidate(true); // verify there's no conflicts raised conflicts = conflictResolver.GetConflicts(); Assert.AreEqual(0, conflicts.Count, "There should be no conflicts"); // verify sync result WitDiffResult result = GetDiffResult(); // ignore Area/Iteration path mismatches VerifySyncResult(result, new List <string> { FIELD_ITERATION_PATH, FIELD_AREA_PATH }); // TODO: Remove the following verification once ServerDiff supports link diffing. int mirroredId = QueryTargetWorkItemID(workitemId); Assert.AreEqual(TfsSourceAdapter.GetHyperLinkCount(workitemId), TfsTargetAdapter.GetHyperLinkCount(mirroredId)); }
private void DeleteHyperLinkScenario() { // add a work item on source side string title = string.Format("{0} {1}", TestContext.TestName, DateTime.Now.ToString("HH'_'mm'_'ss")); int workitemId = SourceAdapter.AddWorkItem("Bug", title, "description1"); // add a link WITLinkChangeAction action1 = new WITLinkChangeAction(LinkChangeActionType.Add); WITLink link1 = new WITLink("link1"); action1.AddLink(link1); SourceAdapter.UpdateWorkItemLink(workitemId, action1); RunAndNoValidate(); // verify there's no conflicts raised ConflictResolver conflictResolver = new ConflictResolver(Configuration); List <RTConflict> conflicts = conflictResolver.GetConflicts(); Assert.AreEqual(0, conflicts.Count, "There should be no conflicts"); // delete the link action1 = new WITLinkChangeAction(LinkChangeActionType.Delete); action1.AddLink(link1); SourceAdapter.UpdateWorkItemLink(workitemId, action1); RunAndNoValidate(true); // verify there's no conflicts raised conflicts = conflictResolver.GetConflicts(); Assert.AreEqual(0, conflicts.Count, "There should be no conflicts"); // verify sync result WitDiffResult result = GetDiffResult(); // ignore Area/Iteration path mismatches VerifySyncResult(result, new List <string> { FIELD_ITERATION_PATH, FIELD_AREA_PATH }); // TODO: Remove the following verification once ServerDiff supports link diffing. int mirroredId = QueryMirroredWorkItemID(workitemId); Assert.AreEqual(TfsSourceAdapter.GetHyperLinkCount(workitemId), TfsTargetAdapter.GetHyperLinkCount(mirroredId)); }