public void ServerLifecycleManager_IsServerOnline_False() { //------------------------Arrange------------------------ var mockEnvironmentPreparer = new Mock <IServerEnvironmentPreparer>(); var mockIpcClient = new Mock <IIpcClient>(); var mockAssemblyLoader = new Mock <IAssemblyLoader>(); var mockDirectory = new Mock <IDirectory>(); var mockResourceCatalogFactory = new Mock <IResourceCatalogFactory>(); var mockWebServerConfiguration = new Mock <IWebServerConfiguration>(); var mockWriter = new Mock <IWriter>(); var mockSerLifeCycleWorker = new Mock <IServerLifecycleWorker>(); var mockResourceCatalog = new Mock <IResourceCatalog>(); var mockStartWebServer = new Mock <IStartWebServer>(); var mockSecurityIdentityFactory = new Mock <ISecurityIdentityFactory>(); var mockLoggingServiceMonitorWithRestart = new LoggingServiceMonitorWithRestart(new Mock <ChildProcessTrackerWrapper>().Object, new Mock <ProcessWrapperFactory>().Object); var items = new List <IServerLifecycleWorker> { mockSerLifeCycleWorker.Object }; EnvironmentVariables.IsServerOnline = false; mockResourceCatalogFactory.Setup(o => o.New()).Returns(mockResourceCatalog.Object); mockSerLifeCycleWorker.Setup(o => o.Execute()).Verifiable(); mockAssemblyLoader.Setup(o => o.AssemblyNames(It.IsAny <Assembly>())).Returns(new AssemblyName[] { new AssemblyName { Name = "testAssemblyName" } }); mockWebServerConfiguration.Setup(o => o.EndPoints).Returns(new Dev2Endpoint[] { new Dev2Endpoint(new IPEndPoint(0x40E9BB63, 8080), "Url", "path") }); //------------------------Act---------------------------- var config = new StartupConfiguration { ServerEnvironmentPreparer = mockEnvironmentPreparer.Object, IpcClient = mockIpcClient.Object, AssemblyLoader = mockAssemblyLoader.Object, Directory = mockDirectory.Object, ResourceCatalogFactory = mockResourceCatalogFactory.Object, WebServerConfiguration = mockWebServerConfiguration.Object, Writer = mockWriter.Object, StartWebServer = mockStartWebServer.Object, SecurityIdentityFactory = mockSecurityIdentityFactory.Object, LoggingServiceMonitor = mockLoggingServiceMonitorWithRestart }; using (var serverLifeCycleManager = new ServerLifecycleManager(config)) { serverLifeCycleManager.Run(items).Wait(); } //------------------------Assert------------------------- mockWriter.Verify(o => o.Write("Loading security provider... "), Times.Once); mockWriter.Verify(o => o.Write("Opening named pipe client stream for COM IPC... "), Times.Once); mockWriter.Verify(o => o.Write("Loading resource catalog... "), Times.Once); mockWriter.Verify(o => o.Write("Loading server workspace... "), Times.Once); mockWriter.Verify(o => o.Write("Loading resource activity cache... "), Times.Once); mockWriter.Verify(o => o.Write("Loading test catalog... "), Times.Once); mockWriter.Verify(o => o.Write("Loading triggers catalog... "), Times.Once); mockSerLifeCycleWorker.Verify(); }
public void ServerLifecycleMananger_Run_ReturnsTask() { //------------------------Arrange------------------------ var mockEnvironmentPreparer = new Mock <IServerEnvironmentPreparer>(); var mockIpcClient = new Mock <IIpcClient>(); var mockAssemblyLoader = new Mock <IAssemblyLoader>(); var mockDirectory = new Mock <IDirectory>(); var mockResourceCatalogFactory = new Mock <IResourceCatalogFactory>(); var mockWebServerConfiguration = new Mock <IWebServerConfiguration>(); var mockWriter = new Mock <IWriter>(); var mockSerLifeCycleWorker = new Mock <IServerLifecycleWorker>(); var mockResourceCatalog = new Mock <IResourceCatalog>(); var mockStartWebServer = new Mock <IStartWebServer>(); var mockSecurityIdentityFactory = new Mock <ISecurityIdentityFactory>(); var mockLoggingServiceMonitorWithRestart = new LoggingServiceMonitorWithRestart(new Mock <ChildProcessTrackerWrapper>().Object, new Mock <ProcessWrapperFactory>().Object); var items = new List <IServerLifecycleWorker> { mockSerLifeCycleWorker.Object }; EnvironmentVariables.IsServerOnline = true; mockResourceCatalogFactory.Setup(o => o.New()).Returns(mockResourceCatalog.Object); mockSerLifeCycleWorker.Setup(o => o.Execute()).Verifiable(); mockAssemblyLoader.Setup(o => o.AssemblyNames(It.IsAny <Assembly>())).Returns(new AssemblyName[] { new AssemblyName { Name = "testAssemblyName" } }); mockWebServerConfiguration.Setup(o => o.EndPoints).Returns(new Dev2Endpoint[] { new Dev2Endpoint(new IPEndPoint(0x40E9BB63, 8080), "Url", "path") }); //------------------------Act---------------------------- var config = new StartupConfiguration { ServerEnvironmentPreparer = mockEnvironmentPreparer.Object, IpcClient = mockIpcClient.Object, AssemblyLoader = mockAssemblyLoader.Object, Directory = mockDirectory.Object, ResourceCatalogFactory = mockResourceCatalogFactory.Object, WebServerConfiguration = mockWebServerConfiguration.Object, Writer = mockWriter.Object, StartWebServer = mockStartWebServer.Object, SecurityIdentityFactory = mockSecurityIdentityFactory.Object, LoggingServiceMonitor = mockLoggingServiceMonitorWithRestart }; using (var serverLifeCycleManager = new ServerLifecycleManager(config)) { var t = serverLifeCycleManager.Run(items); //------------------------Assert------------------------- Assert.IsInstanceOfType(t, typeof(Task)); } }
public void ServerLifecycleManager_OpenCOMStream_Fails() { //------------------------Arrange------------------------ var mockEnvironmentPreparer = new Mock <IServerEnvironmentPreparer>(); var mockSerLifeCycleWorker = new Mock <IServerLifecycleWorker>(); var items = new List <IServerLifecycleWorker> { mockSerLifeCycleWorker.Object }; //------------------------Act---------------------------- mockSerLifeCycleWorker.Setup(o => o.Execute()).Throws(new System.Exception("The system cannot find the file specified")).Verifiable(); using (var serverLifeCylcleManager = new ServerLifecycleManager(mockEnvironmentPreparer.Object)) { serverLifeCylcleManager.Run(items).Wait(); } //------------------------Assert------------------------- mockSerLifeCycleWorker.Verify(); }