public void Register_ShouldReturnItsValue()
        {
            var listenerUrl = "test";

            registerSubscriber.Register(new SubscriberDetailDto
            {
                ListenerUrl = listenerUrl
            });

            var count = subscriberRepository.GetAll().Count;

            Assert.Equal(1, count);

            var subscriberDetail = subscriberRepository.GetAll().First();

            Assert.Equal(listenerUrl, subscriberDetail.ListenerUrl);
        }
예제 #2
0
 public List <SubscriberDTO> Find(long userId)
 {
     try
     {
         var subscribers = _subscriberRepository.GetAll().Where(p => p.SubscriberId == userId);
         Mapper.Initialize(
             cfg => cfg.CreateMap <Subscriber, SubscriberDTO> ());
         var subscriberDto = Mapper.Map <IEnumerable <Subscriber>, List <SubscriberDTO> > (subscribers);
         _logger.Info("Get Subscribers by subscriber: id = " + userId);
         return(subscriberDto);
     }
     catch (RepositoryException rep)
     {
         _logger.Error("Method: Find Subscriber ( int subscriptionId )");
         _logger.Error(rep.Message);
         throw new ServiceException("Service exception: from repository ", rep);
     }
     catch (Exception ex)
     {
         _logger.Error("Method: Find Subscriber ( int subscriptionId )", ex);
         throw new ServiceException("Method: Find Subscriber ( int subscriptionId )", ex);
     }
 }
예제 #3
0
        public bool NotifyAll(object notifyMessageDto)
        {
            var subsribers = subscriberRepository.GetAll();
            var httpClient = new HttpClient();
            var exceptions = new ConcurrentQueue <Exception>();

            Parallel.ForEach(subsribers, s =>
            {
                try
                {
                    using (var requestContent = new StringContent(JsonConvert.SerializeObject(notifyMessageDto),
                                                                  System.Text.Encoding.UTF8, "application/json"))
                    {
                        var responseTask = httpClient.PostAsync(s.ListenerUrl, requestContent).Result;
                    }
                }
                catch (Exception e) { exceptions.Enqueue(e); }
            });
            return(exceptions.Count == 0);
        }
예제 #4
0
 public IEnumerable <Subscriber> GetAll()
 {
     return(_suscriberRepository.GetAll());
 }
 public void GetAllFromNullSubscriberRepositoryShouldZeroElements()
 {
     _cut.GetAll().Count().Should().Be(0);
 }