예제 #1
0
        public void TestExceptionLogged()
        {
            var service = new ServiceController() {
                ServiceDomain = AppDomain.CreateDomain("Potato.Instance"),
                UnloadServiceBegin = controller => {
                    throw new Exception("Empty");
                },
                Process = new MockProcess()
            };

            service.UnloadService();

            Assert.IsNotEmpty(Defines.ErrorsLogsDirectory.GetFiles());
            Assert.Greater(Defines.ErrorsLogsDirectory.GetFiles().First().Length, 0);

            service.Dispose();
        }
예제 #2
0
        public void TestExceptionKillsProcess()
        {
            var process = new MockProcess();

            var service = new ServiceController() {
                ServiceDomain = AppDomain.CreateDomain("Potato.Instance"),
                UnloadServiceBegin = controller => {
                    throw new Exception("Empty");
                },
                Process = process
            };

            service.UnloadService();

            Assert.IsTrue(process.OnKill);

            service.Dispose();
        }
예제 #3
0
        public void TestServiceDomainNulled()
        {
            var service = new ServiceController() {
                ServiceDomain = AppDomain.CreateDomain("Potato.Instance"),
            };

            service.UnloadService();

            Assert.IsNull(service.ServiceDomain);

            service.Dispose();
        }
예제 #4
0
        public void TestUnloadServiceDispatchedEndDelegateCalled()
        {
            var end = false;

            var service = new ServiceController() {
                ServiceDomain = AppDomain.CreateDomain("Potato.Instance"),
                UnloadServiceEnd = controller => end = true
            };

            service.UnloadService();

            Assert.IsTrue(end);

            service.Dispose();
        }
예제 #5
0
        public void TestUnloadServiceDispatchedBeginDelegateCalled()
        {
            var begin = false;

            var service = new ServiceController() {
                ServiceDomain = AppDomain.CreateDomain("Potato.Instance"),
                UnloadServiceBegin = controller => begin = true
            };

            service.UnloadService();

            Assert.IsTrue(begin);

            service.Dispose();
        }