Ejemplo n.º 1
0
        public async Task TestThatExitedEventIsEmittedWhenProcessFails()
        {
            ProcessStub     process        = new ProcessStub("");
            IProcessFactory processFactory = new StubIProcessFactory()
                                             .CreateProcess((identity, path, initialization, health, shutdown) => process);

            ConfigurableApplication application   = new ConfigurableApplication(ApplicationTestFixture.AppPath, _appConfig, processFactory, new StubIProcessStopper());
            ApplicationExitedArgs   appExitedArgs = null;
            int exitedEventCount = 0;

            application.Exited += (sender, args) =>
            {
                appExitedArgs = args;
                ++exitedEventCount;
            };
            await application.Start();

            process.RaiseExitedEvent();

            Assert.Equal(1, exitedEventCount);
            Assert.Equal(_appConfig.Identity, appExitedArgs.AppIdentity);
        }
Ejemplo n.º 2
0
        public async Task TestThatExitedEventIsEmittedWhenProcessFails()
        {
            ProcessStub     process        = new ProcessStub("", "");
            IProcessFactory processFactory = new StubIProcessFactory()
            {
                CreateProcessStringString = (path, args) => process
            };

            ConfigurableApplication application   = new ConfigurableApplication(AppPath, _appConfig, processFactory, new StubIProcessStopper());
            ApplicationExitedArgs   appExitedArgs = null;
            int exitedEventCount = 0;

            application.Exited += (sender, args) =>
            {
                appExitedArgs = args;
                ++exitedEventCount;
            };
            await application.Start();

            process.RaiseExitedEvent();

            Assert.AreEqual(1, exitedEventCount);
            Assert.AreEqual(_appIdentity, appExitedArgs.AppIdentity);
        }