Example #1
0
        /// <summary>
        ///   Initializes a new instance of the <see cref="TrackOneSharedAccessTokenProvider"/> class.
        /// </summary>
        ///
        /// <param name="sharedAccessSignature">The shared access signature on which to base tokens produced by the provider.</param>
        ///
        public TrackOneSharedAccessTokenProvider(SharedAccessSignature sharedAccessSignature)
        {
            Argument.AssertNotNull(sharedAccessSignature, nameof(sharedAccessSignature));
            Argument.AssertNotNullOrEmpty(sharedAccessSignature.SharedAccessKey, nameof(sharedAccessSignature.SharedAccessKey));

            SharedAccessSignature = sharedAccessSignature.Clone();
        }
        /// <summary>
        ///   Initializes a new instance of the <see cref="TrackOneSharedAccessTokenProvider"/> class.
        /// </summary>
        ///
        /// <param name="sharedAccessSignature">The shared access signature on which to base tokens produced by thr provider.</param>
        ///
        public TrackOneSharedAccessTokenProvider(SharedAccessSignature sharedAccessSignature)
        {
            Guard.ArgumentNotNull(nameof(sharedAccessSignature), sharedAccessSignature);
            Guard.ArgumentNotNullOrEmpty(nameof(sharedAccessSignature.SharedAccessKey), sharedAccessSignature.SharedAccessKey);

            SharedAccessSignature = sharedAccessSignature.Clone();
        }
        public void CloneProducesACopy()
        {
            var resource  = "amqps://some.namespace.com/hubName";
            var keyName   = "rootShared";
            var key       = "ABC123FFF333";
            var validFor  = TimeSpan.FromMinutes(30);
            var signature = new SharedAccessSignature(resource, keyName, key, validFor);
            SharedAccessSignature clone = signature.Clone();

            Assert.That(clone, Is.Not.Null, "There should have been a copy produced.");
            Assert.That(clone, Is.Not.SameAs(signature), "The clone should be a unique instance.");
            Assert.That(clone.Resource, Is.EqualTo(signature.Resource), "The resource should match.");
            Assert.That(clone.SharedAccessKeyName, Is.EqualTo(signature.SharedAccessKeyName), "The key name should match.");
            Assert.That(clone.SharedAccessKey, Is.EqualTo(signature.SharedAccessKey), "The key should match.");
            Assert.That(clone.SignatureExpiration, Is.EqualTo(signature.SignatureExpiration), "The expiration should match.");
        }
Example #4
0
        public void CloneProducesACopy()
        {
            var host      = "my.hubthing.com";
            var path      = "someHubInstance";
            var keyName   = "rootShared";
            var key       = "ABC123FFF333";
            var validFor  = TimeSpan.FromMinutes(30);
            var signature = new SharedAccessSignature(TransportType.AmqpTcp, host, path, keyName, key, validFor);
            var clone     = signature.Clone();

            Assert.That(clone, Is.Not.Null, "There should have been a copy produced.");
            Assert.That(clone, Is.Not.SameAs(signature), "The clone should be a unique instance.");
            Assert.That(clone.Resource, Is.EqualTo(signature.Resource), "The resource should match.");
            Assert.That(clone.SharedAccessKeyName, Is.EqualTo(signature.SharedAccessKeyName), "The key name should match.");
            Assert.That(clone.SharedAccessKey, Is.EqualTo(signature.SharedAccessKey), "The key should match.");
            Assert.That(clone.ExpirationUtc, Is.EqualTo(signature.ExpirationUtc), "The expiration should match.");
        }