public void ListComputeNodesMaxCountTest() { // Verify default max count Assert.Equal(Microsoft.Azure.Commands.Batch.Utils.Constants.DefaultMaxCount, cmdlet.MaxCount); // Setup cmdlet to list compute nodes without filters and a max count BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys(); cmdlet.BatchContext = context; cmdlet.PoolId = "testPool"; cmdlet.Id = null; cmdlet.Filter = null; int maxCount = 2; cmdlet.MaxCount = maxCount; string[] idsOfConstructedComputeNodes = new[] { "computeNode1", "computeNode2", "computeNode3" }; // Build some compute nodes instead of querying the service on a List ComputeNodes call ComputeNodeListResponse response = BatchTestHelpers.CreateComputeNodeListResponse(idsOfConstructedComputeNodes); RequestInterceptor interceptor = BatchTestHelpers.CreateFakeServiceResponseInterceptor <ComputeNodeListParameters, ComputeNodeListResponse>(response); cmdlet.AdditionalBehaviors = new List <BatchClientBehavior>() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later List <PSComputeNode> pipeline = new List <PSComputeNode>(); commandRuntimeMock.Setup(r => r.WriteObject(It.IsAny <PSComputeNode>())) .Callback <object>(c => pipeline.Add((PSComputeNode)c)); cmdlet.ExecuteCmdlet(); // Verify that the max count was respected Assert.Equal(maxCount, pipeline.Count); // Verify setting max count <= 0 doesn't return nothing cmdlet.MaxCount = -5; pipeline.Clear(); cmdlet.ExecuteCmdlet(); Assert.Equal(idsOfConstructedComputeNodes.Length, pipeline.Count); }
public void ListBatchComputeNodesWithoutFiltersTest() { // Setup cmdlet to list compute nodes without filters. BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys(); cmdlet.BatchContext = context; cmdlet.PoolId = "testPool"; cmdlet.Id = null; cmdlet.Filter = null; string[] idsOfConstructedComputeNodes = new[] { "computeNode1", "computeNode2", "computeNode3" }; // Build some compute nodes instead of querying the service on a List ComputeNodes call ComputeNodeListResponse response = BatchTestHelpers.CreateComputeNodeListResponse(idsOfConstructedComputeNodes); RequestInterceptor interceptor = BatchTestHelpers.CreateFakeServiceResponseInterceptor <ComputeNodeListParameters, ComputeNodeListResponse>(response); cmdlet.AdditionalBehaviors = new List <BatchClientBehavior>() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later List <PSComputeNode> pipeline = new List <PSComputeNode>(); commandRuntimeMock.Setup(r => r.WriteObject(It.IsAny <PSComputeNode>())) .Callback <object>(c => pipeline.Add((PSComputeNode)c)); cmdlet.ExecuteCmdlet(); // Verify that the cmdlet wrote the constructed compute nodes to the pipeline Assert.Equal(3, pipeline.Count); int computeNodeCount = 0; foreach (PSComputeNode c in pipeline) { Assert.True(idsOfConstructedComputeNodes.Contains(c.Id)); computeNodeCount++; } Assert.Equal(idsOfConstructedComputeNodes.Length, computeNodeCount); }