Exemple #1
0
        public async void SendReplyLeavesSocketOpen()
        {
            var page     = new MyPage();
            var document = new Document(page, BaseModeController.DefaultKeepAliveInterval);

            document.ServerEventsOn();
            var post = new Mock <PostEventContext>(Context.Application, Context.Http);

            post.Object.Document = document;
            var parameters = new EventParameters
            {
                EventName = GlobalConstants.ServerSideEvent,
            };

            post.Object.Parameters = parameters;
            var http = new Mock <HttpContext>();
            var ws   = new Mock <WebSocketManager>();

            http.Setup(x => x.WebSockets).Returns(ws.Object);
            ws.Setup(x => x.IsWebSocketRequest).Returns(true);
            post.Object.Http = http.Object;
            post.Setup(x => x.GetSocketCompletion()).Returns(CompletionResult);
            await PostEventHandler.SendReply(post.Object, "lala");

            post.Verify(x => x.GetSocketCompletion());
        }
Exemple #2
0
        public async void StatusCodeExceptionProcessed()
        {
            var element = Element.Create("div");

            element.On("click", () => throw new StatusCodeException(HttpStatusCode.Forbidden));
            var http = new Mock <HttpContext>();
            var post = new PostEventContext(Context.Application, http.Object)
            {
                Element    = element,
                Parameters = new EventParameters
                {
                    EventName = "click"
                }
            };
            var response = new Mock <HttpResponse>();

            response.SetupProperty(x => x.StatusCode);
            http.Setup(x => x.Response).Returns(response.Object);
            post.Http = http.Object;
            var headers = new Mock <IHeaderDictionary>();

            response.Setup(x => x.Headers).Returns(headers.Object);
            var body = new Mock <Stream>();

            response.Setup(x => x.Body).Returns(body.Object);
            await PostEventHandler.RunEventHandler(post);

            Assert.Equal((int)HttpStatusCode.Forbidden, response.Object.StatusCode);
        }
Exemple #3
0
        public async void PostEventHandlerNoElement()
        {
            var http     = new Mock <HttpContext>();
            var page     = new MyPage();
            var document = new Document(page, BaseModeController.DefaultKeepAliveInterval);
            var context  = new PostEventContext(Context.Application, http.Object)
            {
                Document   = document,
                Parameters = new EventParameters
                {
                    ElementId = "aaa"
                }
            };
            var sockets = new Mock <WebSocketManager>();

            http.Setup(x => x.WebSockets).Returns(sockets.Object);
            var response = new Mock <HttpResponse>();

            http.Setup(x => x.Response).Returns(response.Object);
            response.SetupProperty(x => x.StatusCode);
            var headers = new Mock <IHeaderDictionary>();

            response.Setup(x => x.Headers).Returns(headers.Object);
            var body = new Mock <Stream>();

            response.Setup(x => x.Body).Returns(body.Object);
            await PostEventHandler.ProcessRequestDocument(context);

            var code = response.Object.StatusCode;

            Assert.True(code == 200 || code == 0);
        }
Exemple #4
0
        public void EmptyArraySegment()
        {
            var x = PostEventHandler.BuildArraySegment("");

            Assert.NotNull(x.Array);
            Assert.Empty(x.Array);
        }
Exemple #5
0
        public async void ConnectionNotFoundSendsReload()
        {
            var http     = new Mock <HttpContext>();
            var request  = new Mock <HttpRequest>();
            var cookies  = new Mock <IRequestCookieCollection>();
            var response = new Mock <HttpResponse>();
            var headers  = new Mock <IHeaderDictionary>();
            var body     = new Mock <Stream>();
            var sockets  = new Mock <WebSocketManager>();

            http.Setup(x => x.Request).Returns(request.Object);
            http.Setup(x => x.Response).Returns(response.Object);
            http.Setup(x => x.WebSockets).Returns(sockets.Object);
            request.Setup(x => x.Method).Returns("POST");
            request.Setup(x => x.Path).Returns("/_event");
            request.Setup(x => x.Cookies).Returns(cookies.Object);
            response.Setup(x => x.Headers).Returns(headers.Object);
            response.Setup(x => x.Body).Returns(body.Object);
            sockets.Setup(x => x.IsWebSocketRequest).Returns(false);
            var query = new MyQueryCollection();

            request.Setup(x => x.Query).Returns(query);
            query.Add("doc", "EF2FF98720E34A2EA29E619977A5F04A");
            query.Add("el", "lala");
            query.Add("ev", "lala");
            var next    = new Mock <RequestDelegate>();
            var handler = new PostEventHandler(Context.Application, next.Object);
            var result  = await handler.ProcessRequest(http.Object);

            Assert.True(result);
        }
Exemple #6
0
        public void ProcessMessageSkipsEmptyMessage()
        {
            var http       = new Mock <HttpContext>();
            var cx         = new Connection(Guid.NewGuid(), IPAddress.Loopback);
            var context    = new PageContext(Context.Application, http.Object, cx);
            var parameters = new EventParameters();

            PostEventHandler.ProcessMessageIfNeeded(context, parameters);
        }
Exemple #7
0
        public async void PostEventHandlerSkipsRequests()
        {
            var http    = new Mock <HttpContext>();
            var next    = new Mock <RequestDelegate>();
            var post    = new PostEventHandler(Context.Application, next.Object);
            var request = new Mock <HttpRequest>();

            http.Setup(x => x.Request).Returns(request.Object);
            request.Setup(x => x.Path).Returns(PostEventHandler.EventPrefix);
            request.Setup(x => x.Method).Returns("LALA");
            var websockets = new Mock <WebSocketManager>();

            http.Setup(x => x.WebSockets).Returns(websockets.Object);
            Assert.False(await post.ProcessRequest(http.Object));
        }
Exemple #8
0
        public async void ProcessAjaxBadParameters()
        {
            var http     = new Mock <HttpContext>();
            var request  = new Mock <HttpRequest>();
            var response = new Mock <HttpResponse>();
            var query    = new Mock <IQueryCollection>();
            var headers  = new Mock <IHeaderDictionary>();

            http.Setup(x => x.Request).Returns(request.Object);
            request.Setup(x => x.Query).Returns(query.Object);
            StringValues values;

            query.Setup(x => x.TryGetValue("doc", out values)).Returns(false);
            response.SetupProperty(x => x.StatusCode);
            http.Setup(x => x.Response).Returns(response.Object);
            response.Setup(x => x.Headers).Returns(headers.Object);
            var body = new Mock <Stream>();

            response.Setup(x => x.Body).Returns(body.Object);
            await PostEventHandler.ProcessAjaxRequest(Context.Application, http.Object);
        }