public Run GetRun() { string[] items = CheckRunSource(); var source = new { owner = items[0], proj = items[1], runId = items[2] }; var api = new Api.RunsApi(); var run = api.GetRun(source.owner, source.proj, source.runId); //run.Status.JobId return(run); }
public void DownloadAssetTest() { var instance = new ProjectsApi(); var proj = instance.GetProject(Helper.CurrentUser.Username, "demo"); var runApi = new Api.RunsApi(); // energy simu var run = runApi.GetRun(Helper.CurrentUser.Username, "demo", "908adb92-6339-4e34-8f01-7ddb55c52da2"); var runInfo = new RunInfo(proj, run); var assets = runInfo.GetOutputAssets("grasshopper").OfType <RunAssetBase>().ToList(); var inputs = runInfo.GetInputAssets(); assets.AddRange(inputs); var task = runInfo.DownloadRunAssetsAsync(assets, useCached: false); var downloaded = task.Result; // download cached. var task2 = runInfo.DownloadRunAssetsAsync(assets, useCached: true); var downloadedCached = task2.Result; var allDownloaded = downloaded.Zip(downloadedCached, (d, dc) => new { nonCached = d, Cached = dc }); foreach (var savedAsset in allDownloaded) { var item = savedAsset.nonCached; var itemCached = savedAsset.Cached; if (item.IsPathAsset()) { Console.WriteLine($"Is Saved {item.Name}:{item.IsSaved()} to {item.LocalPath}"); Console.WriteLine($"Is Saved (cached) {itemCached.Name}:{itemCached.IsSaved()} to {itemCached.LocalPath}"); Assert.IsTrue(item.IsSaved()); Assert.IsTrue(item.LocalPath == itemCached.LocalPath); } else { var v = string.Join(",", item.Value); var v2 = string.Join(",", itemCached.Value); Console.WriteLine($"Value {item.Name}: {v}"); Console.WriteLine($"Value(cached) {itemCached.Name}: {v2}"); Assert.IsTrue(!string.IsNullOrEmpty(v)); Assert.IsTrue(v == v2); } } }
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); } }
//[Test] public void DownloadBigAssetTest() { var owner = "studio-greenaarch"; var projName = "puri-market-complex"; var instance = new ProjectsApi(); var proj = instance.GetProject(owner, projName); var runApi = new Api.RunsApi(); // energy simu var runId = "4a16380d-0eae-59ea-bf03-871cb4163b7b"; var run = runApi.GetRun(owner, projName, runId); var runInfo = new RunInfo(proj, run); var assets = runInfo.GetOutputAssets("grasshopper").OfType <RunAssetBase>().Where(_ => _.Name == "sql").ToList(); var task = runInfo.DownloadRunAssetsAsync(assets, useCached: false); var downloaded = task.Result; foreach (var savedAsset in downloaded) { var item = savedAsset; if (item.IsPathAsset()) { Console.WriteLine($"Is Saved {item.Name}:{item.IsSaved()} to {item.LocalPath}"); Assert.IsTrue(item.IsSaved()); } else { var v = string.Join(",", item.Value); Console.WriteLine($"Value {item.Name}: {v}"); Assert.IsTrue(!string.IsNullOrEmpty(v)); } } }