public void CloudFileDirectoryCreateAndDeleteAPM() { CloudFileShare share = GetRandomShareReference(); try { share.Create(); using (AutoResetEvent waitHandle = new AutoResetEvent(false)) { CloudFileDirectory directory = share.GetRootDirectoryReference().GetDirectoryReference("directory1"); IAsyncResult result = directory.BeginCreate( ar => waitHandle.Set(), null); waitHandle.WaitOne(); directory.EndCreate(result); Assert.IsTrue(directory.Exists()); result = directory.BeginDelete( ar => waitHandle.Set(), null); waitHandle.WaitOne(); directory.EndDelete(result); Assert.IsFalse(directory.Exists()); } } finally { share.Delete(); } }
public void CloudFileDirectoryWithFilesDeleteAPM() { CloudFileClient client = GenerateCloudFileClient(); string name = GetRandomShareName(); CloudFileShare share = client.GetShareReference(name); try { share.Create(); if (CloudFileDirectorySetup(share)) { CloudFileDirectory dir1 = share.GetRootDirectoryReference().GetDirectoryReference("TopDir1/MidDir1/EndDir1"); CloudFile file1 = dir1.GetFileReference("EndFile1"); using (AutoResetEvent waitHandle = new AutoResetEvent(false)) { IAsyncResult result = dir1.BeginDelete( ar => waitHandle.Set(), null); waitHandle.WaitOne(); TestHelper.ExpectedException( () => dir1.EndDelete(result), "Delete a non-empty directory", HttpStatusCode.Conflict); result = file1.BeginDelete( ar => waitHandle.Set(), null); waitHandle.WaitOne(); file1.EndDelete(result); result = dir1.BeginDelete( ar => waitHandle.Set(), null); waitHandle.WaitOne(); dir1.EndDelete(result); } Assert.IsFalse(file1.Exists()); Assert.IsFalse(dir1.Exists()); } } finally { share.Delete(); } }