示例#1
0
        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));
        }
示例#2
0
        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);
        }