public void CloudFileDirectoryFileCreateWithoutDirectory() { CloudFileClient client = GenerateCloudFileClient(); string name = GetRandomShareName(); CloudFileShare share = client.GetShareReference(name); try { share.Create(); CloudFileDirectory dir = share.GetRootDirectoryReference().GetDirectoryReference("Dir1"); CloudFile file = dir.GetFileReference("file1"); TestHelper.ExpectedException( () => file.Create(0), "Creating a file when the directory has not been created should throw", HttpStatusCode.NotFound, "ParentNotFound"); // File creation directly in the share should pass. CloudFile file2 = share.GetRootDirectoryReference().GetFileReference("file2"); file2.Create(0); dir.Create(); file.Create(0); } finally { share.Delete(); } }
public void CloudFileDirectorySAS() { CloudFileDirectory dir = this.testShare.GetRootDirectoryReference().GetDirectoryReference("dirfile"); CloudFile file = dir.GetFileReference("dirfile"); dir.Create(); file.Create(512); SharedAccessFilePolicy policy = new SharedAccessFilePolicy() { SharedAccessStartTime = DateTimeOffset.UtcNow.AddMinutes(-5), SharedAccessExpiryTime = DateTimeOffset.UtcNow.AddMinutes(30), Permissions = SharedAccessFilePermissions.Read | SharedAccessFilePermissions.List }; string sasToken = file.GetSharedAccessSignature(policy); CloudFileDirectory sasDir = new CloudFileDirectory(new Uri(dir.Uri.AbsoluteUri + sasToken)); TestHelper.ExpectedException( () => sasDir.FetchAttributes(), "Fetching attributes of a directory using a file SAS should fail", HttpStatusCode.Forbidden); sasToken = this.testShare.GetSharedAccessSignature(policy); sasDir = new CloudFileDirectory(new Uri(dir.Uri.AbsoluteUri + sasToken)); sasDir.FetchAttributes(); }
public void CloudFileDirectoryCreateDirectoryUsingPrefix() { CloudFileClient client = GenerateCloudFileClient(); string name = GetRandomShareName(); CloudFileShare share = client.GetShareReference(name); try { share.Create(); CloudFileDirectory dir1 = share.GetRootDirectoryReference().GetDirectoryReference("Dir1"); CloudFileDirectory dir2 = share.GetRootDirectoryReference().GetDirectoryReference("Dir1/Dir2"); TestHelper.ExpectedException( () => dir2.Create(), "Try to create directory hierarchy by specifying prefix", HttpStatusCode.NotFound); dir1.Create(); dir2.Create(); } finally { share.Delete(); } }
public void CloudFileDirectoryDeleteIfExists() { CloudFileShare share = GetRandomShareReference(); share.Create(); try { CloudFileDirectory directory = share.GetRootDirectoryReference().GetDirectoryReference("directory1"); Assert.IsFalse(directory.DeleteIfExists()); directory.Create(); Assert.IsTrue(directory.DeleteIfExists()); Assert.IsFalse(directory.DeleteIfExists()); } finally { share.Delete(); } }
private void FileDirectoryEscapingTest(string directoryName, string fileName) { CloudFileClient service = GenerateCloudFileClient(); CloudFileShare share = GetRandomShareReference(); try { share.Create(); string text = Guid.NewGuid().ToString(); // Create from CloudFileShare. CloudFileDirectory directory = share.GetRootDirectoryReference().GetDirectoryReference(directoryName); directory.Create(); CloudFile originalFile = directory.GetFileReference(fileName); originalFile.Create(0); // List directories from share. IListFileItem directoryFromShareListingFiles = share.GetRootDirectoryReference().ListFilesAndDirectories().First(); Assert.AreEqual(directory.Uri, directoryFromShareListingFiles.Uri); // List files from directory. IListFileItem fileFromDirectoryListingFiles = directory.ListFilesAndDirectories().First(); Assert.AreEqual(originalFile.Uri, fileFromDirectoryListingFiles.Uri); // Check Name Assert.AreEqual <string>(fileName, originalFile.Name); // Absolute URI access from CloudFile CloudFile fileInfo = new CloudFile(originalFile.Uri, service.Credentials); fileInfo.FetchAttributes(); // Access from CloudFileDirectory CloudFileDirectory cloudFileDirectory = share.GetRootDirectoryReference().GetDirectoryReference(directoryName); CloudFile fileFromCloudFileDirectory = cloudFileDirectory.GetFileReference(fileName); Assert.AreEqual(fileInfo.Uri, fileFromCloudFileDirectory.Uri); } finally { share.Delete(); } }
public void TestFileDirectoryEncryption() { bool requestFound = false; OperationContext ctxt = new OperationContext(); ctxt.RequestCompleted += (sender, args) => { Assert.IsTrue(args.RequestInformation.IsRequestServerEncrypted); requestFound = true; }; CloudFileDirectory dir2 = this.share.GetRootDirectoryReference().GetDirectoryReference("dir2"); dir2.Create(null, ctxt); Assert.IsTrue(requestFound); requestFound = false; dir2.SetMetadata(null, null, ctxt); Assert.IsTrue(requestFound); }
private bool CloudFileDirectorySetup(CloudFileShare share) { try { CloudFileDirectory rootDirectory = share.GetRootDirectoryReference(); for (int i = 1; i < 3; i++) { CloudFileDirectory topDirectory = rootDirectory.GetDirectoryReference("TopDir" + i); topDirectory.Create(); for (int j = 1; j < 3; j++) { CloudFileDirectory midDirectory = topDirectory.GetDirectoryReference("MidDir" + j); midDirectory.Create(); for (int k = 1; k < 3; k++) { CloudFileDirectory endDirectory = midDirectory.GetDirectoryReference("EndDir" + k); endDirectory.Create(); CloudFile file1 = endDirectory.GetFileReference("EndFile" + k); file1.Create(0); } } CloudFile file2 = topDirectory.GetFileReference("File" + i); file2.Create(0); } return(true); } catch (StorageException e) { throw e; } }