in src/ApiForFhirMigrationTool.Function/FhirMigrationToolE2E.cs [59:141]
public async Task<string> E2ETestOrchestration(
[OrchestrationTrigger] TaskOrchestrationContext context)
{
ILogger logger = context.CreateReplaySafeLogger(nameof(E2ETestOrchestration));
logger.LogInformation("Start E2E Test.");
var resSurface = new JArray();
var resDeep = new JArray();
JObject check = new JObject();
try
{
if (_options.ExportWithHistory == true || _options.ExportWithDelete == true)
{
if (_options.HistoryDeleteQuerySurface != null)
{
var surfaceCheckQuery = new List<string>(_options.HistoryDeleteQuerySurface);
foreach (var item in surfaceCheckQuery)
{
// Run Surface test
var surfaceCheck = await context.CallActivityAsync<string>("Count", item);
JObject jsonObject = JObject.Parse(surfaceCheck);
resSurface.Add(jsonObject);
}
}
}
else
{
if (_options.QuerySurface != null)
{
var surfaceCheckQuery = new List<string>(_options.QuerySurface);
foreach (var item in surfaceCheckQuery)
{
// Run Surface test
var surfaceCheck = await context.CallActivityAsync<string>("Count", item);
JObject jsonObject = JObject.Parse(surfaceCheck);
resSurface.Add(jsonObject);
}
}
}
if (_options.ExportWithHistory == true || _options.ExportWithDelete == true)
{
if (_options.HistoryDeleteQueryDeep != null)
{
var deepCheckQuery = new List<string>(_options.HistoryDeleteQueryDeep);
foreach (var item in deepCheckQuery)
{
// Run Deep Check test
var deepCheck = await context.CallActivityAsync<string>("DeepResourceCheck", item);
JObject jsonObject = JObject.Parse(deepCheck);
resDeep.Add(jsonObject);
}
}
}
else
{
if (_options.QueryDeep != null)
{
var deepCheckQuery = new List<string>(_options.QueryDeep);
foreach (var item in deepCheckQuery)
{
// Run Deep Check test
var deepCheck = await context.CallActivityAsync<string>("DeepResourceCheck", item);
JObject jsonObject = JObject.Parse(deepCheck);
resDeep.Add(jsonObject);
}
}
}
check.Add("SurfaceCheck", resSurface);
check.Add("DeepCheck", resDeep);
}
catch (Exception ex)
{
throw new Exception(ex.ToString());
}
string jsonString = check.ToString();
return jsonString;
}