public void EnableAutoScaleParametersTest()
        {
            BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys();
            cmdlet.BatchContext = context;
            cmdlet.Id = null;

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

            cmdlet.Id = "testPool";

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

            cmdlet.AutoScaleFormula = "formula";

            // Don't go to the service on an Enable AutoScale call
            RequestInterceptor interceptor = new RequestInterceptor((baseRequest) =>
            {
                BatchRequest<CloudPoolEnableAutoScaleParameters, CloudPoolEnableAutoScaleResponse> request =
                (BatchRequest<CloudPoolEnableAutoScaleParameters, CloudPoolEnableAutoScaleResponse>)baseRequest;

                request.ServiceRequestFunc = (cancellationToken) =>
                {
                    CloudPoolEnableAutoScaleResponse response = new CloudPoolEnableAutoScaleResponse();
                    Task<CloudPoolEnableAutoScaleResponse> task = Task.FromResult(response);
                    return task;
                };
            });
            cmdlet.AdditionalBehaviors = new List<BatchClientBehavior>() { interceptor };

            // Verify no exceptions when required parameter is set
            cmdlet.ExecuteCmdlet();
        }
        public void EnableAutoScaleRequestTest()
        {
            BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys();

            cmdlet.BatchContext = context;

            string formula        = "$TargetDedicated=2";
            string requestFormula = null;

            cmdlet.Id = "testPool";
            cmdlet.AutoScaleFormula = formula;

            // Don't go to the service on an Enable AutoScale call
            RequestInterceptor interceptor = new RequestInterceptor((baseRequest) =>
            {
                BatchRequest <CloudPoolEnableAutoScaleParameters, CloudPoolEnableAutoScaleResponse> request =
                    (BatchRequest <CloudPoolEnableAutoScaleParameters, CloudPoolEnableAutoScaleResponse>)baseRequest;

                // Grab the formula off the outgoing request
                requestFormula = request.TypedParameters.AutoScaleFormula;

                request.ServiceRequestFunc = (cancellationToken) =>
                {
                    CloudPoolEnableAutoScaleResponse response    = new CloudPoolEnableAutoScaleResponse();
                    Task <CloudPoolEnableAutoScaleResponse> task = Task.FromResult(response);
                    return(task);
                };
            });

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

            cmdlet.ExecuteCmdlet();

            // Verify that the autoscale formula was properly set on the outgoing request
            Assert.Equal(formula, requestFormula);
        }
示例#3
0
        public void EnableAutoScaleParametersTest()
        {
            BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys();

            cmdlet.BatchContext = context;
            cmdlet.Id           = null;

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

            cmdlet.Id = "testPool";

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

            cmdlet.AutoScaleFormula = "formula";

            // Don't go to the service on an Enable AutoScale call
            RequestInterceptor interceptor = new RequestInterceptor((baseRequest) =>
            {
                BatchRequest <CloudPoolEnableAutoScaleParameters, CloudPoolEnableAutoScaleResponse> request =
                    (BatchRequest <CloudPoolEnableAutoScaleParameters, CloudPoolEnableAutoScaleResponse>)baseRequest;

                request.ServiceRequestFunc = (cancellationToken) =>
                {
                    CloudPoolEnableAutoScaleResponse response    = new CloudPoolEnableAutoScaleResponse();
                    Task <CloudPoolEnableAutoScaleResponse> task = Task.FromResult(response);
                    return(task);
                };
            });

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

            // Verify no exceptions when required parameter is set
            cmdlet.ExecuteCmdlet();
        }
        public void EnableAutoScaleRequestTest()
        {
            BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys();
            cmdlet.BatchContext = context;

            string formula = "$TargetDedicated=2";
            string requestFormula = null;

            cmdlet.Id = "testPool";
            cmdlet.AutoScaleFormula = formula;

            // Don't go to the service on an Enable AutoScale call
            RequestInterceptor interceptor = new RequestInterceptor((baseRequest) =>
            {
                BatchRequest<CloudPoolEnableAutoScaleParameters, CloudPoolEnableAutoScaleResponse> request =
                (BatchRequest<CloudPoolEnableAutoScaleParameters, CloudPoolEnableAutoScaleResponse>)baseRequest;

                requestFormula = request.TypedParameters.AutoScaleFormula;

                request.ServiceRequestFunc = (cancellationToken) =>
                {
                    CloudPoolEnableAutoScaleResponse response = new CloudPoolEnableAutoScaleResponse();
                    Task<CloudPoolEnableAutoScaleResponse> task = Task.FromResult(response);
                    return task;
                };
            });
            cmdlet.AdditionalBehaviors = new List<BatchClientBehavior>() { interceptor };

            cmdlet.ExecuteCmdlet();

            // Verify that the autoscale formula was properly set on the outgoing request
            Assert.Equal(formula, requestFormula);
        }