Example #1
0
        public async Task ValidateRecaptchaResponse_ShouldReturn_HttpRequestError()
        {
            // Arrange
            _httpMessageHandlerMock = new Mock <HttpMessageHandler>();
            _httpMessageHandlerMock.Protected()
            .Setup <Task <HttpResponseMessage> >(
                "SendAsync",
                ItExpr.IsAny <HttpRequestMessage>(),
                ItExpr.IsAny <CancellationToken>()
                )
            .ReturnsAsync(new HttpResponseMessage()
            {
                StatusCode = HttpStatusCode.BadRequest
            })
            .Verifiable();

            _httpClient = new HttpClient(_httpMessageHandlerMock.Object)
            {
                BaseAddress = new Uri("http://test.com/"),
            };

            var service = new RecaptchaService(_settingsMock.Object, _httpClient, _logger);

            // Act
            var response = await service.ValidateRecaptchaResponse(Token);

            // Assert
            _httpMessageHandlerMock.Verify();
            Assert.GreaterOrEqual(response.Errors.Count(), 1);
            Assert.AreEqual(ValidationError.HttpRequestFailed, response.Errors.First());
        }
Example #2
0
        public void ValidateRecaptchaResponse_ShouldThrowAnyOtherThan_HttpRequestException()
        {
            // Arrange
            _httpMessageHandlerMock = new Mock <HttpMessageHandler>();
            _httpMessageHandlerMock.Protected()
            .Setup <Task <HttpResponseMessage> >(
                "SendAsync",
                ItExpr.IsAny <HttpRequestMessage>(),
                ItExpr.IsAny <CancellationToken>()
                )
            .ThrowsAsync(new Exception())
            .Verifiable();

            _httpClient = new HttpClient(_httpMessageHandlerMock.Object)
            {
                BaseAddress = new Uri("http://test.com/"),
            };

            var service = new RecaptchaService(_settingsMock.Object, _httpClient, _logger);

            // Act


            // Assert
            Assert.ThrowsAsync <Exception>(() => service.ValidateRecaptchaResponse(Token));
            _httpMessageHandlerMock.Verify();
        }
Example #3
0
        public void ValidateRecaptchaResponse_ShouldThrow_ArgumentNullException()
        {
            // Arrange
            var service = new RecaptchaService(_settingsMock.Object, _httpClient, _logger);

            // Act


            // Assert
            Assert.ThrowsAsync <ArgumentNullException>(() => service.ValidateRecaptchaResponse(null));
        }
Example #4
0
        public async Task ValidateRecaptchaResponse_ShouldReturn_DeserializedResponse()
        {
            // Arrange
            var service = new RecaptchaService(_settingsMock.Object, _httpClient, _logger);

            // Act
            var response = await service.ValidateRecaptchaResponse(Token);

            // Assert
            _httpMessageHandlerMock.Verify();
            Assert.IsTrue(response.Success);
            Assert.AreEqual(0, response.Errors.Count());
        }