public void CoreServiceEngineCanStartAndStop() { var logger = new MockLogger(); var db = new SQLServerClientDatabase(TestConnectionString, new MockLogger(), SharedMockedCoreSettings); var engine = new CoreServiceEngine(db, logger, 0, SharedMockedCoreSettings); engine.BeginStart(); engine.BeginStop(); }
public void CoreServiceEngineTriggersStoppedEventWhenEngineHasStopped() { var logger = new MockLogger(); var db = new SQLServerClientDatabase(TestConnectionString, new MockLogger(), SharedMockedCoreSettings); var engine = new CoreServiceEngine(db, logger, 0, SharedMockedCoreSettings); var signalStoppedEvent = new AutoResetEvent(false); engine.Stopped += (s, e) => { signalStoppedEvent.Set(); }; engine.BeginStart(); engine.BeginStop(); var engineStoppedSignaled = signalStoppedEvent.WaitOne(TimeSpan.FromSeconds(5)); Assert.IsTrue(engineStoppedSignaled); }
/// <summary> /// Starts the core service engine. /// </summary> /// <returns>True if successful, otherwise false.</returns> private bool StartCoreServiceEngine() { try { CoreServiceEngineInstance = new CoreServiceEngine(ClientDatabase, CoreLog, 0, CoreSettings); CoreServiceEngineInstance.Stopped += Connection_Stopped; CoreServiceEngineInstance.BeginStart(); CoreLog.WriteSystemEvent( string.Format("Core Service Engine has started."), EventLogEntryType.Information, ArchivialLibrary.Constants.EventIDs.StartedCoreServiceEngine, true); return(true); } catch (Exception ex) { var message = "Failed to start the core service engine."; var context = CoreLog.GenerateFullContextStackTrace(); CoreLog.WriteSystemEvent(message, ex, context, ArchivialLibrary.Constants.EventIDs.FailedCoreServiceEngine, true); return(false); } }