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)); }
public WITLink GetHyperLink(int workItemId, string location) { string condition = String.Format("[System.Id] = {0}", workItemId); WITUtil util = new WITUtil(WorkItemStore, TeamProjectName, condition, string.Empty); WorkItem wi = util.WorkItems[0]; Hyperlink link = FindHyperLink(location, wi.Links); WITLink witLink = null; if (link != null) { witLink = new WITLink(link.Location, link.Comment); } return(witLink); }
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)); }
public void Link_UpdateTest() { TestEnvironment.CustomActions += new MigrationTestEnvironment.Customize(ConfigCustomizer.CustomActions_DisableContextSync); // 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"); string location = "link1"; WITLinkChangeAction action1 = new WITLinkChangeAction(LinkChangeActionType.Add); action1.AddLink(new WITLink(location, "comment1")); SourceAdapter.UpdateWorkItemLink(workitemId, action1); // update link comment string newComment = "new comment 2"; WITLinkChangeAction action2 = new WITLinkChangeAction(LinkChangeActionType.Edit); action2.AddLink(new WITLink(location, newComment)); SourceAdapter.UpdateWorkItemLink(workitemId, action2); 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"); // verify sync result WitDiffResult result = GetDiffResult(); // ignore Area/Iteration path mismatches VerifySyncResult(result, new List <string> { FIELD_ITERATION_PATH, FIELD_AREA_PATH }); // Title <-> Description int mirroredId = QueryMirroredWorkItemID(workitemId); Assert.AreEqual(TfsTargetAdapter.GetHyperLinkCount(mirroredId), 1); WITLink tarLink = TargetAdapter.GetHyperLink(mirroredId, location); Assert.AreEqual(tarLink.Comment, newComment); }