public async Task E2ETestOrchestration()

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;
        }