public DatabaseWatcher ArrangeDatabaseWatcher() { DatabaseWatcher dataWatcher = new DatabaseWatcher(_watchId, _dataSource, _databaseName, _userId); dataWatcher.Start(); return(dataWatcher); }
public void DataWatcherTest() { //start a new databaseWatcher DatabaseWatcher dataWatcher = ArrangeDatabaseWatcher(); //expect serviceBroker: on bool serviceBrokerOn = false; SqlConnection sqlConnection = CreateSqlConnection(); SqlCommand sqlCommand = sqlConnection.CreateCommand(); sqlCommand.CommandText = $"SELECT is_broker_enabled FROM sys.databases WHERE name = '{_databaseName}';"; using (var reader = sqlCommand.ExecuteReader()) { while (reader.Read()) { if (reader["is_broker_enabled"].ToString() == "True") { serviceBrokerOn = true; } } } string newDocumentId = GetInsertedDocumentID(sqlConnection); //insert a new value and get its id from the database MasterLogger m_logger = CreateMasterLogger(sqlConnection, newDocumentId); string consolidatedLogFilePath = @"C:\Windows\Temp\consolidated log\consolidatedLog.log"; Thread.Sleep(4000); FileStream fs = new FileStream(consolidatedLogFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); StreamReader sReader = new StreamReader(fs, Encoding.UTF8); string line; string lastLine = ""; while ((line = sReader.ReadLine()) != null) { lastLine = line; } string expectedJsonString = JsonConvert.SerializeObject(m_logger); bool newValueIsOnFile = lastLine.Equals(expectedJsonString); CloseSqlConnection(sqlConnection); bool hasAllExpectedValue = serviceBrokerOn && newValueIsOnFile ? true : false; dataWatcher.Finish(); Assert.AreEqual(true, hasAllExpectedValue); }