예제 #1
0
        public async void HttpTrigger_WithValidNameSetProvided_ReturnsHelloNameResults(string queryStringKey, string queryStringValue)
        {
            var request  = TestFactory.CreateHttpRequest(queryStringKey, queryStringValue);
            var response = (OkObjectResult)await HttpTrigger.Run(request, logger);

            Assert.Equal($"Hello, {queryStringValue}", response.Value);
        }
예제 #2
0
        public async void HttpTrigger_WithValidSingleNameProvided_ReturnsHelloNameResult()
        {
            var request  = TestFactory.CreateHttpRequest("name", "Bill");
            var response = (OkObjectResult)await HttpTrigger.Run(request, logger);

            Assert.Equal("Hello, Bill", response.Value);
        }
예제 #3
0
        public async Task Http_trigger_should_return_known_string_from_member_data(string queryStringKey, string queryStringValue)
        {
            var request  = TestFactory.CreateHttpRequest(queryStringKey, queryStringValue);
            var response = (OkObjectResult)await HttpTrigger.Run(request, logger);

            Assert.Equal($"Hello, {queryStringValue}", response.Value);
        }
예제 #4
0
        public async Task Http_trigger_should_return_known_string()
        {
            var request  = TestFactory.CreateHttpRequest("name", "Bill");
            var response = (OkObjectResult)await HttpTrigger.Run(request, logger).ConfigureAwait(false);

            Assert.Equal("Hello, Bill", response.Value);
        }
예제 #5
0
        public void HttpTrigger_EmptyBodyAndQuery()
        {
            var result = HttpTrigger.Run(
                req: HttpTestHelpers.CreateHttpRequest("POST", uriString: "http://localhost"),
                log: log);

            Assert.IsType <BadRequestObjectResult>(result);
        }
        public async Task Request_Without_Query_And_Body()
        {
            var query        = new Dictionary <String, StringValues>();
            var body         = "";
            var result       = HttpTrigger.Run(HttpRequestSetup(query, body), log);
            var resultObject = (BadRequestObjectResult)result;

            Assert.AreEqual("Please pass a name on the query string or in the request body", resultObject.Value);
        }
예제 #7
0
        public void HttpTrigger_ValidQuery()
        {
            var result = HttpTrigger.Run(
                req: HttpTestHelpers.CreateHttpRequest("POST", uriString: "http://localhost?name=Jeff"),
                log: log);

            var resultObject = (OkObjectResult)result;

            Assert.Equal("Hello, Jeff", resultObject.Value);
        }
        public async Task Request_Without_Query()
        {
            var query = new Dictionary <String, StringValues>();
            var body  = "{\"name\":\"ortega\"}";

            var result       = HttpTrigger.Run(HttpRequestSetup(query, body), log);
            var resultObject = (OkObjectResult)result;

            Assert.AreEqual("Hi ortega.", resultObject.Value);
        }
예제 #9
0
        public void HttpTriggerShouldLogMessage()
        {
            //Arrange
            var logger = new ListLogger();

            //Act
            HttpTrigger.Run(null, logger);

            //Assert
            Assert.Single(logger.Logs, "C# HTTP trigger function processed a request.");
        }
예제 #10
0
        public async void HttpTriggerShouldReturnBadResponseWhenNoNameWasFound()
        {
            var request = Substitute.For <HttpRequest>();

            request.Body.Returns(new MemoryStream());

            var response = await HttpTrigger.Run(request, Substitute.For <ILogger>());

            var badRequestResult = Assert.IsType <BadRequestObjectResult>(response);

            Assert.Equal("Please pass a name on the query string or in the request body", badRequestResult.Value);
        }
예제 #11
0
        public async void HttpTriggerShouldReturnPassedNameInBody(string value)
        {
            var request = Substitute.For <HttpRequest>();

            request.Body.Returns(new MemoryStream(Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(new { name = value }))));

            var response = await HttpTrigger.Run(request, Substitute.For <ILogger>());

            var okResponse = Assert.IsType <OkObjectResult>(response);

            Assert.Equal($"Hello, {value}", okResponse.Value);
        }
예제 #12
0
        public async Task Request_With_Query()
        {
            var query = new Dictionary <String, StringValues>();

            query.TryAdd("name", "jerome");
            var body = "";

            var result       = HttpTrigger.Run(req: HttpRequestSetup(query, body), log: log);
            var resultObject = (OkObjectResult)result;

            Assert.AreEqual("Hi jerome.", resultObject.Value);
        }
예제 #13
0
        public async void HttpTriggerShouldReturnPassedNameAsQueryString(string queryStringValue)
        {
            var request = Substitute.For <HttpRequest>();

            request.Query["name"].Returns(new StringValues(queryStringValue));
            request.Body.Returns(new MemoryStream());

            var response = await HttpTrigger.Run(request, Substitute.For <ILogger>());

            var okResponse = Assert.IsType <OkObjectResult>(response);

            Assert.Equal($"Hello, {queryStringValue}", okResponse.Value);
        }