public void GetBatchTaskParametersTest()
        {
            // Setup cmdlet without required parameters
            BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys();

            cmdlet.BatchContext = context;
            cmdlet.JobId        = null;
            cmdlet.Job          = null;
            cmdlet.Filter       = null;

            AzureOperationResponse <IPage <ProxyModels.CloudTask>, ProxyModels.TaskListHeaders> response = BatchTestHelpers.CreateGenericAzureOperationListResponse <ProxyModels.CloudTask, ProxyModels.TaskListHeaders>();

            // Build a CloudTask instead of querying the service on a List CloudTask call
            RequestInterceptor interceptor = BatchTestHelpers.CreateFakeServiceResponseInterceptor <
                ProxyModels.TaskListOptions,
                AzureOperationResponse <IPage <ProxyModels.CloudTask>,
                                        ProxyModels.TaskListHeaders> >(response);

            cmdlet.AdditionalBehaviors = new List <BatchClientBehavior>()
            {
                interceptor
            };

            Assert.Throws <ArgumentNullException>(() => cmdlet.ExecuteCmdlet());

            cmdlet.JobId = "job-1";

            // Verify no exceptions occur
            cmdlet.ExecuteCmdlet();
        }
Example #2
0
        public void GetBatchTaskParametersTest()
        {
            // Setup cmdlet without required parameters
            BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys();

            cmdlet.BatchContext = context;
            cmdlet.JobId        = null;
            cmdlet.Job          = null;
            cmdlet.Filter       = null;

            // Build a CloudTask instead of querying the service on a List CloudTask call
            RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor <CloudTaskListParameters, CloudTaskListResponse>();

            cmdlet.AdditionalBehaviors = new List <BatchClientBehavior>()
            {
                interceptor
            };

            Assert.Throws <ArgumentNullException>(() => cmdlet.ExecuteCmdlet());

            cmdlet.JobId = "job-1";

            // Verify no exceptions occur
            cmdlet.ExecuteCmdlet();
        }
        public void GetBatchTaskTest()
        {
            // Setup cmdlet to get a Task by name
            BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys();

            cmdlet.BatchContext = context;
            cmdlet.WorkItemName = "workItem";
            cmdlet.JobName      = "job-0000000001";
            cmdlet.Name         = "task1";
            cmdlet.Filter       = null;

            // Build a Task instead of querying the service on a GetJob call
            YieldInjectionInterceptor interceptor = new YieldInjectionInterceptor((opContext, request) =>
            {
                if (request is GetTaskRequest)
                {
                    GetTaskResponse response = BatchTestHelpers.CreateGetTaskResponse(cmdlet.Name);
                    Task <object> task       = Task <object> .Factory.StartNew(() => { return(response); });
                    return(task);
                }
                return(null);
            });

            cmdlet.AdditionalBehaviors = new List <BatchClientBehavior>()
            {
                interceptor
            };

            // Setup the cmdlet to write pipeline output to a list that can be examined later
            List <PSCloudTask> pipeline = new List <PSCloudTask>();

            commandRuntimeMock.Setup(r => r.WriteObject(It.IsAny <PSCloudTask>())).Callback <object>(t => pipeline.Add((PSCloudTask)t));

            cmdlet.ExecuteCmdlet();

            // Verify that the cmdlet wrote the Task returned from the OM to the pipeline
            Assert.Equal(1, pipeline.Count);
            Assert.Equal(cmdlet.Name, pipeline[0].Name);
        }
Example #4
0
        public void GetBatchTaskParametersTest()
        {
            // Setup cmdlet without required parameters
            BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys();

            cmdlet.BatchContext = context;
            cmdlet.JobId        = null;
            cmdlet.Job          = null;
            cmdlet.Filter       = null;

            // Build a CloudTask instead of querying the service on a List CloudTask call
            RequestInterceptor interceptor = new RequestInterceptor((baseRequest) =>
            {
                BatchRequest <CloudTaskListParameters, CloudTaskListResponse> request =
                    (BatchRequest <CloudTaskListParameters, CloudTaskListResponse>)baseRequest;

                request.ServiceRequestFunc = (cancellationToken) =>
                {
                    CloudTaskListResponse response    = BatchTestHelpers.CreateCloudTaskListResponse(new string[] { cmdlet.Id });
                    Task <CloudTaskListResponse> task = Task.FromResult(response);
                    return(task);
                };
            });

            cmdlet.AdditionalBehaviors = new List <BatchClientBehavior>()
            {
                interceptor
            };

            Assert.Throws <ArgumentNullException>(() => cmdlet.ExecuteCmdlet());

            cmdlet.JobId = "job-1";

            // Verify no exceptions occur
            cmdlet.ExecuteCmdlet();
        }