public void ExtendQueueCookie_CookieDoesNotExist_Test() { var eventId = "event1"; var secretKey = "secretKey"; var cookieKey = UserInQueueStateCookieRepository.GetCookieKey(eventId); var fakeContext = MockRepository.GenerateMock <HttpContextBase>(); var fakeResponse = MockRepository.GenerateMock <HttpResponseBase>(); fakeContext.Stub(stub => stub.Response).Return(fakeResponse); var cookies = new HttpCookieCollection() { }; fakeResponse.Stub(stub => stub.Cookies).Return(cookies); var fakeRequest = MockRepository.GenerateMock <HttpRequestBase>(); fakeContext.Stub(stub => stub.Request).Return(fakeRequest); fakeRequest.Stub(stub => stub.Cookies).Return(cookies); var testObject = new UserInQueueStateCookieRepository(fakeContext); testObject.ExtendQueueCookie(eventId, 12, secretKey); var state = testObject.GetState(eventId, secretKey); Assert.False(state.IsValid); Assert.False(state.IsStateExtendable); Assert.True(String.IsNullOrEmpty(state.QueueId)); }
public void ExtendQueueCookie_CookieExist_Test() { //creating valid cookie var eventId = "event1"; var secretKey = "secretKey"; var cookieDomain = ".test.com"; var queueId = "f8757c2d-34c2-4639-bef2-1736cdd30bbb"; var cookieKey = UserInQueueStateCookieRepository.GetCookieKey(eventId); var cookieValidity = 3; var fakeContext = MockRepository.GenerateMock <HttpContextBase>(); var fakeResponse = MockRepository.GenerateMock <HttpResponseBase>(); fakeContext.Stub(stub => stub.Response).Return(fakeResponse); var cookies = new HttpCookieCollection() { }; fakeResponse.Stub(stub => stub.Cookies).Return(cookies); var testObject = new UserInQueueStateCookieRepository(fakeContext); testObject.Store(eventId, queueId, true, cookieDomain, cookieValidity, secretKey); //extend var fakeRequest = MockRepository.GenerateMock <HttpRequestBase>(); fakeContext.Stub(stub => stub.Request).Return(fakeRequest); fakeRequest.Stub(stub => stub.Cookies).Return(cookies); testObject.ExtendQueueCookie(eventId, 12, secretKey); Assert.True( DateTimeHelper.GetUnixTimeStampAsDate(cookies[cookieKey]["Expires"]) .Subtract(DateTime.UtcNow.AddMinutes(12)) < TimeSpan.FromSeconds(10)); Assert.True(cookies[cookieKey].Domain == cookieDomain); var state = testObject.GetState(eventId, secretKey); Assert.True(state.IsValid); Assert.True(state.IsStateExtendable); Assert.True(state.QueueId == queueId); }