public async Task QueuePermissionsRawPermissions(string permissionsString) { // Arrange await using DisposingQueue test = await GetTestQueueAsync(); QueueSasBuilder queueSasBuilder = new QueueSasBuilder { StartsOn = Recording.UtcNow.AddHours(-1), ExpiresOn = Recording.UtcNow.AddHours(1), QueueName = test.Queue.Name }; queueSasBuilder.SetPermissions( rawPermissions: permissionsString, normalize: true); StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(TestConfigDefault.AccountName, TestConfigDefault.AccountKey); QueueUriBuilder queueUriBuilder = new QueueUriBuilder(test.Queue.Uri) { Sas = queueSasBuilder.ToSasQueryParameters(sharedKeyCredential) }; QueueClient sasQueueClient = new QueueClient(queueUriBuilder.ToUri(), GetOptions()); // Act await sasQueueClient.PeekMessagesAsync(); }
public void QueueUriBuilder_IPStyleUrl_SasTest() { // Arrange var uriString = "https://127.0.0.1/account/queue?sv=2015-04-05&spr=https&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sip=168.1.5.60-168.1.5.70&sr=b&sp=rw&sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D"; var originalUri = new UriBuilder(uriString); // Act var queueUriBuilder = new QueueUriBuilder(originalUri.Uri); var newUri = queueUriBuilder.ToUri(); // Assert Assert.AreEqual("https", queueUriBuilder.Scheme); Assert.AreEqual("127.0.0.1", queueUriBuilder.Host); Assert.AreEqual(443, queueUriBuilder.Port); Assert.AreEqual("account", queueUriBuilder.AccountName); Assert.AreEqual("queue", queueUriBuilder.QueueName); Assert.IsFalse(queueUriBuilder.Messages); Assert.AreEqual("", queueUriBuilder.MessageId); Assert.AreEqual(new DateTimeOffset(2015, 4, 30, 2, 23, 26, TimeSpan.Zero), queueUriBuilder.Sas.ExpiryTime); Assert.AreEqual("", queueUriBuilder.Sas.Identifier); Assert.AreEqual(IPRange.Parse("168.1.5.60-168.1.5.70"), queueUriBuilder.Sas.IPRange); Assert.AreEqual("rw", queueUriBuilder.Sas.Permissions); Assert.AreEqual(SasProtocol.Https, queueUriBuilder.Sas.Protocol); Assert.AreEqual("b", queueUriBuilder.Sas.Resource); Assert.AreEqual("", queueUriBuilder.Sas.ResourceTypes); Assert.AreEqual("", queueUriBuilder.Sas.Services); Assert.AreEqual("Z/RHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk=", queueUriBuilder.Sas.Signature); Assert.AreEqual(new DateTimeOffset(2015, 4, 29, 22, 18, 26, TimeSpan.Zero), queueUriBuilder.Sas.StartTime); Assert.AreEqual("2015-04-05", queueUriBuilder.Sas.Version); Assert.AreEqual("", queueUriBuilder.UnparsedParams); Assert.AreEqual(originalUri, newUri); }
public void QueueBuilder_SasStartExpiryTimeFormats(string startTime, string expiryTime) { // Arrange Uri initialUri = new Uri($"https://account.queue.core.windows.net/queue?sv=2020-06-12&st={WebUtility.UrlEncode(startTime)}&se={WebUtility.UrlEncode(expiryTime)}&sr=b&sp=racwd&sig=jQetX8odiJoZ7Yo0X8vWgh%2FMqRv9WE3GU%2Fr%2BLNMK3GU%3D"); QueueUriBuilder queueUriBuilder = new QueueUriBuilder(initialUri); // Act Uri resultUri = queueUriBuilder.ToUri(); // Assert Assert.AreEqual(initialUri, resultUri); Assert.IsTrue(resultUri.PathAndQuery.Contains($"st={WebUtility.UrlEncode(startTime)}")); Assert.IsTrue(resultUri.PathAndQuery.Contains($"se={WebUtility.UrlEncode(expiryTime)}")); }
public void QueueBuilder_SasStartExpiryTimeFormats(string startTime, string expiryTime) { // Arrange Uri initialUri = new Uri($"https://account.queue.core.windows.net/queue?sv=2020-06-12&st={WebUtility.UrlEncode(startTime)}&se={WebUtility.UrlEncode(expiryTime)}&sr=b&sp=racwd&sig=%2BLsuqDlN8Us5lp%2FGdyEUMnU1XA4HdXx%2BJUdtkRNr7qI%3D"); QueueUriBuilder queueUriBuilder = new QueueUriBuilder(initialUri); // Act Uri resultUri = queueUriBuilder.ToUri(); // Assert Assert.AreEqual(initialUri, resultUri); Assert.IsTrue(resultUri.PathAndQuery.Contains($"st={WebUtility.UrlEncode(startTime)}")); Assert.IsTrue(resultUri.PathAndQuery.Contains($"se={WebUtility.UrlEncode(expiryTime)}")); }
public void QueueUriBuilder_CustomUri_AccountShareFileTest() { // Arrange var uriString = "https://www.mycustomname.com/queuename"; var originalUri = new UriBuilder(uriString); // Act var fileUriBuilder = new QueueUriBuilder(originalUri.Uri); Uri newUri = fileUriBuilder.ToUri(); // Assert Assert.AreEqual("https", fileUriBuilder.Scheme); Assert.AreEqual("www.mycustomname.com", fileUriBuilder.Host); Assert.AreEqual(String.Empty, fileUriBuilder.AccountName); Assert.AreEqual("queuename", fileUriBuilder.QueueName); Assert.IsNull(fileUriBuilder.Sas); Assert.AreEqual("", fileUriBuilder.Query); Assert.AreEqual(443, fileUriBuilder.Port); Assert.AreEqual(originalUri, newUri); }
public void QueueUriBuilder_LocalDockerUrl_PortTest() { // Arrange // BlobEndpoint from https://docs.microsoft.com/en-us/azure/storage/common/storage-use-emulator#connect-to-the-emulator-account-using-the-well-known-account-name-and-key var uriString = "http://docker_container:10000/devstoreaccount1/sharename"; var originalUri = new UriBuilder(uriString); // Act var fileUriBuilder = new QueueUriBuilder(originalUri.Uri); Uri newUri = fileUriBuilder.ToUri(); // Assert Assert.AreEqual("http", fileUriBuilder.Scheme); Assert.AreEqual("docker_container", fileUriBuilder.Host); Assert.AreEqual("devstoreaccount1", fileUriBuilder.AccountName); Assert.AreEqual("sharename", fileUriBuilder.QueueName); Assert.IsNull(fileUriBuilder.Sas); Assert.AreEqual("", fileUriBuilder.Query); Assert.AreEqual(10000, fileUriBuilder.Port); Assert.AreEqual(originalUri, newUri); }
public void QueueUriBuilder_RegularUrl_MessageIdTest() { // Arrange var uriString = "https://account.core.queue.windows.net/queue/messages/messageId"; var originalUri = new UriBuilder(uriString); // Act var queueUriBuilder = new QueueUriBuilder(originalUri.Uri); var newUri = queueUriBuilder.ToUri(); // Assert Assert.AreEqual("https", queueUriBuilder.Scheme); Assert.AreEqual("account.core.queue.windows.net", queueUriBuilder.Host); Assert.AreEqual(443, queueUriBuilder.Port); Assert.AreEqual("", queueUriBuilder.AccountName); Assert.AreEqual("queue", queueUriBuilder.QueueName); Assert.IsTrue(queueUriBuilder.Messages); Assert.AreEqual("messageId", queueUriBuilder.MessageId); Assert.IsNull(queueUriBuilder.Sas); Assert.AreEqual("", queueUriBuilder.UnparsedParams); Assert.AreEqual(originalUri, newUri); }
public void QueueUriBuilder_IPStyleUrl_AccountOnlyTest() { // Arrange var uriString = "https://127.0.0.1/account"; var originalUri = new UriBuilder(uriString); // Act var queueUriBuilder = new QueueUriBuilder(originalUri.Uri); var newUri = queueUriBuilder.ToUri(); // Assert Assert.AreEqual("https", queueUriBuilder.Scheme); Assert.AreEqual("127.0.0.1", queueUriBuilder.Host); Assert.AreEqual(443, queueUriBuilder.Port); Assert.AreEqual("account", queueUriBuilder.AccountName); Assert.AreEqual("", queueUriBuilder.QueueName); Assert.IsFalse(queueUriBuilder.Messages); Assert.AreEqual("", queueUriBuilder.MessageId); Assert.IsNull(queueUriBuilder.Sas); Assert.AreEqual("", queueUriBuilder.UnparsedParams); Assert.AreEqual(originalUri, newUri); }
public void QueueUriBuilder_IPStyleUrl_PortTest() { // Arrange var uriString = "https://127.0.0.1:8080/account/queue"; var originalUri = new UriBuilder(uriString); // Act var queueUriBuilder = new QueueUriBuilder(originalUri.Uri); Uri newUri = queueUriBuilder.ToUri(); // Assert Assert.AreEqual("https", queueUriBuilder.Scheme); Assert.AreEqual("127.0.0.1", queueUriBuilder.Host); Assert.AreEqual(8080, queueUriBuilder.Port); Assert.AreEqual("account", queueUriBuilder.AccountName); Assert.AreEqual("queue", queueUriBuilder.QueueName); Assert.IsFalse(queueUriBuilder.Messages); Assert.AreEqual("", queueUriBuilder.MessageId); Assert.IsNull(queueUriBuilder.Sas); Assert.AreEqual("", queueUriBuilder.Query); Assert.AreEqual(originalUri, newUri); }
public void QueueUriBuilder_RegularUrl_AccountTest() { // Arrange var uriString = "https://account.core.queue.windows.net?comp=list"; var originalUri = new UriBuilder(uriString); // Act var queueUriBuilder = new QueueUriBuilder(originalUri.Uri); Uri newUri = queueUriBuilder.ToUri(); // Assert Assert.AreEqual("https", queueUriBuilder.Scheme); Assert.AreEqual("account.core.queue.windows.net", queueUriBuilder.Host); Assert.AreEqual(443, queueUriBuilder.Port); Assert.AreEqual("", queueUriBuilder.AccountName); Assert.AreEqual("", queueUriBuilder.QueueName); Assert.IsFalse(queueUriBuilder.Messages); Assert.AreEqual("", queueUriBuilder.MessageId); Assert.IsNull(queueUriBuilder.Sas); Assert.AreEqual("comp=list", queueUriBuilder.Query); Assert.AreEqual(originalUri, newUri); }