public async Task CheckSensorsAndAlarmsTest() { var sensorRepository = A.Fake <ISensorRepository>(); A.CallTo(() => sensorRepository.GetAllAsync()).Returns(new[] { new Sensor("test", SensorType.Temperature) { Min = 5, Max = 10, LastSeen = DateTimeOffset.UtcNow.AddMinutes(-10) } }); var sensorAlarmRepository = A.Fake <ISensorAlarmRepository>(); A.CallTo(() => sensorAlarmRepository.GetBySensorBoxIdAndSensorTypeAndStatusAsync("test", SensorType.Temperature, AlarmStatus.Dead)).Returns((SensorAlarm?)null); var service = new SensorValidationService(sensorRepository, sensorAlarmRepository, A.Fake <ILogger <SensorValidationService> >()); await service.CheckSensorsAndAlarmsAsync(); A.CallTo(() => sensorAlarmRepository.InsertAsync(A <SensorAlarm> .That.Matches(a => a.Status == AlarmStatus.Dead))).MustHaveHappened(); }
public async Task CheckObsoleteAlarmsResultsNullTest() { var sensorRepository = A.Fake <ISensorRepository>(); A.CallTo(() => sensorRepository.GetAllAsync()).Returns(new[] { new Sensor("test", SensorType.Temperature) { Min = 5, Max = 10, LastSeen = DateTimeOffset.UtcNow } }); var sensorAlarmRepository = A.Fake <ISensorAlarmRepository>(); A.CallTo(() => sensorAlarmRepository.GetBySensorBoxIdAndSensorTypeAndStatusAsync("test", SensorType.Temperature, AlarmStatus.Dead)).Returns((SensorAlarm?)null); var service = new SensorValidationService(sensorRepository, sensorAlarmRepository, A.Fake <ILogger <SensorValidationService> >()); await service.CheckSensorsAndAlarmsAsync(); A.CallTo(() => sensorAlarmRepository.DeleteAsync(A <SensorAlarm> ._)).MustNotHaveHappened(); }
public async Task ValidateAggregatedDataAsyncTest() { var sensorRepository = A.Fake <ISensorRepository>(); A.CallTo(() => sensorRepository.GetByBoxIdAndTypeAsync("test", SensorType.Temperature)).Returns(new Sensor("test", SensorType.Temperature) { Min = 5, Max = 10, LastSeen = DateTimeOffset.UtcNow.AddMinutes(-10) }); var sensorAlarmRepository = A.Fake <ISensorAlarmRepository>(); A.CallTo(() => sensorAlarmRepository.GetBySensorBoxIdAndSensorTypeAndStatusAsync("test", SensorType.Temperature, AlarmStatus.InvalidData)).Returns((SensorAlarm?)null); var service = new SensorValidationService(sensorRepository, sensorAlarmRepository, A.Fake <ILogger <SensorValidationService> >()); await service.ValidateSensorDataAsync(new AggregatedSensorData { SensorBoxId = "test", AggregationType = AggregationType.Max, SensorType = SensorType.Temperature, Value = 4 }); A.CallTo(() => sensorAlarmRepository.InsertAsync(A <SensorAlarm> .That.Matches(a => a.Status == AlarmStatus.InvalidData))).MustHaveHappened(); await service.ValidateSensorDataAsync(new AggregatedSensorData { SensorBoxId = "test", AggregationType = AggregationType.Max, SensorType = SensorType.Temperature, Value = 11 }); A.CallTo(() => sensorAlarmRepository.InsertAsync(A <SensorAlarm> .That.Matches(a => a.Status == AlarmStatus.InvalidData))).MustHaveHappened(); }