private static ICruiseServer CreateLocal(string configFile) { IProjectStateManager stateManager = new XmlProjectStateManager(); // Load the extensions configuration var configuration = ConfigurationManager.GetSection("cruiseServer") as ServerConfiguration; List<ExtensionConfiguration> extensionList = null; if (configuration != null) extensionList = configuration.Extensions; PathUtils.ConfigFileLocation = Path.IsPathRooted(configFile) ? configFile : Path.Combine(Environment.CurrentDirectory, configFile); var server = new CruiseServer( NewConfigurationService(configFile), new ProjectIntegratorListFactory(), new NetReflectorProjectSerializer(), stateManager, new SystemIoFileSystem(), new ExecutionEnvironment(), extensionList); // Initialise the IoC container. server.InitialiseServices(); return server; }
public void DefaultConstructorSetsPersistanceLocation() { // This is an indirect test - if the correct location is set, then the FileExists call // will be valid Expect.Call(executionEnvironment.GetDefaultProgramDataFolder(ApplicationType.Server)).IgnoreArguments().Constraints(Rhino.Mocks.Constraints.Is.NotNull()).Return(applicationDataPath); Expect.Call(delegate { fileSystem.EnsureFolderExists(applicationDataPath); }).IgnoreArguments().Constraints(Rhino.Mocks.Constraints.Is.NotNull()); Expect.Call(fileSystem.FileExists(persistanceFilePath)).Return(false); mocks.ReplayAll(); stateManager = new XmlProjectStateManager(fileSystem, executionEnvironment); stateManager.CheckIfProjectCanStart("Project"); mocks.VerifyAll(); }
public void RecordProjectAsStopped() { var projectName = "Test Project #1"; SetupDefaultContent(); var stream = InitialiseOutputStream(); Expect.Call(executionEnvironment.GetDefaultProgramDataFolder(ApplicationType.Server)).IgnoreArguments().Constraints(Rhino.Mocks.Constraints.Is.NotNull()).Return(applicationDataPath); Expect.Call(delegate { fileSystem.EnsureFolderExists(applicationDataPath); }).IgnoreArguments().Constraints(Rhino.Mocks.Constraints.Is.NotNull()); mocks.ReplayAll(); stateManager = new XmlProjectStateManager(fileSystem, executionEnvironment); stateManager.RecordProjectAsStopped(projectName); var result = stateManager.CheckIfProjectCanStart(projectName); Assert.IsFalse(result, "Project state incorrect"); mocks.VerifyAll(); var expectedData = "<state><project>Test Project #3</project><project>Test Project #1</project></state>"; ValidateStreamData(stream, expectedData); }
public void CheckIfProjectCanStartKnownStartableProjectFromFile() { var projectName = "Test Project #4"; SetupDefaultContent(); Expect.Call(executionEnvironment.GetDefaultProgramDataFolder(ApplicationType.Server)).IgnoreArguments().Constraints(Rhino.Mocks.Constraints.Is.NotNull()).Return(applicationDataPath); Expect.Call(delegate { fileSystem.EnsureFolderExists(applicationDataPath); }).IgnoreArguments().Constraints(Rhino.Mocks.Constraints.Is.NotNull()); mocks.ReplayAll(); stateManager = new XmlProjectStateManager(fileSystem, executionEnvironment); var result = stateManager.CheckIfProjectCanStart(projectName); Assert.IsTrue(result, "Project state incorrect"); mocks.VerifyAll(); }