/// <inheritdoc />
        public async Task <HadoopJob> GetJob(string jobId)
        {
            JobPayloadConverter converter = new JobPayloadConverter();

            using (var client = ServiceLocator.Instance.Locate <IHDInsightJobSubmissionRestClientFactory>().Create(this.credentials))
            {
                var result = await client.GetJobDetail(dnsName, location, jobId);

                var retval = converter.DeserializeJobDetails(result.Content, jobId);
                return(retval);
            }
        }
예제 #2
0
        public void TheValueOfTheSerializedOutputShouldBeEquivalentWithTheOrignal()
        {
            var     clientConverter = new JobPayloadConverter();
            var     serverConverter = new JobPayloadServerConverter();
            JobList asList          = this.transferObject.As <JobList>();

            if (asList.IsNotNull())
            {
                JobList actual = clientConverter.DeserializeJobList(this.serializedForm);
                Assert.AreEqual(asList.ErrorCode, actual.ErrorCode);
                Assert.AreEqual(asList.HttpStatusCode, actual.HttpStatusCode);
                Assert.IsTrue(asList.Jobs.Select(j => j.JobId).SequenceEqual(actual.Jobs.Select(j => j.JobId)));
                return;
            }
            var asJob = this.transferObject.As <Hadoop.Client.JobDetails>();

            if (asJob.IsNotNull())
            {
                var actual = clientConverter.DeserializeJobDetails(this.serializedForm, asJob.JobId);
                Assert.AreEqual(asJob.ErrorCode, actual.ErrorCode);
                Assert.AreEqual(asJob.HttpStatusCode, actual.HttpStatusCode);
                Assert.AreEqual(asJob.ErrorOutputPath, actual.ErrorOutputPath);
                Assert.AreEqual(asJob.ExitCode, actual.ExitCode);
                Assert.AreEqual(asJob.JobId, actual.JobId);
                Assert.AreEqual(asJob.LogicalOutputPath, actual.LogicalOutputPath);
                Assert.AreEqual(asJob.Name, actual.Name);
                Assert.AreEqual(new Uri(asJob.PhysicalOutputPath), new Uri(actual.PhysicalOutputPath));
                Assert.AreEqual(asJob.Query, actual.Query);
                Assert.AreEqual(asJob.StatusCode, actual.StatusCode);
                Assert.AreEqual(asJob.SubmissionTime, actual.SubmissionTime);
                Assert.AreEqual(asJob.Callback, actual.Callback);
                return;
            }
            var asMapReduce = this.transferObject.As <MapReduceJobCreateParameters>();

            if (asMapReduce.IsNotNull())
            {
                MapReduceJobCreateParameters actual = serverConverter.DeserializeMapReduceJobCreationDetails(this.serializedForm);
                Assert.AreEqual(asMapReduce.ClassName, actual.ClassName);
                Assert.IsTrue(asMapReduce.Arguments.SequenceEqual(actual.Arguments));
                Assert.AreEqual(asMapReduce.JarFile, actual.JarFile);
                Assert.AreEqual(asMapReduce.JobName, actual.JobName);
                Assert.AreEqual(asMapReduce.StatusFolder, actual.StatusFolder);
                Assert.IsTrue(asMapReduce.Defines.SequenceEqual(actual.Defines));
                Assert.IsTrue(asMapReduce.Files.SequenceEqual(actual.Files));
                return;
            }
            var asHive = this.transferObject.As <HiveJobCreateParameters>();

            if (asHive.IsNotNull())
            {
                HiveJobCreateParameters actual = serverConverter.DeserializeHiveJobCreationDetails(this.serializedForm);
                Assert.AreEqual(asHive.JobName, actual.JobName);
                Assert.AreEqual(asHive.StatusFolder, actual.StatusFolder);
                Assert.IsTrue(asHive.Defines.SequenceEqual(actual.Defines));
                Assert.AreEqual(asHive.Query, actual.Query);
                Assert.IsTrue(asHive.Files.SequenceEqual(actual.Files));
                return;
            }
            Assert.Fail("Unable to recognize the object type.");
        }