Example #1
0
        public async void ShouldThrowValidationExceptionOnUpdateWhenStorageSubscriptionIsNullAsync()
        {
            // arrange
            var randomSubscription  = GetRandomSubscription();
            var inputSubscription   = randomSubscription;
            var inputSubscriptionId = randomSubscription.Id;
            SourceSubscription invalidSubscription = null;
            var notFoundSubscriptionException      = new NotFoundSubscriptionException(inputSubscriptionId);

            var expectedValidationException =
                new SubscriptionValidationException(notFoundSubscriptionException);

            _storageBrokerMock.Setup(broker =>
                                     broker.SelectSourceSubscriptionByIdAsync(inputSubscriptionId))
            .ReturnsAsync(invalidSubscription);

            // act
            var actualSubscriptionTask = _subscriptionService.UpdateSubscriptionAsync(inputSubscription);

            // assert
            var actualException = await Assert.ThrowsAsync <SubscriptionValidationException>(() =>
                                                                                             actualSubscriptionTask);

            Assert.Equal(expectedValidationException.Message, actualException.Message);
            Assert.IsType <NotFoundSubscriptionException>(actualException.InnerException);
            Assert.Equal(expectedValidationException.InnerException.Message, actualException.InnerException.Message);

            _storageBrokerMock.Verify(broker =>
                                      broker.SelectSourceSubscriptionByIdAsync(inputSubscriptionId),
                                      Times.Once);

            _storageBrokerMock.VerifyNoOtherCalls();
        }
Example #2
0
        private Exception CreateAndLogValidationException(Exception exception)
        {
            var validationException = new SubscriptionValidationException(exception);

            _logger.LogError(validationException, validationException.Message);

            return(validationException);
        }
Example #3
0
        public async void ShouldThrowValidationExceptionOnUpdateWhenInputSubscriptionIsNullAsync()
        {
            // arrange
            SourceSubscription nullInputSubscription = null;
            var nullSubscriptionException            = new NullSubscriptionException();

            var expectedValidationException =
                new SubscriptionValidationException(nullSubscriptionException);

            // act
            var actualSubscriptionTask = _subscriptionService.UpdateSubscriptionAsync(nullInputSubscription);

            // assert
            var actualException = await Assert.ThrowsAsync <SubscriptionValidationException>(() =>
                                                                                             actualSubscriptionTask);

            Assert.Equal(expectedValidationException.Message, actualException.Message);
            Assert.IsType <NullSubscriptionException>(actualException.InnerException);
            Assert.Equal(expectedValidationException.InnerException.Message, actualException.InnerException.Message);

            _storageBrokerMock.VerifyNoOtherCalls();
        }