public IEnumerable<string> EvaluateCheckin(IWorkspace workspace, IPendingChange[] pendingChanges, string comment, IEnumerable<IWorkItemCheckinInfo> workItemInfo) { var result = workspace.EvaluateCheckin(TfsCheckinEvaluationOptions.All, pendingChanges, pendingChanges, comment, null, workItemInfo); return BuildMessages(result); }
public CheckinPolicyEvaluationResult EvaluateCheckin(IWorkspace workspace, IPendingChange[] pendingChanges, string comment, ICheckinNote checkinNote, IEnumerable<IWorkItemCheckinInfo> workItemInfo) { var result = workspace.EvaluateCheckin(TfsCheckinEvaluationOptions.All, pendingChanges, pendingChanges, comment, null, checkinNote, workItemInfo); return new CheckinPolicyEvaluationResult(result); }
public void Policy_failed_and_Force_without_an_OverrideReason() { var logger = new StringWriter(); Trace.Listeners.Add(new TextWriterTraceListener(logger)); IWorkspace workspace = MockRepository.GenerateStub <IWorkspace>(); string localDirectory = string.Empty; TfsChangesetInfo contextVersion = MockRepository.GenerateStub <TfsChangesetInfo>(); IGitTfsRemote remote = MockRepository.GenerateStub <IGitTfsRemote>(); remote.Repository = MockRepository.GenerateStub <IGitRepository>(); CheckinOptions checkinOptions = new CheckinOptions(); ITfsHelper tfsHelper = MockRepository.GenerateStub <ITfsHelper>(); CheckinPolicyEvaluator policyEvaluator = new CheckinPolicyEvaluator(); TfsWorkspace tfsWorkspace = new TfsWorkspace(workspace, localDirectory, contextVersion, remote, checkinOptions, tfsHelper, policyEvaluator); IPendingChange pendingChange = MockRepository.GenerateStub <IPendingChange>(); IPendingChange[] allPendingChanges = new IPendingChange[] { pendingChange }; workspace.Stub(w => w.GetPendingChanges()).Return(allPendingChanges); ICheckinEvaluationResult checkinEvaluationResult = new StubbedCheckinEvaluationResult() .WithPoilicyFailure("No work items associated."); checkinOptions.Force = true; workspace.Stub(w => w.EvaluateCheckin( Arg <TfsCheckinEvaluationOptions> .Is.Anything, Arg <IPendingChange[]> .Is.Anything, Arg <IPendingChange[]> .Is.Anything, Arg <string> .Is.Anything, Arg <string> .Is.Anything, Arg <ICheckinNote> .Is.Anything, Arg <IEnumerable <IWorkItemCheckinInfo> > .Is.Anything)) .Return(checkinEvaluationResult); workspace.Expect(w => w.Checkin( Arg <IPendingChange[]> .Is.Anything, Arg <string> .Is.Anything, Arg <string> .Is.Anything, Arg <ICheckinNote> .Is.Anything, Arg <IEnumerable <IWorkItemCheckinInfo> > .Is.Anything, Arg <TfsPolicyOverrideInfo> .Is.Anything, Arg <bool> .Is.Anything)) .Return(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 int Checkin(IPendingChange[] changes, string comment, ICheckinNote checkinNote, IEnumerable<IWorkItemCheckinInfo> workItemChanges, TfsPolicyOverrideInfo policyOverrideInfo, bool overrideGatedCheckIn) { return _workspace.CheckIn( _bridge.Unwrap<PendingChange>(changes), comment, _bridge.Unwrap<CheckinNote>(checkinNote), _bridge.Unwrap<WorkItemCheckinInfo>(workItemChanges), ToTfs(policyOverrideInfo)); }
public int Checkin(IPendingChange[] changes, string comment, ICheckinNote checkinNote, IEnumerable<IWorkItemCheckinInfo> workItemChanges, TfsPolicyOverrideInfo policyOverrideInfo, bool overrideGatedCheckIn) { var checkinParameters = new WorkspaceCheckInParameters(_bridge.Unwrap<PendingChange>(changes), comment) { CheckinNotes = _bridge.Unwrap<CheckinNote>(checkinNote), AssociatedWorkItems = _bridge.Unwrap<WorkItemCheckinInfo>(workItemChanges), PolicyOverride = ToTfs(policyOverrideInfo), OverrideGatedCheckIn = overrideGatedCheckIn }; return _workspace.CheckIn(checkinParameters); }
public void Policy_failed_and_Force_with_an_OverrideReason() { IWorkspace workspace = MockRepository.GenerateStub <IWorkspace>(); string localDirectory = string.Empty; TextWriter writer = new StringWriter(); TfsChangesetInfo contextVersion = MockRepository.GenerateStub <TfsChangesetInfo>(); IGitTfsRemote remote = MockRepository.GenerateStub <IGitTfsRemote>(); remote.Repository = MockRepository.GenerateStub <IGitRepository>(); CheckinOptions checkinOptions = new CheckinOptions(); ITfsHelper tfsHelper = MockRepository.GenerateStub <ITfsHelper>(); CheckinPolicyEvaluator policyEvaluator = new CheckinPolicyEvaluator(); TfsWorkspace tfsWorkspace = new TfsWorkspace(workspace, localDirectory, writer, contextVersion, remote, checkinOptions, tfsHelper, policyEvaluator); IPendingChange pendingChange = MockRepository.GenerateStub <IPendingChange>(); IPendingChange[] allPendingChanges = new IPendingChange[] { pendingChange }; workspace.Stub(w => w.GetPendingChanges()).Return(allPendingChanges); ICheckinEvaluationResult checkinEvaluationResult = new StubbedCheckinEvaluationResult() .WithPoilicyFailure("No work items associated."); checkinOptions.Force = true; checkinOptions.OverrideReason = "no work items"; workspace.Stub(w => w.EvaluateCheckin( Arg <TfsCheckinEvaluationOptions> .Is.Anything, Arg <IPendingChange[]> .Is.Anything, Arg <IPendingChange[]> .Is.Anything, Arg <string> .Is.Anything, Arg <string> .Is.Anything, Arg <ICheckinNote> .Is.Anything, Arg <IEnumerable <IWorkItemCheckinInfo> > .Is.Anything)) .Return(checkinEvaluationResult); workspace.Expect(w => w.Checkin( Arg <IPendingChange[]> .Is.Anything, Arg <string> .Is.Anything, Arg <string> .Is.Anything, Arg <ICheckinNote> .Is.Anything, Arg <IEnumerable <IWorkItemCheckinInfo> > .Is.Anything, Arg <TfsPolicyOverrideInfo> .Is.Anything, Arg <bool> .Is.Anything)) .Return(1); var result = tfsWorkspace.Checkin(checkinOptions); Assert.Contains("[OVERRIDDEN] Policy: No work items associated.", writer.ToString()); }
public void Checkin_failed() { IWorkspace workspace = MockRepository.GenerateStub <IWorkspace>(); string localDirectory = string.Empty; TextWriter writer = new StringWriter(); TfsChangesetInfo contextVersion = MockRepository.GenerateStub <TfsChangesetInfo>(); IGitTfsRemote remote = MockRepository.GenerateStub <IGitTfsRemote>(); remote.Repository = MockRepository.GenerateStub <IGitRepository>(); CheckinOptions checkinOptions = new CheckinOptions(); ITfsHelper tfsHelper = MockRepository.GenerateStub <ITfsHelper>(); CheckinPolicyEvaluator policyEvaluator = new CheckinPolicyEvaluator(); TfsWorkspace tfsWorkspace = new TfsWorkspace(workspace, localDirectory, writer, contextVersion, remote, checkinOptions, tfsHelper, policyEvaluator); IPendingChange pendingChange = MockRepository.GenerateStub <IPendingChange>(); IPendingChange[] allPendingChanges = new IPendingChange[] { pendingChange }; workspace.Stub(w => w.GetPendingChanges()).Return(allPendingChanges); ICheckinEvaluationResult checkinEvaluationResult = new StubbedCheckinEvaluationResult(); workspace.Stub(w => w.EvaluateCheckin( Arg <TfsCheckinEvaluationOptions> .Is.Anything, Arg <IPendingChange[]> .Is.Anything, Arg <IPendingChange[]> .Is.Anything, Arg <string> .Is.Anything, Arg <string> .Is.Anything, Arg <ICheckinNote> .Is.Anything, Arg <IEnumerable <IWorkItemCheckinInfo> > .Is.Anything)) .Return(checkinEvaluationResult); workspace.Expect(w => w.Checkin( Arg <IPendingChange[]> .Is.Anything, Arg <string> .Is.Anything, Arg <string> .Is.Anything, Arg <ICheckinNote> .Is.Anything, Arg <IEnumerable <IWorkItemCheckinInfo> > .Is.Anything, Arg <TfsPolicyOverrideInfo> .Is.Anything, Arg <bool> .Is.Anything)) .Return(0); var ex = Assert.Throws <GitTfsException>(() => { var result = tfsWorkspace.Checkin(checkinOptions); }); Assert.Equal("Checkin failed!", ex.Message); }
public void Checkin_failed() { IWorkspace workspace = MockRepository.GenerateStub<IWorkspace>(); string localDirectory = string.Empty; TextWriter writer = new StringWriter(); TfsChangesetInfo contextVersion = MockRepository.GenerateStub<TfsChangesetInfo>(); IGitTfsRemote remote = MockRepository.GenerateStub<IGitTfsRemote>(); remote.Repository = MockRepository.GenerateStub<IGitRepository>(); CheckinOptions checkinOptions = new CheckinOptions(); ITfsHelper tfsHelper = MockRepository.GenerateStub<ITfsHelper>(); CheckinPolicyEvaluator policyEvaluator = new CheckinPolicyEvaluator(); TfsWorkspace tfsWorkspace = new TfsWorkspace(workspace, localDirectory, writer, contextVersion, remote, checkinOptions, tfsHelper, policyEvaluator); IPendingChange pendingChange = MockRepository.GenerateStub<IPendingChange>(); IPendingChange[] allPendingChanges = new IPendingChange[] { pendingChange }; workspace.Stub(w => w.GetPendingChanges()).Return(allPendingChanges); ICheckinEvaluationResult checkinEvaluationResult = new StubbedCheckinEvaluationResult(); workspace.Stub(w => w.EvaluateCheckin( Arg<TfsCheckinEvaluationOptions>.Is.Anything, Arg<IPendingChange[]>.Is.Anything, Arg<IPendingChange[]>.Is.Anything, Arg<string>.Is.Anything, Arg<string>.Is.Anything, Arg<ICheckinNote>.Is.Anything, Arg<IEnumerable<IWorkItemCheckinInfo>>.Is.Anything)) .Return(checkinEvaluationResult); workspace.Expect(w => w.Checkin( Arg<IPendingChange[]>.Is.Anything, Arg<string>.Is.Anything, Arg<string>.Is.Anything, Arg<ICheckinNote>.Is.Anything, Arg<IEnumerable<IWorkItemCheckinInfo>>.Is.Anything, Arg<TfsPolicyOverrideInfo>.Is.Anything, Arg<bool>.Is.Anything)) .Return(0); var ex = Assert.Throws<GitTfsException>(() => { var result = tfsWorkspace.Checkin(checkinOptions); }); Assert.Equal("Checkin failed!", ex.Message); }
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); }
public void Policy_failed() { var logger = new StringWriter(); Trace.Listeners.Add(new TextWriterTraceListener(logger)); IWorkspace workspace = MockRepository.GenerateStub<IWorkspace>(); string localDirectory = string.Empty; TfsChangesetInfo contextVersion = MockRepository.GenerateStub<TfsChangesetInfo>(); IGitTfsRemote remote = MockRepository.GenerateStub<IGitTfsRemote>(); remote.Repository = MockRepository.GenerateStub<IGitRepository>(); CheckinOptions checkinOptions = new CheckinOptions(); ITfsHelper tfsHelper = MockRepository.GenerateStub<ITfsHelper>(); CheckinPolicyEvaluator policyEvaluator = new CheckinPolicyEvaluator(); TfsWorkspace tfsWorkspace = new TfsWorkspace(workspace, localDirectory, contextVersion, remote, checkinOptions, tfsHelper, policyEvaluator); IPendingChange pendingChange = MockRepository.GenerateStub<IPendingChange>(); IPendingChange[] allPendingChanges = new IPendingChange[] { pendingChange }; workspace.Stub(w => w.GetPendingChanges()).Return(allPendingChanges); ICheckinEvaluationResult checkinEvaluationResult = new StubbedCheckinEvaluationResult() .WithPoilicyFailure("No work items associated."); workspace.Stub(w => w.EvaluateCheckin( Arg<TfsCheckinEvaluationOptions>.Is.Anything, Arg<IPendingChange[]>.Is.Anything, Arg<IPendingChange[]>.Is.Anything, Arg<string>.Is.Anything, Arg<string>.Is.Anything, Arg<ICheckinNote>.Is.Anything, Arg<IEnumerable<IWorkItemCheckinInfo>>.Is.Anything)) .Return(checkinEvaluationResult); workspace.Expect(w => w.Checkin( Arg<IPendingChange[]>.Is.Anything, Arg<string>.Is.Anything, Arg<string>.Is.Anything, Arg<ICheckinNote>.Is.Anything, Arg<IEnumerable<IWorkItemCheckinInfo>>.Is.Anything, Arg<TfsPolicyOverrideInfo>.Is.Anything, Arg<bool>.Is.Anything)) .Return(0); var ex = Assert.Throws<GitTfsException>(() => { var result = tfsWorkspace.Checkin(checkinOptions); }); Assert.Equal("No changes checked in.", ex.Message); Assert.Contains("[ERROR] Policy: No work items associated.", logger.ToString()); }
public ICheckinEvaluationResult EvaluateCheckin(TfsCheckinEvaluationOptions options, IPendingChange[] allChanges, IPendingChange[] changes, string comment, string authors, ICheckinNote checkinNote, IEnumerable<IWorkItemCheckinInfo> workItemChanges) { throw new NotImplementedException(); }
public PendingChange Unwrap(IPendingChange pendingChange) { return WrapperFor<PendingChange>.Unwrap(pendingChange); }
public long ShowCheckinDialog(IWorkspace workspace, IPendingChange[] pendingChanges, IEnumerable<IWorkItemCheckedInfo> checkedInfos, string checkinComment) { throw new NotImplementedException(); }
public int Checkin(IPendingChange[] changes, string comment, string author, ICheckinNote checkinNote, IEnumerable<IWorkItemCheckinInfo> workItemChanges, TfsPolicyOverrideInfo policyOverrideInfo, bool overrideGatedCheckIn) { throw new NotImplementedException(); }
public void Policy_failed_and_Force_with_an_OverrideReason() { IWorkspace workspace = MockRepository.GenerateStub<IWorkspace>(); string localDirectory = string.Empty; TextWriter writer = new StringWriter(); TfsChangesetInfo contextVersion = MockRepository.GenerateStub<TfsChangesetInfo>(); IGitTfsRemote remote = MockRepository.GenerateStub<IGitTfsRemote>(); CheckinOptions checkinOptions = new CheckinOptions(); ITfsHelper tfsHelper = MockRepository.GenerateStub<ITfsHelper>(); CheckinPolicyEvaluator policyEvaluator = new CheckinPolicyEvaluator(); TfsWorkspace tfsWorkspace = new TfsWorkspace(workspace, localDirectory, writer, contextVersion, remote, checkinOptions, tfsHelper, policyEvaluator); IPendingChange pendingChange = MockRepository.GenerateStub<IPendingChange>(); IPendingChange[] allPendingChanges = new IPendingChange[] { pendingChange }; workspace.Stub(w => w.GetPendingChanges()).Return(allPendingChanges); ICheckinEvaluationResult checkinEvaluationResult = new StubbedCheckinEvaluationResult() .WithPoilicyFailure("No work items associated."); checkinOptions.Force = true; checkinOptions.OverrideReason = "no work items"; workspace.Stub(w => w.EvaluateCheckin( Arg<TfsCheckinEvaluationOptions>.Is.Anything, Arg<IPendingChange[]>.Is.Anything, Arg<IPendingChange[]>.Is.Anything, Arg<string>.Is.Anything, Arg<string>.Is.Anything, Arg<ICheckinNote>.Is.Anything, Arg<IEnumerable<IWorkItemCheckinInfo>>.Is.Anything)) .Return(checkinEvaluationResult); workspace.Expect(w => w.Checkin( Arg<IPendingChange[]>.Is.Anything, Arg<string>.Is.Anything, Arg<string>.Is.Anything, Arg<ICheckinNote>.Is.Anything, Arg<IEnumerable<IWorkItemCheckinInfo>>.Is.Anything, Arg<TfsPolicyOverrideInfo>.Is.Anything, Arg<bool>.Is.Anything)) .Return(1); var result = tfsWorkspace.Checkin(checkinOptions); Assert.Contains("[OVERRIDDEN] Policy: No work items associated.", writer.ToString()); }
public void Shelve(IShelveset shelveset, IPendingChange[] changes, TfsShelvingOptions options) { throw new NotImplementedException(); }
public override long ShowCheckinDialog(IWorkspace workspace, IPendingChange[] pendingChanges, IEnumerable<IWorkItemCheckedInfo> checkedInfos, string checkinComment) { return ShowCheckinDialog(_bridge.Unwrap<Workspace>(workspace), pendingChanges.Select(p => _bridge.Unwrap<PendingChange>(p)).ToArray(), checkedInfos.Select(c => _bridge.Unwrap<WorkItemCheckedInfo>(c)).ToArray(), checkinComment); }