コード例 #1
0
        public void SetUp()
        {
            _mockRepository = new MockRepository();

            _rootFunction = new TestFunction();
            _subFunction  = _mockRepository.PartialMock <TestFunction>();

            _httpContextMock  = _mockRepository.DynamicMock <HttpContextBase>();
            _pageExecutorMock = _mockRepository.StrictMock <IWxePageExecutor>();
            _functionState    = new WxeFunctionState(_rootFunction, true);

            _pageStep = _mockRepository.PartialMock <WxePageStep> ("ThePage");
            _pageStep.SetPageExecutor(_pageExecutorMock);

            _pageMock           = _mockRepository.DynamicMock <IWxePage>();
            _postBackCollection = new NameValueCollection {
                { "Key", "Value" }
            };
            _wxeHandler = new WxeHandler();

            UrlMappingConfiguration.Current.Mappings.Add(new UrlMappingEntry(_rootFunction.GetType(), "~/root.wxe"));
            UrlMappingConfiguration.Current.Mappings.Add(new UrlMappingEntry(_subFunction.GetType(), "~/sub.wxe"));

            _functionStateManager = new WxeFunctionStateManager(new FakeHttpSessionStateBase());
            _wxeContext           = new WxeContext(_httpContextMock, _functionStateManager, _functionState, new NameValueCollection());
        }
コード例 #2
0
        public void Add()
        {
            var functionStateManager = new WxeFunctionStateManager(_session);

            functionStateManager.Add(_functionState);

            Assert.That(_session[GetSessionKeyForFunctionState()], Is.SameAs(_functionState));
        }
コード例 #3
0
        public WxeContext CreateContext(WxeFunction rootFunction)
        {
            HttpContextBase         httpContext          = MockRepository.GenerateStub <HttpContextBase> ();
            WxeFunctionStateManager functionStateManager = new WxeFunctionStateManager(MockRepository.GenerateStub <HttpSessionStateBase> ());
            WxeFunctionState        functionState        = new WxeFunctionState(rootFunction, false);
            NameValueCollection     queryString          = new NameValueCollection();

            return(new WxeContext(httpContext, functionStateManager, functionState, queryString));
        }
コード例 #4
0
        public void GetItem()
        {
            _session.Add(GetSessionKeyForFunctionState(), _functionState);

            var functionStateManager = new WxeFunctionStateManager(_session);
            WxeFunctionState actual  = functionStateManager.GetItem(_functionState.FunctionToken);

            Assert.That(actual, Is.SameAs(_functionState));
        }
コード例 #5
0
        public void Abort()
        {
            _session.Add(GetSessionKeyForFunctionState(), _functionState);

            WxeFunctionStateManager functionStateManager = new WxeFunctionStateManager(_session);

            functionStateManager.Abort(_functionState);

            Assert.That(_session[GetSessionKeyForFunctionState()], Is.Null);
        }
コード例 #6
0
        public void IsExpired_DelaysForOneMinute()
        {
            WxeFunctionState        functionState        = new WxeFunctionState(new TestFunction(), 1, true);
            WxeFunctionStateManager functionStateManager = new WxeFunctionStateManager(_session);

            functionStateManager.Add(functionState);
            Assert.That(functionStateManager.IsExpired(functionState.FunctionToken), Is.False);
            Thread.Sleep(61000);
            Assert.That(functionStateManager.IsExpired(functionState.FunctionToken), Is.True);
        }
コード例 #7
0
        public void Touch()
        {
            WxeFunctionStateManager functionStateManager = new WxeFunctionStateManager(_session);

            functionStateManager.Add(_functionState);
            DateTime lastAccess = functionStateManager.GetLastAccess(_functionState.FunctionToken);

            Thread.Sleep(1000);
            functionStateManager.Touch(_functionState.FunctionToken);
            Assert.Greater(functionStateManager.GetLastAccess(_functionState.FunctionToken), lastAccess);
        }
コード例 #8
0
        public void InitializeFromExistingSession()
        {
            DateTime lastAccess            = DateTime.Now;
            var      functionStateMetaData = new WxeFunctionStateManager.WxeFunctionStateMetaData(Guid.NewGuid().ToString(), 1, lastAccess);
            var      functionStates        = new Dictionary <string, WxeFunctionStateManager.WxeFunctionStateMetaData>();

            functionStates.Add(functionStateMetaData.FunctionToken, functionStateMetaData);
            _session[GetSessionKeyForFunctionStates()] = functionStates;

            var functionStateManager = new WxeFunctionStateManager(_session);

            Assert.That(functionStateManager.GetLastAccess(functionStateMetaData.FunctionToken), Is.EqualTo(lastAccess));
        }
コード例 #9
0
        public void SetUp()
        {
            _mockRepository = new MockRepository();

            _rootFunction = new TestFunction();
            _subFunction  = _mockRepository.PartialMock <TestFunction>();

            _httpContextMock  = _mockRepository.DynamicMock <HttpContextBase>();
            _pageExecutorMock = _mockRepository.StrictMock <IWxePageExecutor>();
            _functionState    = new WxeFunctionState(_rootFunction, true);

            _pageStep = _mockRepository.PartialMock <WxePageStep> ("ThePage");
            _pageStep.SetPageExecutor(_pageExecutorMock);

            _functionStateManager = new WxeFunctionStateManager(new FakeHttpSessionStateBase());
            _wxeContext           = new WxeContext(_httpContextMock, _functionStateManager, _functionState, new NameValueCollection());
        }
コード例 #10
0
        public void SetUp()
        {
            _mockRepository = new MockRepository();

            _rootFunction = new TestFunction();
            PrivateInvoke.InvokeNonPublicMethod(_rootFunction, "SetFunctionToken", "RootFunction");

            _subFunction = _mockRepository.PartialMock <TestFunction>();

            _httpContextMock  = _mockRepository.DynamicMock <HttpContextBase>();
            _pageExecutorMock = _mockRepository.StrictMock <IWxePageExecutor>();
            _functionState    = new WxeFunctionState(_rootFunction, true);

            _pageStep = _mockRepository.PartialMock <WxePageStep> ("ThePage");
            _pageStep.SetPageExecutor(_pageExecutorMock);
            _rootFunction.Add(_pageStep);

            _pageMock           = _mockRepository.DynamicMock <IWxePage>();
            _postBackCollection = new NameValueCollection {
                { "Key", "Value" }
            };
            _wxeHandler = new WxeHandler();

            UrlMappingConfiguration.Current.Mappings.Add(new UrlMappingEntry(_rootFunction.GetType(), "~/root.wxe"));
            UrlMappingConfiguration.Current.Mappings.Add(new UrlMappingEntry(_subFunction.GetType(), "~/sub.wxe"));

            _functionStateManager = new WxeFunctionStateManager(new FakeHttpSessionStateBase());

            Uri uri = new Uri("http://localhost/root.wxe");

            _responseMock = _mockRepository.StrictMock <HttpResponseBase>();
            _responseMock.Stub(stub => stub.ApplyAppPathModifier("~/sub.wxe")).Return("/session/sub.wxe").Repeat.Any();
            _responseMock.Stub(stub => stub.ApplyAppPathModifier("/session/sub.wxe")).Return("/session/sub.wxe").Repeat.Any();
            _responseMock.Stub(stub => stub.ApplyAppPathModifier("~/root.wxe")).Return("/session/root.wxe").Repeat.Any();
            _responseMock.Stub(stub => stub.ApplyAppPathModifier("/session/root.wxe")).Return("/session/root.wxe").Repeat.Any();
            _responseMock.Stub(stub => stub.ContentEncoding).Return(Encoding.Default).Repeat.Any();
            _httpContextMock.Stub(stub => stub.Response).Return(_responseMock).Repeat.Any();

            _requestMock = _mockRepository.StrictMock <HttpRequestBase>();
            _requestMock.Stub(stub => stub.Url).Return(uri).Repeat.Any();
            _httpContextMock.Stub(stub => stub.Request).Return(_requestMock).Repeat.Any();

            _wxeContext = new WxeContext(_httpContextMock, _functionStateManager, _functionState, new NameValueCollection());
            WxeContextMock.SetCurrent(_wxeContext);
        }
コード例 #11
0
        public virtual void SetUp()
        {
            _mockRepository            = new MockRepository();
            _executionStateContextMock = MockRepository.StrictMock <IExecutionStateContext>();

            _rootFunction = new TestFunction("Value");
            _subFunction  = CreateSubFunction();

            _httpContextMock = MockRepository.DynamicMock <HttpContextBase>();
            _functionState   = new WxeFunctionState(_rootFunction, true);

            _responseMock = MockRepository.StrictMock <HttpResponseBase>();
            _httpContextMock.Stub(stub => stub.Response).Return(_responseMock).Repeat.Any();

            _requestMock = MockRepository.StrictMock <HttpRequestBase>();
            _httpContextMock.Stub(stub => stub.Request).Return(_requestMock).Repeat.Any();

            _postBackCollection = new NameValueCollection();

            _functionStateManager = new WxeFunctionStateManager(new FakeHttpSessionStateBase());
            _wxeContext           = new WxeContext(_httpContextMock, _functionStateManager, _functionState, new NameValueCollection());
        }
コード例 #12
0
        public void CleanupExpired_DelaysForOneMinute()
        {
            WxeFunctionState        functionStateExpired    = new WxeFunctionState(new TestFunction(), 1, true);
            WxeFunctionState        functionStateNotExpired = new WxeFunctionState(new TestFunction(), 10, true);
            WxeFunctionStateManager functionStateManager    = new WxeFunctionStateManager(_session);

            functionStateManager.Add(functionStateExpired);
            functionStateManager.Add(functionStateNotExpired);

            var resultBeforeExpiration = functionStateManager.CleanUpExpired();

            Assert.That(resultBeforeExpiration, Is.EqualTo(2));

            Thread.Sleep(61000);

            Assert.That(functionStateManager.IsExpired(functionStateExpired.FunctionToken), Is.True);
            Assert.That(functionStateManager.IsExpired(functionStateNotExpired.FunctionToken), Is.False);

            var resultAfterExpiration = functionStateManager.CleanUpExpired();

            Assert.That(resultAfterExpiration, Is.EqualTo(1));
            Assert.That(functionStateManager.IsExpired(functionStateNotExpired.FunctionToken), Is.False);
            Assert.That(_session[GetSessionKeyForFunctionState(functionStateExpired.FunctionToken)], Is.Null);
        }
コード例 #13
0
        public void IsExpired_WithUnknownFunctionToken()
        {
            WxeFunctionStateManager functionStateManager = new WxeFunctionStateManager(_session);

            Assert.That(functionStateManager.IsExpired(Guid.NewGuid().ToString()), Is.True);
        }