Ejemplo n.º 1
0
        internal virtual CreateJobResponse CreateJob(CreateJobRequest request)
        {
            var marshaller   = CreateJobRequestMarshaller.Instance;
            var unmarshaller = CreateJobResponseUnmarshaller.Instance;

            return(Invoke <CreateJobRequest, CreateJobResponse>(request, marshaller, unmarshaller));
        }
        private CreateJobRequest buildDefaultUpsertAccountCreateJobRequest(String externalIdFieldName)
        {
            CreateJobRequest request = buildDefaultAccountCreateJobRequest(JobOperation.Upsert);

            request.ExternalIdFieldName = externalIdFieldName;

            return(request);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Initiates the asynchronous execution of the CreateJob operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the CreateJob operation.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        /// <returns>The task object representing the asynchronous operation.</returns>
        public Task <CreateJobResponse> CreateJobAsync(CreateJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller   = new CreateJobRequestMarshaller();
            var unmarshaller = CreateJobResponseUnmarshaller.Instance;

            return(InvokeAsync <CreateJobRequest, CreateJobResponse>(request, marshaller,
                                                                     unmarshaller, cancellationToken));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Initiates the asynchronous execution of the CreateJob operation.
        /// </summary>
        /// 
        /// <param name="request">Container for the necessary parameters to execute the CreateJob operation.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        /// <returns>The task object representing the asynchronous operation.</returns>
        public virtual Task<CreateJobResponse> CreateJobAsync(CreateJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateJobResponseUnmarshaller.Instance;

            return InvokeAsync<CreateJobResponse>(request, options, cancellationToken);
        }
Ejemplo n.º 5
0
        internal virtual CreateJobResponse CreateJob(CreateJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateJobResponseUnmarshaller.Instance;

            return Invoke<CreateJobResponse>(request, options);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Initiates the asynchronous execution of the CreateJob operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the CreateJob operation on AmazonSnowballClient.</param>
        /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param>
        /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.</param>
        ///
        /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateJob
        ///         operation.</returns>
        public IAsyncResult BeginCreateJob(CreateJobRequest request, AsyncCallback callback, object state)
        {
            var marshaller   = new CreateJobRequestMarshaller();
            var unmarshaller = CreateJobResponseUnmarshaller.Instance;

            return(BeginInvoke <CreateJobRequest>(request, marshaller, unmarshaller,
                                                  callback, state));
        }
        /// <summary>
        /// Initiates the asynchronous execution of the CreateJob operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the CreateJob operation on AmazonImportExportClient.</param>
        /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param>
        /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.</param>
        ///
        /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateJob
        ///         operation.</returns>
        /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/importexport-2010-06-01/CreateJob">REST API Reference for CreateJob Operation</seealso>
        public virtual IAsyncResult BeginCreateJob(CreateJobRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();

            options.RequestMarshaller    = CreateJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateJobResponseUnmarshaller.Instance;

            return(BeginInvoke(request, options, callback, state));
        }
Ejemplo n.º 8
0
        public async Task CreateJobAsync_Simple()
        {
            var request = new CreateJobRequest {
                PrinterUri = Options.Value.PrinterUrl
            };
            var response = await TestRequestAsync(request, (client, r) => client.CreateJobAsync(r));

            await CancelJobAsync(response.JobId);
        }
        IAsyncResult invokeCreateJob(CreateJobRequest createJobRequest, AsyncCallback callback, object state, bool synchronized)
        {
            IRequest    irequest     = new CreateJobRequestMarshaller().Marshall(createJobRequest);
            var         unmarshaller = CreateJobResponseUnmarshaller.GetInstance();
            AsyncResult result       = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller);

            Invoke(result);
            return(result);
        }
        private CreateJobRequest buildDefaultAccountCreateJobRequest(JobOperation operation)
        {
            CreateJobRequest jobRequest = new CreateJobRequest();

            jobRequest.ContentType = JobContentType.CSV;
            jobRequest.Operation   = operation;
            jobRequest.Object      = "Account";

            return(jobRequest);
        }
        private CreateJobRequest buildDefaultAttachmentJobRequest()
        {
            CreateJobRequest jobRequest = new CreateJobRequest();

            jobRequest.ContentType = JobContentType.ZIP_CSV;
            jobRequest.Operation   = JobOperation.Insert;
            jobRequest.Object      = "Attachment";

            return(jobRequest);
        }
Ejemplo n.º 12
0
        public void ShouldHaveErrorWhenItemsIsEmpty()
        {
            var subject = new CreateJobRequest
            {
                Items = new List <IJobItem>()
            };
            var target = new CreateJobValidator();

            target.ShouldHaveValidationErrorFor(s => s.Items, subject);
        }
Ejemplo n.º 13
0
        public void CreateJobAsync_Simple()
        {
            var request = new CreateJobRequest {
                PrinterUri = PrinterUrl
            };

            var result = _protocol.Construct(request);

            CheckResult(result);
        }
Ejemplo n.º 14
0
        public IActionResult Create(CreateJobRequest request)
        {
            var result = _jobService.CreateJob(request);

            if (result.Success)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }
Ejemplo n.º 15
0
        public static Job CreateJob(Job jobToBeCreated)
        {
            CreateJobRequest createJobRequest = new CreateJobRequest();

            createJobRequest.Job = jobToBeCreated;

            Job jobCreated = jobServiceClient.Projects.Jobs.Create(createJobRequest, parent).Execute();

            Console.WriteLine("Job created: " + jobCreated.Name);
            return(jobCreated);
        }
Ejemplo n.º 16
0
        public void ShouldHaveErrorWhenNumberOfTyresExceedsMaximum()
        {
            var subject = new CreateJobRequest
            {
                Items = Enumerable.Repeat(new TyreReplacement(), 10)
            };
            var target = new CreateJobValidator();

            target.ShouldHaveValidationErrorFor(s => s.Items, subject)
            .WithErrorMessage($"{CreateJobValidator.MaximumTyreReplacementCountExceeded}4");
        }
Ejemplo n.º 17
0
        private async Task <int> CreateJobAsync()
        {
            var request = new CreateJobRequest {
                PrinterUri = Options.Value.PrinterUrl
            };

            using var client = GetSharpIppClientWithoutLog;
            var response = await client.CreateJobAsync(request);

            return(response.JobId);
        }
Ejemplo n.º 18
0
        public ActionResult Create(CreateJobRequest request)
        {
            if (_jobValidator.IsValid(request, out var validationKeys))
            {
                _jobService.CreateJob(request);
                return(View());
            }

            BuildModelState(validationKeys);
            return(View());
        }
Ejemplo n.º 19
0
        public CreateJobResult CreateJob(CreateJobRequest request)
        {
            _logger.LogInformation("Validating CreateJobRequest...");
            var requestValidator = new CreateJobValidator();
            var validationResult = requestValidator.Validate(request);

            if (!validationResult.IsValid)
            {
                _logger.LogWarning("Validation failed", validationResult.Errors);
                return(CreateJobResult.Failed(validationResult.Errors.Select(e => e.ErrorMessage).ToArray()));
            }

            // Labour
            var labourInMinutes = CalculateTotalLabour(request.Items);

            if (labourInMinutes > request.ReferenceLabourInMinutes)
            {
                _logger.LogWarning($"CreateJob declined. Calculated labour of '{labourInMinutes}' exceeded given value of '{request.ReferenceLabourInMinutes}'");
                return(CreateJobResult.Declined("Calculated total labour exceeds given value"));
            }

            // Costs
            // TODO: This logic could use be put into dedicated validators - but that would move this business logic away
            var cost = CalculateTotalCost(request.Items);

            // TODO: Possible divide by zero exception here - add logic to decline if so?
            var difference = Math.Abs(request.ReferencePrice / cost - 1);

            if (difference >= CostReferralThresholdMin && Math.Abs(difference) < CostReferralThresholdMax)
            {
                // TODO: Do something here for referral...
                _logger.LogInformation($"CreateJob referred. Total job cost '{cost}' versus '{request.ReferencePrice}' (Difference: {difference * 100:N2}% between {CostReferralThresholdMin * 100:N2}% and {CostReferralThresholdMax * 100:N2}%)");
                return(CreateJobResult.Referred());
            }

            if (difference >= CostDeclineThreshold)
            {
                // TODO: Do something here for declining...
                _logger.LogWarning($"CreateJob declined. Total job cost '{cost}' versus '{request.ReferencePrice}' (Difference: {difference * 100:N2}% >= {CostDeclineThreshold * 100:N2}%)");
                return(CreateJobResult.Declined(DeclinedMessage));
            }

            if (difference <= CostApprovalThreshold)
            {
                // TODO: Do something here for approval...
                _logger.LogInformation($"CreateJob approved. Total job cost '{cost}' versus '{request.ReferencePrice}' (Difference: {difference * 100:N2}% <= {CostApprovalThreshold * 100:N2}%)");
                return(CreateJobResult.Approved());
            }
            else
            {
                // Not enough rules - are the thresholds on a sliding scale? If so, we can fix this with a collection of thresholds instead
                return(CreateJobResult.Declined(UnknownErrorMessage));
            }
        }
Ejemplo n.º 20
0
        public async Task CreateJobTest()
        {
            var requset = new CreateJobRequest()
            {
                StartTime = 1487203200,
                EndTime   = 1487260800
            };
            var result = await Manager.CreateJobAsync(requset);

            Assert.NotNull(result);
            Assert.Equal(0, result.Status);
        }
Ejemplo n.º 21
0
        public void ShouldMapCreateJobRequestToJob()
        {
            // Arrange
            CreateJobRequest jobRequest = new CreateJobRequest();

            // Act
            Job job = _mapper.Map <Job>(jobRequest);

            // Assert
            Assert.NotNull(job);
            Assert.IsType <Job>(job);
        }
Ejemplo n.º 22
0
        public async Task <bool> Handle(CreateJobRequest message, IOutputPort <CreateJobResponse> outputPort)
        {
            var createdJobResponse = await jobRepository.Create(message.Name, message.Description, message.OwnerId);

            if (!createdJobResponse.Success)
            {
                outputPort.Handle(new CreateJobResponse(createdJobResponse.Errors));
                return(false);
            }

            outputPort.Handle(new CreateJobResponse(createdJobResponse.Id));
            return(true);
        }
        public void GetAccountJobTest()
        {
            CreateJobRequest insertAccountJobRequest = buildDefaultInsertAccountCreateJobRequest();

            Job insertAccountJob = _apiClient.CreateJob(insertAccountJobRequest);

            // Close job so no more batches are added.
            Job closedInsertAccountJob = _apiClient.CloseJob(insertAccountJob.Id);

            closedInsertAccountJob = _apiClient.GetJob(closedInsertAccountJob.Id);

            Assert.IsTrue(closedInsertAccountJob != null);
            Assert.AreEqual("Closed", closedInsertAccountJob.State);
        }
Ejemplo n.º 24
0
        internal CreateJobResponse CreateJob(CreateJobRequest request)
        {
            var task = CreateJobAsync(request);

            try
            {
                return(task.Result);
            }
            catch (AggregateException e)
            {
                ExceptionDispatchInfo.Capture(e.InnerException).Throw();
                return(null);
            }
        }
Ejemplo n.º 25
0
        public async Task <IActionResult> GetJob(CreateJobRequest job)
        {
            var reponse = await _jobRepository.CreateJob(job);

            if (reponse.Ok)
            {
                if (reponse.Data)
                {
                    return(Ok(reponse.Mensaje));
                }
            }

            return(BadRequest(reponse.Mensaje));
        }
        public void CreateAccountJobTest()
        {
            // Create insert account job
            CreateJobRequest insertAccountJobRequest = buildDefaultInsertAccountCreateJobRequest();
            Job insertAccountJob = _apiClient.CreateJob(insertAccountJobRequest);

            Assert.IsTrue(insertAccountJob != null);
            Assert.IsTrue(String.IsNullOrWhiteSpace(insertAccountJob.Id) == false);
            Assert.AreEqual("Open", insertAccountJob.State);

            // Close job so no more batches are added.
            Job closedJob = _apiClient.CloseJob(insertAccountJob.Id);

            Assert.AreEqual("Closed", closedJob.State);
        }
Ejemplo n.º 27
0
        /// <summary>
        /// CreateJob接口的同步版本,创建训练任务
        /// </summary>
        /// <param name="req">参考<see cref="CreateJobRequest"/></param>
        /// <returns>参考<see cref="CreateJobResponse"/>实例</returns>
        public CreateJobResponse CreateJobSync(CreateJobRequest req)
        {
            JsonResponseModel <CreateJobResponse> rsp = null;

            try
            {
                var strResp = this.InternalRequestSync(req, "CreateJob");
                rsp = JsonConvert.DeserializeObject <JsonResponseModel <CreateJobResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }
Ejemplo n.º 28
0
 /// <summary>Snippet for CreateJob</summary>
 public void CreateJob_RequestObject()
 {
     // Snippet: CreateJob(CreateJobRequest,CallSettings)
     // Create client
     JobServiceClient jobServiceClient = JobServiceClient.Create();
     // Initialize request argument(s)
     CreateJobRequest request = new CreateJobRequest
     {
         ParentAsTenantOrProjectNameOneof = TenantOrProjectNameOneof.From(new TenantName("[PROJECT]", "[TENANT]")),
         Job = new Job(),
     };
     // Make the request
     Job response = jobServiceClient.CreateJob(request);
     // End snippet
 }
Ejemplo n.º 29
0
 /// <summary>Snippet for CreateJob</summary>
 public void CreateJob_RequestObject()
 {
     // Snippet: CreateJob(CreateJobRequest,CallSettings)
     // Create client
     CloudSchedulerClient cloudSchedulerClient = CloudSchedulerClient.Create();
     // Initialize request argument(s)
     CreateJobRequest request = new CreateJobRequest
     {
         ParentAsLocationName = new LocationName("[PROJECT]", "[LOCATION]"),
         Job = new Job(),
     };
     // Make the request
     Job response = cloudSchedulerClient.CreateJob(request);
     // End snippet
 }
Ejemplo n.º 30
0
        public async Task CreateJobAsync(CreateJobRequest createJobRequest)
        {
            GuardAgainstMissingFieldsIn(createJobRequest);

            try
            {
                var requestBody = JobberRequestUtils.CreateRequestBodyFor("job", createJobRequest);
                await _jobberApi.CreateJobAsync(requestBody);
            }
            catch (Exception ex)
            {
                var errorMessage = $"Failed when creating job with description: {createJobRequest.Description}";
                throw ConvertToJobberException("Failed when creating", ex);
            }
        }
Ejemplo n.º 31
0
        public void OutputAccessControlToJson()
        {
            Output output = new Output()
                .WithUrl(new Uri("s3://output-bucket/output-file-1-name.mp4"))
                .WithAccessControls(
                    new S3Access[]
                    {
                        new S3Access() { Grantee = "cdc7931a9574b1055d5b76112021d0e9", Permissions = new[] { S3Permission.Read, S3Permission.Write } },
                        new S3Access() { Grantee = "*****@*****.**", Permissions = new[] { S3Permission.FullControl } },
                        new S3Access() { Grantee = "http://acs.amazonaws.com/groups/global/AllUsers", Permissions = new[] { S3Permission.Read } }
                    })
                .WithThumbnails(new Thumbnails().WithNumber(1));

            CreateJobRequest request = new CreateJobRequest(Zencoder)
                .WithInputUrl(new Uri("s3://bucket-name/file-name.avi"))
                .WithOutput(output);

            Assert.AreEqual(string.Format(CultureInfo.InvariantCulture, AccessControlJson, ApiKey), request.ToJson());
        }
Ejemplo n.º 32
0
        public void OutputOutputToJson()
        {
            const string One = @"{{""input"":""s3://bucket-name/file-name.avi"",""outputs"":[{{""height"":320,""label"":""iPhone"",""url"":""s3://output-bucket/output-file-1-name.mp4"",""width"":480}},{{""height"":720,""label"":""WebHD"",""url"":""s3://output-bucket/output-file-2-name.mp4"",""width"":1280}}],""api_key"":""{0}""}}";

            Output[] outputs = new Output[]
            {
                new Output()
                {
                    Label = "iPhone",
                    Url = "s3://output-bucket/output-file-1-name.mp4",
                    Width = 480,
                    Height = 320
                },
                new Output()
                {
                    Label = "WebHD",
                    Url = "s3://output-bucket/output-file-2-name.mp4",
                    Width = 1280,
                    Height = 720
                }
            };

            CreateJobRequest request = new CreateJobRequest(Zencoder)
            {
                Input = "s3://bucket-name/file-name.avi",
                Outputs = outputs
            };

            Assert.AreEqual(string.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson());
        }
Ejemplo n.º 33
0
        /// <summary>
        /// A blocking create job request/response cycle.
        /// </summary>
        /// <param name="input">The URL of the input file.</param>
        /// <param name="outputs">The output definition collection.</param>
        /// <param name="downloadConnections">The number of download connections to use when fetching the input file.</param>
        /// <param name="region">The region to perform the job in.</param>
        /// <param name="test">A value indicating whether to use test mode.</param>
        /// <returns>The call response.</returns>
        public CreateJobResponse CreateJob(string input, IEnumerable<Output> outputs, int? downloadConnections, string region, bool? test)
        {
            CreateJobRequest request = new CreateJobRequest(this)
            {
                DownloadConnections = downloadConnections,
                Input = input,
                Region = region,
                Test = test
            };

            return request.WithOutputs(outputs).GetResponse();
        }
Ejemplo n.º 34
0
        /// <summary>
        /// A blocking create job request/response cycle.
        /// </summary>
        /// <param name="input">The URL of the input file.</param>
        /// <param name="outputs">The output definition collection.</param>
        /// <param name="downloadConnections">The number of download connections to use when fetching the input file.</param>
        /// <param name="region">The region to perform the job in.</param>
        /// <param name="test">A value indicating whether to use test mode.</param>
        /// <param name="mock">A value indicating whether to mock the response rather than actually creating a job.</param>
        /// <param name="callback">The call response.</param>
        public void CreateJob(string input, IEnumerable<Output> outputs, int? downloadConnections, string region, bool? test, bool? mock, Action<CreateJobResponse> callback)
        {
            CreateJobRequest request = new CreateJobRequest(this)
            {
                DownloadConnections = downloadConnections,
                Input = input,
                Mock = mock,
                Region = region,
                Test = test
            };

            request.WithOutputs(outputs).GetResponseAsync(callback);
        }
Ejemplo n.º 35
0
        public void OutputThumbnailsToJson()
        {
            const string One = @"{{""input"":""http://example.com/file-name.avi"",""outputs"":[{{""thumbnails"":[{{""base_url"":""s3://bucket/directory"",""height"":120,""number"":6,""prefix"":""custom"",""width"":160}}]}}],""api_key"":""{0}""}}";

            Thumbnails thumbs = new Thumbnails()
            {
                BaseUrl = "s3://bucket/directory",
                Prefix = "custom"
            };

            Output output = new Output()
            {
                Thumbnails = new Thumbnails[] { thumbs.WithNumber(6).WithSize(160, 120) }
            };

            CreateJobRequest request = new CreateJobRequest(Zencoder)
            {
                Input = "http://example.com/file-name.avi",
                Outputs = new Output[] { output }
            };

            Assert.AreEqual(String.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson());
        }
Ejemplo n.º 36
0
        public void OutputSegmentedStreamsToJson()
        {
            const string One = @"{{""input"":""http://example.com/file-name.avi"",""outputs"":[{{""segment_seconds"":30}},{{""type"":""playlist"",""streams"":[{{""bandwidth"":240,""path"":""low/index.m3u8""}},{{""bandwidth"":640,""path"":""high/index.m3u8""}}]}}],""api_key"":""{0}""}}";

            Output output = new Output()
            {
                SegmentSeconds = 30
            };

            Output playlist = new Output()
            {
                OutputType = OutputType.Playlist,
                Streams = new PlaylistStream[]
                {
                    new PlaylistStream()
                    {
                        Bandwidth = 240,
                        Path = "low/index.m3u8"
                    },
                    new PlaylistStream()
                    {
                        Bandwidth = 640,
                        Path = "high/index.m3u8"
                    }
                }
            };

            CreateJobRequest request = new CreateJobRequest(Zencoder)
            {
                Input = "http://example.com/file-name.avi",
                Outputs = new Output[] { output, playlist }
            };

            Assert.AreEqual(string.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson());
        }
Ejemplo n.º 37
0
        public void OutputThumbnailsToJson()
        {
            const string One = @"{{""input"":""http://example.com/file-name.avi"",""outputs"":[{{""thumbnails"":[{{""base_url"":""s3://bucket/directory"",""height"":120,""label"":null,""number"":6,""prefix"":""custom"",""width"":160}}]}}],""api_key"":""{0}""}}";
            const string Two = @"{{""input"":""http://example.com/file-name.avi"",""outputs"":[{{""thumbnails"":[{{""headers"":{{""x-amz-acl"":""public-read-write""}},""base_url"":""s3://bucket/directory"",""filename"":""{{{{number}}}}_{{{{width}}}}x{{{{height}}}}-thumbnail"",""height"":120,""interval_in_frames"":10,""label"":null,""prefix"":""custom"",""width"":160}}]}}],""api_key"":""{0}""}}";

            Thumbnails thumbs = new Thumbnails()
            {
                BaseUrl = "s3://bucket/directory",
                Prefix = "custom"
            };

            Output output = new Output()
            {
                Thumbnails = new Thumbnails[] { thumbs.WithNumber(6).WithSize(160, 120) }
            };

            CreateJobRequest request = new CreateJobRequest(Zencoder)
            {
                Input = "http://example.com/file-name.avi",
                Outputs = new Output[] { output }
            };

            Assert.AreEqual(string.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson());

            thumbs = thumbs.WithIntervalInFrames(10);
            thumbs.FileName = "{{number}}_{{width}}x{{height}}-thumbnail";
            thumbs.Headers["x-amz-acl"] = "public-read-write";

            output.Thumbnails = new Thumbnails[] { thumbs };

            Assert.AreEqual(string.Format(CultureInfo.InvariantCulture, Two, ApiKey), request.ToJson());
        }
Ejemplo n.º 38
0
        public void OutputWatermarkToJson()
        {
            const string One = @"{{""input"":""http://example.com/file-name.avi"",""outputs"":[{{""watermarks"":[{{""height"":""24"",""url"":""s3://bucket/watermark_file.png"",""width"":""32"",""x"":""20"",""y"":""-10%""}}]}}],""api_key"":""{0}""}}";

            Watermark watermark = new Watermark()
            {
                Url = "s3://bucket/watermark_file.png",
                X = "20",
                Y = "-10%"
            };

            Output[] outputs = new Output[] { new Output().WithWatermark(watermark.WithSizeInPixels(32, 24)) };

            CreateJobRequest request = new CreateJobRequest(Zencoder)
            {
                Input = "http://example.com/file-name.avi",
                Outputs = outputs
            };

            Assert.AreEqual(string.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson());
        }
Ejemplo n.º 39
0
        public void JobCreateJobRequestToJson()
        {
            const string One = @"{{""input"":""s3://bucket-name/file-name.avi"",""api_key"":""{0}""}}";
            const string Two = @"{{""download_connections"":3,""input"":""s3://bucket-name/file-name.avi"",""region"":""asia"",""api_key"":""{0}""}}";

            CreateJobRequest request = new CreateJobRequest(Zencoder)
            {
                Input = "s3://bucket-name/file-name.avi"
            };

            Assert.AreEqual(String.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson());

            request = new CreateJobRequest(Zencoder)
            {
                DownloadConnections = 3,
                Input = "s3://bucket-name/file-name.avi",
                Region = "asia"
            };

            Assert.AreEqual(String.Format(CultureInfo.InvariantCulture, Two, ApiKey), request.ToJson());
        }