コード例 #1
0
        public void GetBatchPoolUsageODataTest()
        {
            int year  = 2013;
            int month = 4;
            int day   = 1;

            BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys();

            cmdlet.BatchContext = context;
            cmdlet.StartTime    = new DateTime(year, month, day, 0, 0, 0);
            cmdlet.EndTime      = new DateTime(year, month, day, 1, 0, 0);

            string[]   poolIds    = new[] { "p1", "p2" };
            DateTime[] startTimes = new[] { new DateTime(year, month, day, 0, 0, 0), new DateTime(year, month, day, 0, 30, 0) };
            DateTime[] endTimes   = new[] { new DateTime(year, month, day, 0, 30, 0), new DateTime(year, month, day, 1, 0, 0) };

            AzureOperationResponse <IPage <ProxyModels.PoolUsageMetrics>, ProxyModels.PoolListUsageMetricsHeaders> response =
                BatchTestHelpers.CreatePoolListUsageMetricsResponse(poolIds, startTimes, endTimes);

            RequestInterceptor interceptor = BatchTestHelpers.CreateFakeServiceResponseInterceptor <
                ProxyModels.PoolListUsageMetricsOptions,
                AzureOperationResponse <IPage <ProxyModels.PoolUsageMetrics>, ProxyModels.PoolListUsageMetricsHeaders> >(responseToUse: response);

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

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

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

            // Verify no exceptions when required parameter is set
            cmdlet.ExecuteCmdlet();

            Assert.Equal(2, pipeline.Count);
            int poolUsageCount = 0;

            foreach (PSPoolUsageMetrics p in pipeline)
            {
                Assert.Contains(p.PoolId, poolIds);
                poolUsageCount++;
            }

            Assert.Equal(poolIds.Length, poolUsageCount);
        }
コード例 #2
0
        public void GetBatchPoolUsageWithFilter()
        {
            int year  = 2013;
            int month = 4;
            int day   = 1;

            BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys();

            cmdlet.BatchContext = context;
            cmdlet.Filter       = "poolId lt 'p2'";

            string requestFilter = null;

            string[]   poolIds    = new[] { "p1" };
            DateTime[] startTimes = new[] { new DateTime(year, month, day, 0, 0, 0) };
            DateTime[] endTimes   = new[] { new DateTime(year, month, day, 0, 30, 0) };

            AzureOperationResponse <IPage <ProxyModels.PoolUsageMetrics>, ProxyModels.PoolListUsageMetricsHeaders> response =
                BatchTestHelpers.CreatePoolListUsageMetricsResponse(poolIds, startTimes, endTimes);

            // Don't go to the service on an Get PoolUsageMetrics call
            RequestInterceptor requestInterceptor = BatchTestHelpers.CreateFakeServiceResponseInterceptor <
                ProxyModels.PoolListUsageMetricsOptions,
                AzureOperationResponse <IPage <ProxyModels.PoolUsageMetrics>, ProxyModels.PoolListUsageMetricsHeaders> >(responseToUse: response);

            ResponseInterceptor responseInterceptor = new ResponseInterceptor((responseToUse, request) =>
            {
                ProxyModels.PoolListUsageMetricsOptions options = (ProxyModels.PoolListUsageMetricsOptions)request.Options;
                requestFilter = options.Filter;

                return(Task.FromResult(responseToUse));
            });

            cmdlet.AdditionalBehaviors = new List <BatchClientBehavior>()
            {
                requestInterceptor, responseInterceptor
            };

            // Verify no exceptions when required parameter is set
            cmdlet.ExecuteCmdlet();

            Assert.Equal(cmdlet.Filter, requestFilter);
        }