public void QueueUriBuilder_IPStyleUrl_MessagesTest()
        {
            // Arrange
            var uriString   = "https://127.0.0.1/account/queue/messages";
            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(443, queueUriBuilder.Port);
            Assert.AreEqual("account", queueUriBuilder.AccountName);
            Assert.AreEqual("queue", queueUriBuilder.QueueName);
            Assert.IsTrue(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);
        }
예제 #3
0
        public void Ctor_ConnectionString()
        {
            var accountName = "accountName";
            var accountKey  = Convert.ToBase64String(new byte[] { 0, 1, 2, 3, 4, 5 });

            var credentials            = new StorageSharedKeyCredential(accountName, accountKey);
            var queueEndpoint          = new Uri("http://127.0.0.1/" + accountName);
            var queueSecondaryEndpoint = new Uri("http://127.0.0.1/" + accountName + "-secondary");

            var connectionString = new StorageConnectionString(credentials, queueStorageUri: (queueEndpoint, queueSecondaryEndpoint));

            QueueServiceClient client1 = InstrumentClient(new QueueServiceClient(connectionString.ToString(true), GetOptions()));

            QueueServiceClient client2 = InstrumentClient(new QueueServiceClient(connectionString.ToString(true)));

            var builder1 = new QueueUriBuilder(client1.Uri);
            var builder2 = new QueueUriBuilder(client2.Uri);

            Assert.IsEmpty(builder1.QueueName);
            Assert.AreEqual(accountName, builder1.AccountName);
            Assert.IsEmpty(builder2.QueueName);
            Assert.AreEqual(accountName, builder2.AccountName);
        }
예제 #4
0
        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);
        }
예제 #5
0
        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_AccountNameError()
        {
            var queueUriBuilder = new QueueUriBuilder(new Uri("http://notaurl"));

            Assert.IsEmpty(queueUriBuilder.AccountName);
        }
        public void QueueUriBuilder_AccountNamePeriod()
        {
            var queueUriBuilder = new QueueUriBuilder(new Uri("https://account.z.queue.core.windows.net/share/dir"));

            Assert.AreEqual("account", queueUriBuilder.AccountName);
        }
        public void QueueUriBuilder_RegularUrl_CNAME()
        {
            var queueUriBUilder = new QueueUriBuilder(new Uri("http://www.contoso.com"));

            Assert.AreEqual(string.Empty, queueUriBUilder.AccountName);
        }