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); }
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); }