Exemple #1
0
        public ServiceBusFactory(string connectionString)
        {
            DbConnectionStringBuilder builder = new DbConnectionStringBuilder
            {
                ConnectionString = connectionString
            };

            string endpointString;

            if (!builder.TryGetStringValue("Endpoint", out endpointString))
            {
                throw new ArgumentException("Endpoint is not specified.", "connectionString");
            }

            if (!Uri.TryCreate(endpointString, UriKind.Absolute, out this.endpoint))
            {
                throw new ArgumentException(
                          string.Format(CultureInfo.CurrentCulture, "Endpoint is not valid. {0}", endpointString),
                          "connectionString");
            }

            string managementPortString;

            if (builder.TryGetStringValue("ManagementPort", out managementPortString))
            {
                if (!int.TryParse(managementPortString, out this.managementPort))
                {
                    throw new ArgumentException(
                              string.Format(CultureInfo.CurrentCulture, "Malformed ManagementPort. {0}", managementPortString),
                              "connectionString");
                }
            }
            else
            {
                this.managementPort = -1;
            }

            string runtimePortString;

            if (builder.TryGetStringValue("RuntimePort", out runtimePortString))
            {
                if (!int.TryParse(runtimePortString, out this.runtimePort))
                {
                    throw new ArgumentException(
                              string.Format(CultureInfo.CurrentCulture, "Malformed RuntimePort. {0}", runtimePortString),
                              "connectionString");
                }
            }
            else
            {
                this.runtimePort = -1;
            }

            TokenProviderFactory factory = CreateTokenProviderFactory(builder);

            this.tokenProvider = factory.Create();
        }
Exemple #2
0
        public void ThrowsIfSettingsObjectIsNull()
        {
            // Arrange
            TokenProviderSettings settings = null;
            var target = new TokenProviderFactory(
                rsaEncryptorMock.Object,
                rsaKeyParserMock.Object,
                keyGeneratorMock.Object,
                aeadEncryptorMock.Object);

            // Act/Assert
            var ex = Assert.Throws <ArgumentNullException>("settings", () => target.Create(settings));
        }
Exemple #3
0
        public void ThrowsIfPublicKeyIsInvalid()
        {
            // Arrange
            TokenProviderSettings settings = new TokenProviderSettings();

            rsaKeyParserMock.Setup(x => x.TryParsePublic(It.IsAny <string>(), out It.Ref <RSAParameters> .IsAny)).Returns(false);
            var target = new TokenProviderFactory(
                rsaEncryptorMock.Object,
                rsaKeyParserMock.Object,
                keyGeneratorMock.Object,
                aeadEncryptorMock.Object);

            // Act/Assert
            var ex = Assert.Throws <ArgumentException>("PublicKey", () => target.Create(settings));
        }
Exemple #4
0
        public void CreatesTokenProvider()
        {
            // Arrange
            TokenProviderSettings settings = new TokenProviderSettings();

            rsaKeyParserMock.Setup(x => x.TryParsePublic(It.IsAny <string>(), out It.Ref <RSAParameters> .IsAny)).Returns(true);
            rsaKeyParserMock.Setup(x => x.TryParsePrivate(It.IsAny <string>(), out It.Ref <RSAParameters> .IsAny)).Returns(true);
            var target = new TokenProviderFactory(
                rsaEncryptorMock.Object,
                rsaKeyParserMock.Object,
                keyGeneratorMock.Object,
                aeadEncryptorMock.Object);

            // Act/Assert
            target.Create(settings);
        }
Exemple #5
0
        public void ThrowsOnIssueIfTokenIsNull()
        {
            // Arrange
            rsaKeyParserMock.Setup(x => x.TryParsePublic(It.IsAny <string>(), out It.Ref <RSAParameters> .IsAny)).Returns(true);
            rsaKeyParserMock.Setup(x => x.TryParsePrivate(It.IsAny <string>(), out It.Ref <RSAParameters> .IsAny)).Returns(true);

            var factory = new TokenProviderFactory(
                rsaEncryptorMock.Object,
                rsaKeyParserMock.Object,
                keyGeneratorMock.Object,
                aeadEncryptorMock.Object);

            var target = factory.Create(new TokenProviderSettings());

            // Act/Assert
            var ex = Assert.Throws <ArgumentNullException>("token", () => target.Issue(null));
        }
Exemple #6
0
        public void RejectsInvalidTokens(string token)
        {
            // Arrange
            rsaKeyParserMock.Setup(x => x.TryParsePublic(It.IsAny <string>(), out It.Ref <RSAParameters> .IsAny)).Returns(true);
            rsaKeyParserMock.Setup(x => x.TryParsePrivate(It.IsAny <string>(), out It.Ref <RSAParameters> .IsAny)).Returns(true);

            var factory = new TokenProviderFactory(
                rsaEncryptorMock.Object,
                rsaKeyParserMock.Object,
                keyGeneratorMock.Object,
                aeadEncryptorMock.Object);

            var target = factory.Create(new TokenProviderSettings());

            // Act
            var result = target.TryVerify(token, out AccessToken actual);

            // Assert
            Assert.False(result);
            Assert.Null(actual);
        }