public void GetBatchComputeNodeTest() { // Setup cmdlet to get a compute node by id BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys(); cmdlet.BatchContext = context; cmdlet.PoolId = "pool"; cmdlet.Id = "computeNode1"; cmdlet.Filter = null; // Build a compute node instead of querying the service on a Get ComputeNode call ComputeNodeGetResponse response = BatchTestHelpers.CreateComputeNodeGetResponse(cmdlet.Id); RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor <ComputeNodeGetParameters, ComputeNodeGetResponse>(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 compute node returned from the OM to the pipeline Assert.Equal(1, pipeline.Count); Assert.Equal(cmdlet.Id, pipeline[0].Id); }
public void WhenStartBatchComputeNodeServiceLogUploadCommandIsCalledWithComputeNode_ShouldSucceed() { // First get a fake tvm BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys(); getComputeNodeCommand.BatchContext = context; getComputeNodeCommand.PoolId = "Pool1"; getComputeNodeCommand.Id = null; getComputeNodeCommand.Filter = null; AzureOperationResponse <IPage <ProxyModels.ComputeNode>, ProxyModels.ComputeNodeListHeaders> response1 = BatchTestHelpers.CreateComputeNodeListResponse(new[] { "tvm1" }); RequestInterceptor interceptor1 = BatchTestHelpers.CreateFakeServiceResponseInterceptor < ProxyModels.ComputeNodeListOptions, AzureOperationResponse <IPage <ProxyModels.ComputeNode>, ProxyModels.ComputeNodeListHeaders> >(response1); var computeNodes = new List <PSComputeNode>(); commandRuntimeMock.Setup(r => r.WriteObject(It.IsAny <PSComputeNode>())) .Callback <object>(c => computeNodes.Add((PSComputeNode)c)); getComputeNodeCommand.AdditionalBehaviors = new List <BatchClientBehavior>() { interceptor1 }; getComputeNodeCommand.ExecuteCmdlet(); // test StartBatchComputeNodeServiceLogUploadCommand startComputeNodeServiceLogUploadCommand.BatchContext = context; startComputeNodeServiceLogUploadCommand.ComputeNode = computeNodes[0]; startComputeNodeServiceLogUploadCommand.ContainerUrl = fakeUrl; var utcNow = DateTime.UtcNow; startComputeNodeServiceLogUploadCommand.StartTime = utcNow.AddDays(-1); startComputeNodeServiceLogUploadCommand.EndTime = utcNow; const int numberOfFilesUploaded = 2; const string virtualDirectoryName = "pool1/tvm"; AzureOperationResponse <ProxyModels.UploadBatchServiceLogsResult, ProxyModels.ComputeNodeUploadBatchServiceLogsHeaders> response2 = BatchTestHelpers.CreateComputeNodeServiceLogsAddResponse(numberOfFilesUploaded, virtualDirectoryName); RequestInterceptor interceptor2 = BatchTestHelpers.CreateFakeServiceResponseInterceptor < ProxyModels.ComputeNodeUploadBatchServiceLogsOptions, AzureOperationResponse <ProxyModels.UploadBatchServiceLogsResult, ProxyModels.ComputeNodeUploadBatchServiceLogsHeaders> >(response2); startComputeNodeServiceLogUploadCommand.AdditionalBehaviors = new List <BatchClientBehavior>() { interceptor2 }; // Setup the cmdlet to write pipeline output to a list that can be examined later PSStartComputeNodeServiceLogUploadResult result = null; commandRuntimeMock.Setup(r => r.WriteObject(It.IsAny <PSStartComputeNodeServiceLogUploadResult>())).Callback <object>(c => result = (PSStartComputeNodeServiceLogUploadResult)c); startComputeNodeServiceLogUploadCommand.ExecuteCmdlet(); Assert.NotNull(result); Assert.Equal(result.NumberOfFilesUploaded, numberOfFilesUploaded); Assert.Equal(result.VirtualDirectoryName, virtualDirectoryName); }