public void LoadShouldThrowExceptionIfStateFileDoesNotExist() { Expect.Call(executionEnvironment.GetDefaultProgramDataFolder(ApplicationType.Server)).IgnoreArguments().Constraints(Rhino.Mocks.Constraints.Is.NotNull()).Return(applicationDataPath); Expect.Call(delegate { fileSystem.EnsureFolderExists(applicationDataPath); }); Expect.Call(fileSystem.Load(null)).IgnoreArguments().Constraints(Rhino.Mocks.Constraints.Is.NotNull()).Throw(new FileNotFoundException()); mocks.ReplayAll(); state = new FileStateManager(fileSystem, executionEnvironment); result = IntegrationResultMother.CreateSuccessful(); result.ProjectName = ProjectName; Assert.That(delegate { state.LoadState(ProjectName); }, Throws.TypeOf<CruiseControlException>().With.Property("InnerException").TypeOf<FileNotFoundException>()); }
public void LoadStateThrowsAnExceptionWithInvalidData() { var data = @"<?xml version=""1.0"" encoding=""utf-8""?><garbage />"; Expect.Call(executionEnvironment.GetDefaultProgramDataFolder(ApplicationType.Server)).IgnoreArguments().Constraints(Rhino.Mocks.Constraints.Is.NotNull()).Return(applicationDataPath); Expect.Call(delegate { fileSystem.EnsureFolderExists(applicationDataPath); }); Expect.Call(fileSystem.Load(null)).IgnoreArguments().Constraints(Rhino.Mocks.Constraints.Is.NotNull()).Return(new StringReader(data)); mocks.ReplayAll(); state = new FileStateManager(fileSystem, executionEnvironment); Assert.That(delegate { state.LoadState(ProjectName); }, Throws.TypeOf<CruiseControlException>()); }
public void HandleExceptionLoadingStateFile() { Expect.Call(executionEnvironment.GetDefaultProgramDataFolder(ApplicationType.Server)).IgnoreArguments().Constraints(Rhino.Mocks.Constraints.Is.NotNull()).Return(applicationDataPath); Expect.Call(delegate { fileSystem.EnsureFolderExists(applicationDataPath); }); Expect.Call(fileSystem.Load(null)).IgnoreArguments().Constraints(Rhino.Mocks.Constraints.Is.NotNull()).Throw(new CruiseControlException()); mocks.ReplayAll(); state = new FileStateManager(fileSystem, executionEnvironment); Assert.That(delegate { state.LoadState(ProjectName); }, Throws.TypeOf<CruiseControlException>()); }
public void LoadStateFileWithValid144Data() { var data = @"<?xml version=""1.0"" encoding=""utf-8""?> <IntegrationResult xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""> <ProjectName>ccnetlive</ProjectName> <ProjectUrl>http://CRAIG-PC/ccnet</ProjectUrl> <BuildCondition>ForceBuild</BuildCondition> <Label>7</Label> <Parameters /> <WorkingDirectory>e:\sourcecontrols\sourceforge\ccnetlive</WorkingDirectory> <ArtifactDirectory>e:\download-area\CCNetLive-Builds</ArtifactDirectory> <Status>Success</Status> <StartTime>2009-06-17T13:28:35.7652391+12:00</StartTime> <EndTime>2009-06-17T13:29:13.7824391+12:00</EndTime> <LastIntegrationStatus>Success</LastIntegrationStatus> <LastSuccessfulIntegrationLabel>7</LastSuccessfulIntegrationLabel> <FailureUsers /> <FailureTasks /> </IntegrationResult>"; Expect.Call(executionEnvironment.GetDefaultProgramDataFolder(ApplicationType.Server)).IgnoreArguments().Constraints(Rhino.Mocks.Constraints.Is.NotNull()).Return(applicationDataPath); Expect.Call(delegate { fileSystem.EnsureFolderExists(applicationDataPath); }); Expect.Call(fileSystem.Load(null)).IgnoreArguments().Constraints(Rhino.Mocks.Constraints.Is.NotNull()).Return(new StringReader(data)); mocks.ReplayAll(); state = new FileStateManager(fileSystem, executionEnvironment); state.LoadState(ProjectName); }