Ejemplo n.º 1
0
        public void Should_Return_BadRequest()
        {
            // arrange
            IpInfoApiClient client = new IpInfoApiClient("http://localhost:505");

            // mock
            Mock <IRestClient> restClientMock = new Mock <IRestClient>();

            client.RestClient = restClientMock.Object;

            restClientMock.Setup(x => x.Execute(It.IsAny <IRestRequest>()))
            .Returns(new RestResponse()
            {
                StatusCode = HttpStatusCode.BadRequest,
                Content    = "{ \"errors\":[{ \"message\":\"'Ip' is a invalid field\", \"property\":\"Ip\" }]}"
            });

            // act
            var response = client.GetIpInfo("186.221.52.144");

            // assert
            Assert.Equal("Ip", response.Errors.Errors[0].Property);
            Assert.Equal("'Ip' is a invalid field", response.Errors.Errors[0].Message);
            Assert.Null(response.Data);
            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
        }
Ejemplo n.º 2
0
        public void Should_Return_OK()
        {
            // arrange
            IpInfoApiClient client = new IpInfoApiClient("http://localhost:505");

            // mock
            Mock <IRestClient> restClientMock = new Mock <IRestClient>();

            client.RestClient = restClientMock.Object;

            restClientMock.Setup(x => x.Execute(It.IsAny <IRestRequest>()))
            .Returns(new RestResponse()
            {
                StatusCode = HttpStatusCode.OK,
                Content    = "{\"city\":\"Búzios\",\"state\":\"Rio de Janeiro\",\"country\":\"BR\",\"latitude\":-22.756633,\"longitude\":-41.8913727}"
            });

            // act
            var response = client.GetIpInfo("186.221.52.144");

            // assert
            Assert.Null(response.Errors);
            Assert.Equal("BR", response.Data.Country);
            Assert.Equal("Búzios", response.Data.City);
            Assert.Equal("Rio de Janeiro", response.Data.State);
            Assert.Equal(-22.756633, response.Data.Latitude);
            Assert.Equal(-41.8913727, response.Data.Longitude);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }
Ejemplo n.º 3
0
        protected override void ConfigureRequestContainer(TinyIoCContainer container, NancyContext context)
        {
            // Utils
            var ipInfoClient = new IpInfoApiClient(Startup.Configuration["IpInfoApiUrl"]);

            container.Register <IIpInfoApiClient>(ipInfoClient);

            // Modules
            container.Register <ISecurityModule, SecurityModule>().AsSingleton();

            // Manager
            container.Register <IPasswordResetManager, PasswordResetManager>().AsSingleton();
            container.Register <IUserManager, UserManager>().AsSingleton();
            container.Register <IAuthManager, AuthManager>().AsSingleton();

            // Repository
            container.Register <IPasswordResetRepository, PasswordResetRepository>().AsSingleton();
            container.Register <IUserRepository, UserRepository>().AsSingleton();

            base.ConfigureRequestContainer(container, context);
        }
Ejemplo n.º 4
0
        public void Should_Throws_An_Exception()
        {
            // arrange
            IpInfoApiClient client = new IpInfoApiClient("http://localhost:505");

            // mock
            Mock <IRestClient> restClientMock = new Mock <IRestClient>();

            client.RestClient = restClientMock.Object;

            restClientMock.Setup(x => x.Execute(It.IsAny <IRestRequest>()))
            .Returns(new RestResponse()
            {
                ErrorException = new TimeoutException("Timeout with API")
            });

            // act
            Exception ex = Assert.Throws <TimeoutException>(() =>
                                                            client.GetIpInfo("186.221.52.144")
                                                            );

            // assert
            Assert.Equal("Timeout with API", ex.Message);
        }
Ejemplo n.º 5
0
        public void Should_Return_NotFound()
        {
            // arrange
            IpInfoApiClient client = new IpInfoApiClient("http://localhost:505");

            // mock
            Mock <IRestClient> restClientMock = new Mock <IRestClient>();

            client.RestClient = restClientMock.Object;

            restClientMock.Setup(x => x.Execute(It.IsAny <IRestRequest>()))
            .Returns(new RestResponse()
            {
                StatusCode = HttpStatusCode.NotFound
            });

            // act
            var response = client.GetIpInfo("186.221.52.144");

            // assert
            Assert.Null(response.Errors);
            Assert.Null(response.Data);
            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }