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(); }
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)); }
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)); }
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); }
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)); }
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); }