public void PipelineCreatingMultipleDirectoriesWhileSomeDirectoryExistsTest() { int numberOfDirectories = this.randomProvider.Next(2, 33); int[] indexes = Enumerable.Range(0, numberOfDirectories).ToArray(); string[] names = indexes.Select(i => CloudFileUtil.GenerateUniqueDirectoryName()).ToArray(); int numberOfExistingDirectories = this.randomProvider.Next(1, numberOfDirectories); List <int> indexToBeRemoved = new List <int>(indexes); for (int i = 0; i < numberOfExistingDirectories; i++) { int id = this.randomProvider.Next(indexToBeRemoved.Count); fileUtil.EnsureDirectoryExists(this.fileShare, names[indexToBeRemoved[id]]); indexToBeRemoved.RemoveAt(id); } CommandAgent.NewDirectoryFromPipeline(this.fileShare.Name); var result = CommandAgent.Invoke(names); // A total number of "numberOfExistingDirectories" errors should throw while others should success. CommandAgent.AssertErrors(err => err.AssertError(AssertUtil.ResourceAlreadyExistsFullQualifiedErrorId), numberOfExistingDirectories); // Assert all directories are created foreach (string name in names) { fileUtil.AssertDirectoryExists(this.fileShare, name, string.Format("Directory {0} should exist after created.", name)); } }
public void PipelineMultipleDirectoryNamesTest() { // TODO: Generate more random names for file shares after the // naming rules is settled down. int numberOfDirectories = this.randomProvider.Next(2, 33); string[] names = Enumerable.Range(0, numberOfDirectories) .Select(i => CloudFileUtil.GenerateUniqueDirectoryName()).ToArray(); CommandAgent.NewDirectoryFromPipeline(this.fileShare.Name); var result = CommandAgent.Invoke(names); CommandAgent.AssertNoError(); result.AssertObjectCollection(obj => obj.AssertCloudFileDirectory(new List <string>(names)), numberOfDirectories); }