public void RunWithExecutionTimeGreaterThanTimeout(string language, string functionFileName, string moduleName, string functionHandler, int durationTime, int timeout)
        {
            // Arrange
            IInvoker invoker = InvokerFactory.GetFunctionInvoker(language, functionFileName, moduleName, functionHandler, timeout);
            Event    @event  = new Event(durationTime);
            Context  context = new Context();

            //Assert
            Assert.ThrowsAsync <OperationCanceledException>(async() => await invoker.Execute(@event, context));
        }
        public async void InvokeRegularFunction(string language, string functionName, string moduleName, string functionHandler)
        {
            // Arrange
            var invoker = InvokerFactory.GetFunctionInvoker(language, functionName, moduleName, functionHandler);
            var @event  = new Event();
            var context = new Context();

            // Act
            var result = await invoker.Execute(@event, context);
        }
Example #3
0
        public void InvokeRegularFunction(string language, string functionFileName, string moduleName, string functionHandler)
        {
            // Arrange
            IInvoker invoker = InvokerFactory.GetFunctionInvoker(language, functionFileName, moduleName, functionHandler);
            Event    @event  = new Event();
            Context  context = new Context();
            CancellationTokenSource token = new CancellationTokenSource();

            // Act
            object result = invoker.Execute(token, @event, context);

            // Assert
        }
        public async void RunWithoutTimeout(string language, string functionFileName, string moduleName, string functionHandler, int durationTime, int timeout)
        {
            // Arrange
            IInvoker invoker = InvokerFactory.GetFunctionInvoker(language, functionFileName, moduleName, functionHandler, timeout);
            Event    @event  = new Event(durationTime);
            Context  context = new Context();

            // Act
            object result = await invoker.Execute(@event, context);

            // Assert
            Assert.Equal("This is a long run!", result.ToString());
        }
        public async void InvokeRegularFunctionWithData(string language, string functionName, string moduleName, string functionHandler)
        {
            // Arrange
            var inputData = "expected returned message";

            var invoker = InvokerFactory.GetFunctionInvoker(language, functionName, moduleName, functionHandler);
            var @event  = new Event(inputData);
            var context = new Context();

            // Act
            object result = await invoker.Execute(@event, context);

            // Assert
            Assert.Equal(inputData, result.ToString());
        }
Example #6
0
        public async Task AddEndpoints_AttributeRouted_UsesActionInvoker()
        {
            // Arrange
            var values = new
            {
                action     = "Test",
                controller = "Test",
                page       = (string)null,
            };

            var action = CreateActionDescriptor(values, pattern: "/Test");

            var endpointFeature = new EndpointSelectorContext
            {
                RouteValues = new RouteValueDictionary()
            };

            var featureCollection = new FeatureCollection();

            featureCollection.Set <IEndpointFeature>(endpointFeature);
            featureCollection.Set <IRouteValuesFeature>(endpointFeature);
            featureCollection.Set <IRoutingFeature>(endpointFeature);

            var httpContextMock = new Mock <HttpContext>();

            httpContextMock.Setup(m => m.Features).Returns(featureCollection);

            var actionInvokerCalled = false;
            var actionInvokerMock   = new Mock <IActionInvoker>();

            actionInvokerMock.Setup(m => m.InvokeAsync()).Returns(() =>
            {
                actionInvokerCalled = true;
                return(Task.CompletedTask);
            });

            InvokerFactory
            .Setup(m => m.CreateInvoker(It.IsAny <ActionContext>()))
            .Returns(actionInvokerMock.Object);

            // Act
            var endpoint = CreateAttributeRoutedEndpoint(action);

            // Assert
            await endpoint.RequestDelegate(httpContextMock.Object);

            Assert.True(actionInvokerCalled);
        }
Example #7
0
        public void InvokeRegularFunctionWithData(string language, string functionFileName, string moduleName, string functionHandler)
        {
            // Arrange
            string inputData = "expected returned message";

            IInvoker invoker = InvokerFactory.GetFunctionInvoker(language, functionFileName, moduleName, functionHandler);
            Event    @event  = new Event(inputData);
            Context  context = new Context();
            CancellationTokenSource token = new CancellationTokenSource();

            // Act
            object result = invoker.Execute(token, @event, context);

            // Assert
            Assert.Equal(inputData, result.ToString());
        }
Example #8
0
        public void RunWithoutTimeout(string language, string functionFileName, string moduleName, string functionHandler, int durationTime, int timeoutSeconds)
        {
            // Arrange
            int      sleepTime            = durationTime;
            int      timeout              = timeoutSeconds * 1000;
            IInvoker invoker              = InvokerFactory.GetFunctionInvoker(language, functionFileName, moduleName, functionHandler, timeout);
            Event    @event               = new Event(sleepTime);
            Context  context              = new Context();
            CancellationTokenSource token = new CancellationTokenSource();

            // Act
            object result = invoker.Execute(token, @event, context);

            // Assert
            Assert.Equal("This is a long run!", result.ToString());
        }
Example #9
0
        public void RunWithExecutionTimeGreaterThanTimeout(string language, string functionFileName, string moduleName, string functionHandler, int durationTime, int timeoutSeconds)
        {
            // Arrange
            int      sleepTime            = durationTime * 1000;
            int      timeout              = timeoutSeconds * 1000;
            IInvoker invoker              = InvokerFactory.GetFunctionInvoker(language, functionFileName, moduleName, functionHandler, timeout);
            Event    @event               = new Event(sleepTime);
            Context  context              = new Context();
            CancellationTokenSource token = new CancellationTokenSource();

            // Act
            Action timeoutAction = () =>
            {
                object result = invoker.Execute(token, @event, context);
            };

            //Assert
            Assert.Throws <OperationCanceledException>(timeoutAction);
        }