示例#1
0
        public void CreateShouldRiseExceptionOnEmptyLoginPassowrdTest()
        {
            UserRepositorySpy spy_repository = new UserRepositorySpy();
            CredentialsCheckerSpy_AlwaysPass spy_checker = new CredentialsCheckerSpy_AlwaysPass();
            UsersController target = new UsersController(spy_repository, spy_checker);
            UserCreateData userCreateData = new UserCreateData() { Login = string.Empty, Password = string.Empty };
            spy_repository.CreateUserResult = new User() { Login = string.Empty };

            var config = new HttpConfiguration();
            var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/1.0/users/create");
            var route = config.Routes.MapHttpRoute("TestApi", "api/1.0/{controller}/{action}");
            var routeData = new HttpRouteData(route, new HttpRouteValueDictionary { { "controller", "users" }, { "action", "create" } });
            target.ControllerContext = new HttpControllerContext(config, routeData, request);
            target.Request = request;
            target.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;

            try
            {
                User actual = target.Create(userCreateData);
                Assert.IsTrue(false);
            }
            catch (Exception ex)
            {
                Assert.IsInstanceOfType(ex, typeof(HttpResponseException));
            }
        }
示例#2
0
        public User Create(UserCreateData userCreateData)
        {
            if ((string.IsNullOrWhiteSpace(userCreateData.Login)) || (string.IsNullOrWhiteSpace(userCreateData.Password)))
                throw new HttpResponseException(HttpStatusCode.BadRequest);

            return repositoryUsers.CreateUser(userCreateData.Login, userCreateData.Password);
        }
示例#3
0
        public void CreateShouldReturnUserObjectTest()
        {
            UserRepositorySpy spy_repository = new UserRepositorySpy();
            CredentialsCheckerSpy_AlwaysPass spy_checker = new CredentialsCheckerSpy_AlwaysPass();
            UsersController target = new UsersController(spy_repository, spy_checker);
            UserCreateData userCreateData = new UserCreateData() { Login = "******", Password = "******" };
            spy_repository.CreateUserResult = new User() { Login = "******" };

            var config = new HttpConfiguration();
            var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/1.0/users/create");
            var route = config.Routes.MapHttpRoute("TestApi", "api/1.0/{controller}/{action}");
            var routeData = new HttpRouteData(route, new HttpRouteValueDictionary { { "controller", "users" }, { "action", "create" } });
            target.ControllerContext = new HttpControllerContext(config, routeData, request);
            target.Request = request;
            target.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;

            User actual = target.Create(userCreateData);

            Assert.IsTrue(actual != null && actual.Login == userCreateData.Login);
        }