public void Policy_failed_and_Force_without_an_OverrideReason() { var logger = new StringWriter(); Trace.Listeners.Add(new TextWriterTraceListener(logger)); IPendingChange pendingChange = new Mock <IPendingChange>().Object; IPendingChange[] allPendingChanges = new IPendingChange[] { pendingChange }; workspace.Setup(w => w.GetPendingChanges()).Returns(allPendingChanges); ICheckinEvaluationResult checkinEvaluationResult = new StubbedCheckinEvaluationResult() .WithPoilicyFailure("No work items associated."); checkinOptions.Force = true; workspace.Setup(w => w.EvaluateCheckin( It.IsAny <TfsCheckinEvaluationOptions>(), It.IsAny <IPendingChange[]>(), It.IsAny <IPendingChange[]>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <ICheckinNote>(), It.IsAny <IEnumerable <IWorkItemCheckinInfo> >())) .Returns(checkinEvaluationResult); workspace.Setup(w => w.Checkin( It.IsAny <IPendingChange[]>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <ICheckinNote>(), It.IsAny <IEnumerable <IWorkItemCheckinInfo> >(), It.IsAny <TfsPolicyOverrideInfo>(), It.IsAny <bool>())) .Returns(0); var ex = Assert.Throws <GitTfsException>(() => { var result = tfsWorkspace.Checkin(checkinOptions); }); Assert.Equal("A reason must be supplied (-f REASON) to override the policy violations.", ex.Message); Assert.Contains("[ERROR] Policy: No work items associated.", logger.ToString()); }
public void Policy_failed_and_Force_with_an_OverrideReason() { var logger = new StringWriter(); Trace.Listeners.Add(new TextWriterTraceListener(logger)); IPendingChange pendingChange = new Mock <IPendingChange>().Object; IPendingChange[] allPendingChanges = new IPendingChange[] { pendingChange }; workspace.Setup(w => w.GetPendingChanges()).Returns(allPendingChanges); ICheckinEvaluationResult checkinEvaluationResult = new StubbedCheckinEvaluationResult() .WithPoilicyFailure("No work items associated."); checkinOptions.Force = true; checkinOptions.OverrideReason = "no work items"; workspace.Setup(w => w.EvaluateCheckin( It.IsAny <TfsCheckinEvaluationOptions>(), It.IsAny <IPendingChange[]>(), It.IsAny <IPendingChange[]>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <ICheckinNote>(), It.IsAny <IEnumerable <IWorkItemCheckinInfo> >())) .Returns(checkinEvaluationResult); workspace.Setup(w => w.Checkin( It.IsAny <IPendingChange[]>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <ICheckinNote>(), It.IsAny <IEnumerable <IWorkItemCheckinInfo> >(), It.IsAny <TfsPolicyOverrideInfo>(), It.IsAny <bool>())).Returns(1); var result = tfsWorkspace.Checkin(checkinOptions); Assert.Contains("[OVERRIDDEN] Policy: No work items associated.", logger.ToString()); }
public void Checkin_failed() { IPendingChange pendingChange = new Mock <IPendingChange>().Object; IPendingChange[] allPendingChanges = new IPendingChange[] { pendingChange }; workspace.Setup(w => w.GetPendingChanges()).Returns(allPendingChanges); ICheckinEvaluationResult checkinEvaluationResult = new StubbedCheckinEvaluationResult(); workspace.Setup(w => w.EvaluateCheckin( It.IsAny <TfsCheckinEvaluationOptions>(), It.IsAny <IPendingChange[]>(), It.IsAny <IPendingChange[]>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <ICheckinNote>(), It.IsAny <IEnumerable <IWorkItemCheckinInfo> >())) .Returns(checkinEvaluationResult); workspace.Setup(w => w.Checkin( It.IsAny <IPendingChange[]>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <ICheckinNote>(), It.IsAny <IEnumerable <IWorkItemCheckinInfo> >(), It.IsAny <TfsPolicyOverrideInfo>(), It.IsAny <bool>())) .Returns(0); var ex = Assert.Throws <GitTfsException>(() => { var result = tfsWorkspace.Checkin(checkinOptions); }); Assert.Equal("Checkin failed!", ex.Message); }