in LogicAppsSampleTestFramework/TestCases/TestCases.cs [24:54]
public void RequestResponse()
{
var workflowName = "requestresponseworkflow";
var workflowDefinition = File.ReadAllText($"TestFiles\\{workflowName}.json");
using (new WorkflowTestHost(new WorkflowTestInput[] { new WorkflowTestInput(workflowName, workflowDefinition) }))
using (var client = new HttpClient())
{
// 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("Hello from Logic Apps!", 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("Compose")).FirstOrDefault()["properties"]["status"]);
}
}