예제 #1
0
        public void RunInputsTest()
        {
            var response = api.ListJobs(Helper.CurrentUser.Username, "demo");
            var jobs     = response.Resources.Take(2);


            var runApi = new Api.RunsApi();

            foreach (var job in jobs)
            {
                var jobId = job.Id;
                var run   = runApi.ListRuns(Helper.CurrentUser.Username, "demo", jobId: new List <string>()
                {
                    jobId
                }).Resources[0];
                var inputs  = run.Recipe.Inputs.OfType <Interface.Io.Inputs.IDag>();
                var inputs2 = run.Status.Inputs.OfType <Interface.Io.Inputs.IStep>();

                var sameInputs = inputs.Count() == inputs2.Count();
                if (!sameInputs)
                {
                    Console.WriteLine($"{Helper.CurrentUser.Username}/demo/{jobId}/{run.Id}");

                    Console.WriteLine($"================Run Recipe Inputs=====================");


                    foreach (var item in inputs)
                    {
                        Console.WriteLine($"{item.Name}");
                    }



                    Console.WriteLine($"================Run Status Inputs=====================");
                    foreach (var item in inputs2)
                    {
                        var v = item.IsValueType() ? string.Join(",", item.GetInputValue()) : item.GetInputPath();
                        Console.WriteLine($"{item.Name}: {v}");
                    }
                }
                // ISSUE: https://github.com/pollination/pollination-server/issues/146
                //Assert.IsTrue(sameInputs);
            }
        }