Beispiel #1
0
        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());
        }
Beispiel #2
0
        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());
        }
Beispiel #3
0
        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);
        }