/// <inheritdoc />
 public async Task<JobDetails> GetJob(string jobId)
 {
     //NEIN: Any code modification here should add unit tests for this class
     var converter = new PayloadConverter();
     var client = ServiceLocator.Instance.Locate<IHadoopRemoteJobSubmissionRestClientFactory>().Create(this.credentials, this.context, this.ignoreSslErrors, this.GetUserAgentString());
     var result = await client.GetJob(jobId);
     return converter.DeserializeJobDetails(result.Content);
 }
コード例 #2
0
        public void CanDeserializeJobRequestWithInvalidJobId()
        {
            var payloadConverter = new PayloadConverter();
            var payload = payloadConverter.DeserializeJobDetails("{ \"error\": \"job_1111 does not exist\"}");

            Assert.IsNull(payload);
        }
コード例 #3
0
 public void ICanDeserializeJobDetailsWithJobNameInArgumentAndDefineProperty()
 {
     var converter = new PayloadConverter();
     var jobDetails = converter.DeserializeJobDetails(JobDetailsPayloadWithNameInArgsAnDefinesProperty);
     Assert.AreEqual("Name In Define", jobDetails.Name);
 }
コード例 #4
0
 public void ICanDeserializeJobDetailsWithEmptyJobNameInArgumentProperty()
 {
     var converter = new PayloadConverter();
     var jobDetails = converter.DeserializeJobDetails(JobDetailsPayloadWithEmptyNameInArgsProperty);
     Assert.AreEqual(string.Empty, jobDetails.Name);
 }
コード例 #5
0
 public void ICanDeserializeJobDetailsWithCommandInUserArgs()
 {
     var converter = new PayloadConverter();
     var jobDetails = converter.DeserializeJobDetails(JobDetailsPayloadWithCommandProperty);
     Assert.AreEqual("show tables", jobDetails.Query);
 }
コード例 #6
0
 public void ICanDeserializeJobDetailsWithJobNameInArgumentProperty()
 {
     var converter = new PayloadConverter();
     var jobDetails = converter.DeserializeJobDetails(JobDetailsPayloadWithNameInArgsProperty);
     Assert.AreEqual("Pig: records = LOAD '/sah", jobDetails.Name);
 }
コード例 #7
0
 public void DeserializeFailsWithEmptyJobDetailsJson()
 {
     var converter = new PayloadConverter();
     converter.DeserializeJobDetails(EmptyJsonObject);
 }
コード例 #8
0
 public void DeserializeFailsWithMalformedobDetailsJson()
 {
     var converter = new PayloadConverter();
     converter.DeserializeJobDetails(MalformedJobDetailsJson);
 }
コード例 #9
0
 public void DeserializeFailsWithInvalidJobDetailsJson()
 {
     var converter = new PayloadConverter();
     converter.DeserializeJobDetails(InvalidJobDetailsJson);
 }
コード例 #10
0
 public void ICanDeserializeJobDetailsWithParentIdAndMissingJobId()
 {
     var converter = new PayloadConverter();
     var jobDetails = converter.DeserializeJobDetails(JobDetailsPayloadWithParentIdAndMissingJobId);
     Assert.AreEqual("job_000", jobDetails.JobId);
     Assert.AreEqual(0, jobDetails.ExitCode);
     Assert.AreEqual(unixEpoch.AddMilliseconds(1375484358898), jobDetails.SubmissionTime);
     Assert.AreEqual(JobStatusCode.Completed, jobDetails.StatusCode);
 }
コード例 #11
0
 public void ICanDeserializeJobDetailsWithMissingJobId()
 {
     var converter = new PayloadConverter();
     converter.DeserializeJobDetails(JobDetailsPayloadWithMissingJobId);
 }
コード例 #12
0
        public void ICanDeserializeJobDetailsWithMissingStartTime()
        {
            var converter = new PayloadConverter();
            var jobDetails = converter.DeserializeJobDetails(JobDetailsPayloadWithMissingStartTime);

            Assert.AreEqual("job_001", jobDetails.JobId);
            Assert.AreEqual(0, jobDetails.ExitCode);
            Assert.AreEqual(DateTime.MinValue, jobDetails.SubmissionTime);
            Assert.AreEqual(JobStatusCode.Completed, jobDetails.StatusCode);
            Assert.AreEqual("TestJob1", jobDetails.Name);
            Assert.AreEqual("some query", jobDetails.Query);
            Assert.AreEqual("/some/place", jobDetails.StatusDirectory);
        }
コード例 #13
0
        public void ICanDeserializeJobDetailsWithNullExitValue()
        {
            var converter = new PayloadConverter();
            var jobDetails = converter.DeserializeJobDetails(JobDetailsPayloadWithNullExitValue);

            Assert.AreEqual("job_001", jobDetails.JobId);
            Assert.IsNull(jobDetails.ExitCode);
            Assert.AreEqual(unixEpoch.AddMilliseconds(1375484358898), jobDetails.SubmissionTime);
            Assert.AreEqual(JobStatusCode.Completed, jobDetails.StatusCode);
            Assert.AreEqual("TestJob1", jobDetails.Name);
            Assert.AreEqual("some query", jobDetails.Query);
            Assert.AreEqual("/some/place", jobDetails.StatusDirectory);
        }
コード例 #14
0
        public void ICanDeserializeJobDetailsWithMissingDefinesArray()
        {
            var converter = new PayloadConverter();
            var jobDetails = converter.DeserializeJobDetails(JobDetailsPayloadWithMissingDefineArray);

            Assert.AreEqual("job_001", jobDetails.JobId);
            Assert.AreEqual(0, jobDetails.ExitCode);
            Assert.AreEqual(unixEpoch.AddMilliseconds(1375484358898), jobDetails.SubmissionTime);
            Assert.AreEqual(JobStatusCode.Completed, jobDetails.StatusCode);
            Assert.AreEqual(string.Empty, jobDetails.Name);
            Assert.AreEqual("/some/place", jobDetails.StatusDirectory);
            Assert.AreEqual("some query", jobDetails.Query);
        }
コード例 #15
0
        public async Task<JobDetails> StopJob(string jobId)
        {
            var client = ServiceLocator.Instance.Locate<IHadoopRemoteJobSubmissionRestClientFactory>().Create(this.credentials, this.context, this.ignoreSslErrors, this.GetUserAgentString());
            var result = await client.StopJob(jobId);
            var converter = new PayloadConverter();

            return converter.DeserializeJobDetails(result.Content);
        }