public void HttpAction()

in LogicAppsSampleTestFramework/TestCases/TestCases.cs [60:113]


        public void HttpAction()
        {
            var localSettings = $@"
            {{
                ""IsEncrypted"": false,
                ""Values"": {{
                    ""AzureWebJobsStorage"": ""UseDevelopmentStorage=true"",
                    ""FUNCTIONS_WORKER_RUNTIME"": ""node"",
                    ""httpuri"": ""{TestEnvironment.FlowV2MockTestHostUri}""
                }}
            }}
            ";
            var workflowName = "httpactionworkflow";
            var workflowDefinition = File.ReadAllText($"TestFiles\\{workflowName}.json");

            using (new WorkflowTestHost(new WorkflowTestInput[] { new WorkflowTestInput(workflowName, workflowDefinition) }, localSettings: localSettings))
            using (var host = new MockHttpHost())
            using (var client = new HttpClient())
            {
                // Configure mocked response.
                host.RequestHandler = request =>
                {
                    var mockedResponse = new HttpResponseMessage(statusCode: HttpStatusCode.OK)
                    {
                        RequestMessage = request
                    };

                    mockedResponse.Content = new StringContent("Mocked Http Response");
                    return mockedResponse;
                };

                // Get workflow callback URL.
                var response = client.PostAsync(TestEnvironment.GetTriggerCallbackRequestUri(flowName: workflowName, triggerName: "manual"), null).Result;
                Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);

                // Run the workflow.
                response = client.PostAsync(response.Content.ReadAsAsync<CallbackUrlDefinition>().Result.Value, null).Result;
                Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);

                // Check workflow response.
                Assert.AreEqual("Mocked Http Response", response.Content.ReadAsStringAsync().Result);

                // Check workflow run status.
                response = client.GetAsync(TestEnvironment.GetRunsRequestUriWithManagementHost(flowName: workflowName)).Result;
                var responseContent = response.Content.ReadAsAsync<JToken>().Result;
                Assert.AreEqual("Succeeded", responseContent["value"][0]["properties"]["status"].ToString());
                var runId = responseContent["value"].FirstOrDefault()["name"].ToString();

                // Check action result.
                response = client.GetAsync(TestEnvironment.GetRunActionsRequestUri(flowName: workflowName, runName: runId)).Result;
                responseContent = response.Content.ReadAsAsync<JToken>().Result;
                Assert.AreEqual("Succeeded", responseContent["value"].Where(actionResult => actionResult["name"].ToString().Equals("HTTP")).FirstOrDefault()["properties"]["status"]);
            }
        }