Ejemplo n.º 1
0
 public void IfThereIsAnExceptionBuildMessageShouldPublishExceptionMessage()
 {
     DynamicMock mock = new DynamicMock(typeof(IMessageBuilder));
     mock.ExpectAndThrow("BuildMessage", new Exception("oops"), new IsAnything());
     publisher = new EmailPublisher((IMessageBuilder) mock.MockInstance);
     string message = publisher.CreateMessage(new IntegrationResult());
     AssertContains("oops", message);
 }
		public void ShouldHandleIncrementingLabelAfterInitialBuildFailsWithException()
		{
			IMock mockSourceControl = new DynamicMock(typeof (ISourceControl));
			mockSourceControl.ExpectAndThrow("GetModifications", new Exception("doh!"), new IsAnything(), new IsAnything());
			mockSourceControl.ExpectAndReturn("GetModifications", new Modification[] {new Modification()}, new IsAnything(), new IsAnything());

			Project project = new Project();
			project.Name = "test";
			project.SourceControl = (ISourceControl) mockSourceControl.MockInstance;
			project.StateManager = new StateManagerStub();
			try { project.Integrate(new IntegrationRequest(BuildCondition.ForceBuild, "test", null));}
			catch (Exception) { }

			project.Integrate(new IntegrationRequest(BuildCondition.ForceBuild, "test", null));
			Assert.AreEqual(IntegrationStatus.Success, project.CurrentResult.Status);
			Assert.AreEqual("1", project.CurrentResult.Label);
		}
		public void ShouldNotResetLabelIfGetModificationsThrowsException()
		{
			IMock mockSourceControl = new DynamicMock(typeof (ISourceControl));
			mockSourceControl.ExpectAndThrow("GetModifications", new Exception("doh!"), new IsAnything(), new IsAnything());
			mockSourceControl.ExpectAndReturn("GetModifications", new Modification[] {new Modification()}, new IsAnything(), new IsAnything());

			StateManagerStub stateManagerStub = new StateManagerStub();
			stateManagerStub.SaveState(IntegrationResultMother.CreateSuccessful("10"));
			
			Project project = new Project();
			project.Name = "test";
			project.SourceControl = (ISourceControl) mockSourceControl.MockInstance;
			project.StateManager = stateManagerStub;
			try { project.Integrate(new IntegrationRequest(BuildCondition.ForceBuild, "test", null));}
			catch (Exception) { }

            project.Integrate(new IntegrationRequest(BuildCondition.ForceBuild, "test", null));
			Assert.AreEqual(IntegrationStatus.Success, project.CurrentResult.Status);
			Assert.AreEqual("11", project.CurrentResult.Label);			
		}
Ejemplo n.º 4
0
        public void RunWhereFirstTaskThrowsException()
        {
            Workflow project = new Workflow();
            Exception ex = new CruiseControlException("foo");
            IMock taskMock1 = new DynamicMock(typeof (ITask));
            taskMock1.ExpectAndThrow("Run", ex, new NotNull());

            IMock taskMock2 = new DynamicMock(typeof (ITask));
            taskMock2.Expect("Run", new NotNull());

            project.Tasks.Add(taskMock1.MockInstance);
            project.Tasks.Add(taskMock2.MockInstance);

            IIntegrationResult result = project.Integrate(ModificationExistRequest());

            taskMock1.Verify();
            taskMock2.Verify();
            Assert.AreEqual(IntegrationStatus.Exception, result.Status);
            Assert.AreEqual(ex, result.ExceptionResult);
        }