public async Task CannotCreateOutputStorageForNullStorageAccount() { var taskResponse = new Batch.Protocol.Models.CloudTask { Id = "faketask", Url = $"http://contoso.noregion.batch.azure.com/jobs/fakejob/tasks/faketask", // TODO: remove if .NET client library can surface CloudTask.JobId directly }; using (var batchClient = await BatchClient.OpenAsync(new FakeBatchServiceClient(taskResponse))) { CloudTask task = batchClient.JobOperations.GetTask("fakejob", "faketask"); CloudStorageAccount storageAccount = null; var ex = Assert.Throws <ArgumentNullException>(() => task.OutputStorage(storageAccount)); Assert.Equal("storageAccount", ex.ParamName); } }
public async Task CloudJobOutputStorageExtensionSavesToCorrectContainer() { var taskResponse = new Batch.Protocol.Models.CloudTask { Id = _taskId, Url = $"http://contoso.noregion.batch.azure.com/jobs/{_jobId}/tasks/{_taskId}", // TODO: remove if .NET client library can surface CloudTask.JobId directly }; using (var batchClient = await BatchClient.OpenAsync(new FakeBatchServiceClient(taskResponse))) { var task = await batchClient.JobOperations.GetTaskAsync(_jobId, _taskId); await task.OutputStorage(StorageAccount).SaveAsync(TaskOutputKind.TaskOutput, FilePath("TestText1.txt")); var blobs = task.OutputStorage(StorageAccount).ListOutputs(TaskOutputKind.TaskOutput).ToList(); Assert.NotEqual(0, blobs.Count); Assert.Contains(blobs, b => b.Uri.AbsoluteUri.EndsWith($"{_jobId}/{_taskId}/$TaskOutput/Files/TestText1.txt")); } }