public GetActiveSessionToken ( System.Web.HttpContextBase context ) : |
||
context | System.Web.HttpContextBase | |
Результат |
public SessionToken GetActiveSessionToken(HttpContextBase context)
{
Requires.NotNull(context, "context");
HttpCookie cookie = context.Request.Cookies[ReviewRApiController.CookieName];
SessionToken token = null;
if (cookie != null)
{
try
{
token = Tokens.UnprotectToken(HttpUtility.UrlDecode(cookie.Value), ReviewRApiController.Purpose);
}
catch (Exception) {
// Token is invalid, just clear it
return null;
}
}
return token;
}
public void ReturnsNullIfCookieIsUnsupportedVersion() { // Arrange var context = new Mock<HttpContextBase>(); var tokens = new Mock<TokenService>(); var utils = new Utils.UtilWorker(tokens.Object); context.Setup(c => c.Request.Cookies) .Returns(() => new HttpCookieCollection() { new HttpCookie(ReviewRApiController.CookieName, "COOK%20IE!?") }); tokens.Setup(t => t.UnprotectToken("COOK IE!?", ReviewRApiController.Purpose)) .Throws<NotSupportedException>(); // Act Assert.Null(utils.GetActiveSessionToken(context.Object)); }