예제 #1
0
        public void WhenISerializeTheListOfJobIds()
        {
            var serverConverter = new JobPayloadServerConverter();
            var clientConverter = new JobPayloadConverter();
            var asList          = this.transferObject.As <JobList>();

            if (asList.IsNotNull())
            {
                this.serializedForm = serverConverter.SerializeJobList(asList);
                return;
            }
            var asDetail = this.transferObject.As <Hadoop.Client.JobDetails>();

            if (asDetail.IsNotNull())
            {
                this.serializedForm = serverConverter.SerializeJobDetails(asDetail);
                return;
            }
            var asRequest = this.transferObject.As <JobCreateParameters>();

            if (asRequest.IsNotNull())
            {
                this.serializedForm = clientConverter.SerializeJobCreationDetails(asRequest);
                return;
            }
            Assert.Fail("Unable to recognize the object type.");
        }
예제 #2
0
 public void ICanSerializeAndDeserialzeCreationResults()
 {
     JobCreationResults expected = new JobCreationResults()
     {
         HttpStatusCode = HttpStatusCode.Accepted, JobId = "job123"
     };
     JobPayloadServerConverter ser   = new JobPayloadServerConverter();
     JobPayloadConverter       deser = new JobPayloadConverter();
     var payload = ser.SerializeJobCreationResults(expected);
     var actual  = deser.DeserializeJobCreationResults(payload);
 }
        /// <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);
            }
        }
        /// <inheritdoc />
        public async Task <HadoopJobList> ListJobs()
        {
            List <string>       jobIds    = new List <string>();
            JobPayloadConverter converter = new JobPayloadConverter();

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

                return(converter.DeserializeJobList(result.Content));
            }
        }
        /// <inheritdoc />
        public async Task <HadoopJobCreationResults> SubmitMapReduceJob(HadoopMapReduceJobCreationDetails details)
        {
            JobPayloadConverter converter = new JobPayloadConverter();

            using (var client = ServiceLocator.Instance.Locate <IHDInsightJobSubmissionRestClientFactory>().Create(this.credentials))
            {
                var payload = converter.SerializeJobCreationDetails(details);
                var result  = await client.CreateJob(dnsName, location, payload);

                return(converter.DeserializeJobCreationResults(result.Content));
            }
        }
예제 #6
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.");
        }