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