示例#1
0
        public void TestRunJobToCompletion()
        {
            var service = new RemoteExecutionService("http://localhost:8080", "test", "test");

            var hash = "";

            using (var uploadedFileStream = new MemoryStream(Resources.test_run_dir))
            {
                hash = service.UploadArtifact(uploadedFileStream);
            }

            Assert.Equal(hash, "4a0c2b277e4451d5ac59ccd57edf786c79455c99");

            var jobId = service.CreateJob("dir", ".", hash, "");

            Assert.NotNull(jobId);

            var jobComplete = false;
            var timer       = 0;

            do
            {
                var jobStatus = service.GetJobInfo(jobId);

                if (jobStatus.Status == RemoteExecutionService.RemoteJobState.Succeeded ||
                    jobStatus.Status == RemoteExecutionService.RemoteJobState.Cancelled ||
                    jobStatus.Status == RemoteExecutionService.RemoteJobState.Failed)
                {
                    jobComplete = true;
                }
                else
                {
                    Thread.Sleep(1000);
                    timer += 1000;
                }
            } while (!jobComplete && timer <= (20 * 1000));

            var finalStatus = service.GetJobInfo(jobId);

            Assert.Equal(RemoteExecutionService.RemoteJobState.Succeeded, finalStatus.Status);
            Assert.NotNull(finalStatus.ResultZipId);

            Assert.Equal(hash, "4a0c2b277e4451d5ac59ccd57edf786c79455c99");

            using (var downloadedFileStream = new MemoryStream())
            {
                service.DownloadArtifact(finalStatus.ResultZipId, downloadedFileStream);

                Assert.NotEqual(0, downloadedFileStream.Length);
            }
        }
示例#2
0
        public void TestArtifactDownload()
        {
            var service = new RemoteExecutionService("http://localhost:8080", "test", "test");

            var hash = "";

            using (var uploadedFileStream = new MemoryStream(Resources.test_run_dir))
            {
                hash = service.UploadArtifact(uploadedFileStream);
            }

            Assert.Equal(hash, "4a0c2b277e4451d5ac59ccd57edf786c79455c99");

            using (var downloadedFileStream = new MemoryStream())
            {
                service.DownloadArtifact("4a0c2b277e4451d5ac59ccd57edf786c79455c99", downloadedFileStream);

                Assert.Equal(downloadedFileStream.GetBuffer(), Resources.test_run_dir);
            }
        }