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); }
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); }