예제 #1
0
        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);
        }
예제 #2
0
        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);
                }
            }
        }
예제 #3
0
        //[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));
                }
            }
        }