public async void FunctionShouldCallWatchServiceOnce()
        {
            //Given
            var body = new SubscribeToAlarmModel()
            {
                AlarmId = 1,
                WatchId = "1"
            };

            var req          = new HttpRequestBuilder().Body(body).Build();
            var watchService = new Mock <IWatchService>();
            var alarmService = new Mock <IAlarmService>();

            AlarmWatch aw = new AlarmWatch {
                Alarm = new AlarmSystem.Core.Entity.DB.Alarm {
                    AlarmId     = 1,
                    Code        = 205,
                    Description = "TestDescription"
                },
                WatchId = "1"
            };

            //When
            watchService.Setup(ms => ms.SubscribeToAlarm(aw));

            var res = await new SubscribeToAlarm(watchService.Object, alarmService.Object).Run(req, logger);

            //Then
            watchService.Verify(ms => ms.SubscribeToAlarm(It.IsAny <AlarmWatch>()), Times.Once());
        }
        private AlarmWatch ParseFunctionModelToDtoModel(SubscribeToAlarmModel stam)
        {
            AlarmSystem.Core.Entity.DB.Alarm alarm = _alarmservice.GetAlarmById(stam.AlarmId);

            AlarmWatch aw = new AlarmWatch()
            {
                Alarm   = alarm,
                WatchId = stam.WatchId
            };

            return(aw);
        }
        public async Task <IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "subscribeToAlarm")] HttpRequest req,
                                              ILogger log)
        {
            //TODO Validate body
            string requestBody         = await new StreamReader(req.Body).ReadToEndAsync();
            SubscribeToAlarmModel stam = JsonConvert.DeserializeObject <SubscribeToAlarmModel>(requestBody);

            try {
                AlarmWatch aw = ParseFunctionModelToDtoModel(stam);

                _watchservice.SubscribeToAlarm(aw);
                return(new OkResult());
            } catch (InvalidDataException e)
            {
                return(new BadRequestObjectResult(e.Message));
            } catch (EntityNotFoundException e)
            {
                return(new NotFoundObjectResult(e.Message));
            }
        }
        public AlarmWatch GetSubscriptionOfAlarmFromWatch(int alarmId, string watchId)
        {
            if (string.IsNullOrEmpty(watchId))
            {
                throw new InvalidDataException("Watch id cannot be empty or non existent! Please include watch id");
            }
            else
            {
                AlarmWatch aw = _watchRepo.ReadSubscriptionOfAlarmFromWatch(alarmId, watchId);

                if (aw != null)
                {
                    return(aw);
                }
                else
                {
                    throw new EntityNotFoundException("Entity was not found in database");
                }
            }
        }
        public void TestRepoShouldBeCalledOnceIfAlarmWatchIsNotEmptyOrNull()
        {
            //Given
            var mockRepo = new Mock <IWatchRepository>();
            var service  = new WatchService(mockRepo.Object);

            AlarmWatch aw = new AlarmWatch {
                Alarm = new Core.Entity.DB.Alarm {
                    AlarmId     = 1,
                    Code        = 205,
                    Description = "TestDescription"
                },
                WatchId = "1"
            };

            //When
            mockRepo.Setup(mr => mr.SubscribeToAlarm(It.IsAny <AlarmWatch>()));

            service.SubscribeToAlarm(aw);

            //Then
            mockRepo.Verify(mr => mr.SubscribeToAlarm(It.IsAny <AlarmWatch>()), Times.Once);
        }
Esempio n. 6
0
        private AlarmWatch ParseFunctionModelToDtoModel(DeleteAlarmSubscriptionModel dasm)
        {
            AlarmWatch aw = _watchService.GetSubscriptionOfAlarmFromWatch(dasm.AlarmId, dasm.WatchId);

            return(aw);
        }
 public void SubscribeToAlarm(AlarmWatch aw)
 {
     _ctx.AlarmWatch.Add(aw);
     _ctx.SaveChanges();
 }
 public void DeleteAlarmSubscriptionFromWatch(AlarmWatch aw)
 {
     _watchRepo.RemoveAlarmSubscriptionFromWatch(aw);
 }
 public void SubscribeToAlarm(AlarmWatch aw)
 {
     _watchRepo.SubscribeToAlarm(aw);
 }
Esempio n. 10
0
 public void RemoveAlarmSubscriptionFromWatch(AlarmWatch aw)
 {
     _ctx.AlarmWatch.Remove(aw);
     _ctx.SaveChanges();
 }