public HttpResponseMessage SessionsStart([FromBody] SessionStartData data) { HttpResponseMessage retVal; ParameterValidator validator = new ParameterValidator(ModelState); if (!validator.IsValid) { retVal = Request.CreateResponse(HttpStatusCode.BadRequest, validator.Result); } else { IResult <ISession> startSessionResult = SecurityManager.StartSession(data.Name, data.Password); if (startSessionResult.ResultCode != ResultCode.Failure) { ISession session = startSessionResult.ReturnValue; retVal = Request.CreateResponse(HttpStatusCode.OK, new SessionData(session), JsonFormatter()); CookieHeaderValue cookie = new CookieHeaderValue(WebApiConstants.SessionTokenCookieName, session.Token); cookie.Expires = session.Expires; cookie.Path = "/"; retVal.Headers.AddCookies(new[] { cookie }); } else { retVal = Request.CreateResponse(HttpStatusCode.Unauthorized, new HttpErrorResult("Failed to Start the Session.", startSessionResult), JsonFormatter()); } } return(retVal); }
public void NameNull() { SessionStartData test = new SessionStartData() { Password = "******" }; Assert.False(test.DataAnnotationIsValid()); }
public void NameEmpty() { SessionStartData test = new SessionStartData() { Name = string.Empty, Password = "******" }; Assert.False(test.DataAnnotationIsValid()); }
public void PasswordTooLong() { SessionStartData test = new SessionStartData() { Name = new string('a', 513) }; Assert.False(test.DataAnnotationIsValid()); }
public void PasswordNull() { SessionStartData test = new SessionStartData() { Name = "name" }; Assert.False(test.DataAnnotationIsValid()); }
public void PasswordEmpty() { SessionStartData test = new SessionStartData() { Name = "name", Password = string.Empty }; Assert.False(test.DataAnnotationIsValid()); }
public void Constructor() { SessionStartData test = new SessionStartData() { Name = "name", Password = "******" }; Assert.IsType <SessionStartData>(test); Assert.Equal("name", test.Name); Assert.Equal("password", test.Password); Assert.True(test.DataAnnotationIsValid()); }