Exemplo n.º 1
0
        public void CreateAListOfSharesWhileSomeOfThemAlreadyExistsTest()
        {
            int           numberOfSharesToBeCreated = this.randomProvider.Next(5, 20);
            List <string> shareNames = Enumerable.Range(0, numberOfSharesToBeCreated).Select(x => CloudFileUtil.GenerateUniqueFileShareName()).ToList();
            int           numberOfSharesAlreadyExists = this.randomProvider.Next(1, numberOfSharesToBeCreated - 1);
            List <string> existingShareNames          = shareNames.RandomlySelect(numberOfSharesAlreadyExists, this.randomProvider).ToList();

            foreach (string shareName in shareNames)
            {
                if (fileUtil.FileShareExists(shareName) && (!existingShareNames.Contains(shareName)))
                {
                    existingShareNames.Add(shareName);
                }
            }

            try
            {
                foreach (string shareName in existingShareNames)
                {
                    fileUtil.EnsureFileShareExists(shareName);
                }

                CommandAgent.NewFileShareFromPipeline();
                var result = CommandAgent.Invoke(shareNames);
                CommandAgent.AssertErrors(
                    err => err.AssertError(AssertUtil.ShareAlreadyExistsFullQualifiedErrorId),
                    numberOfSharesAlreadyExists);

                foreach (string shareName in shareNames)
                {
                    fileUtil.AssertFileShareExists(shareName, "File share should exist after created.");
                }
            }
            finally
            {
                foreach (string shareName in shareNames)
                {
                    fileUtil.DeleteFileShareIfExists(shareName);
                }
            }
        }
Exemplo n.º 2
0
        public void PipelineMultipleShareNamesTest()
        {
            // TODO: Generate more random names for file shares after the
            // naming rules is settled down.
            int numberOfShares = this.randomProvider.Next(2, 33);

            string[] names = Enumerable.Range(0, numberOfShares)
                             .Select(i => CloudFileUtil.GenerateUniqueFileShareName()).ToArray();

            var client = StorageAccount.CreateCloudFileClient();

            // Ensure all file shares are not exists
            for (int i = 0; i < names.Length; i++)
            {
                while (client.GetShareReference(names[i]).Exists())
                {
                    names[i] = CloudFileUtil.GenerateUniqueFileShareName();
                }
            }

            try
            {
                CommandAgent.NewFileShareFromPipeline();
                var result = CommandAgent.Invoke(names);

                CommandAgent.AssertNoError();
                result.AssertObjectCollection(obj => result.AssertCloudFileContainer(obj, new List <string>(names)), numberOfShares);
            }
            finally
            {
                foreach (string fileShareName in names)
                {
                    fileUtil.DeleteFileShareIfExists(fileShareName);
                }
            }
        }