public void Authorize_FailsWhenDataIsIncomplete() { _consumerMock.SetupGet(x => x.PrivateKey).Returns("privatekey"); _consumerRepositoryMock.Setup(x => x.GetConsumerByPublicKey(It.IsAny<string>())).Returns(_consumerMock.Object); _signatureGeneratorFactoryMock.Setup(x => x.GetGenerator(It.IsAny<string>())).Returns(new HmacSha1SignatureGenerator()); _requestMock.SetupGet(x => x.Form).Returns(new System.Collections.Specialized.NameValueCollection()); var requestAuthorizer = new AuthorizeWebRequest(_signatureGeneratorFactoryMock.Object, _consumerRepositoryMock.Object); var authResult = requestAuthorizer.Authorize(_requestMock.Object); Assert.AreEqual(authResult, AuthorizationResult.MissingData); }
public void Authorize_FailsWhenConsumerDoesntExist() { var publicKey = "publickey"; var timestamp = DateTimeOffset.UtcNow.Ticks.ToString(); var signature = "signature"; var signatureMethod = SignatureGeneratorNames.HmacSha1; _consumerRepositoryMock.Setup(x => x.GetConsumerByPublicKey(It.IsAny<string>())).Returns<IConsumer>(null); _signatureGeneratorFactoryMock.Setup(x => x.GetGenerator(It.IsAny<string>())).Returns(new HmacSha1SignatureGenerator()); _requestMock.SetupGet(x => x.Form).Returns(new System.Collections.Specialized.NameValueCollection { { AuthorizationTokens.PublicKey, publicKey }, { AuthorizationTokens.Signature, signature }, { AuthorizationTokens.SignatureMethod, signatureMethod }, { AuthorizationTokens.TimeStamp, timestamp } }); var requestAuthorizer = new AuthorizeWebRequest(_signatureGeneratorFactoryMock.Object, _consumerRepositoryMock.Object); var authResult = requestAuthorizer.Authorize(_requestMock.Object); Assert.AreEqual(authResult, AuthorizationResult.NonExistantConsumer); }
public void Authorize_FailsWhenTimestampIsInThefutre() { _signatureGeneratorFactoryMock.Setup(x => x.GetGenerator(It.IsAny<string>())).Returns(new HmacSha1SignatureGenerator()); var publicKey = "publicKey"; var timestamp = DateTimeOffset.UtcNow.AddHours(1).Ticks.ToString(); var signatureMethod = SignatureGeneratorNames.HmacSha1; var privateKey = "privateKey"; var signature = _signatureGeneratorFactoryMock.Object.GetGenerator(signatureMethod).Generate(privateKey, string.Join("&", publicKey, signatureMethod, timestamp)); _consumerMock.SetupGet(x => x.PrivateKey).Returns(privateKey); _consumerRepositoryMock.Setup(x => x.GetConsumerByPublicKey(It.IsAny<string>())).Returns(_consumerMock.Object); var nvc = new NameValueCollection{ { AuthorizationTokens.PublicKey, publicKey }, { AuthorizationTokens.Signature, signature }, { AuthorizationTokens.SignatureMethod, signatureMethod }, { AuthorizationTokens.TimeStamp, timestamp } }; _requestMock.SetupGet(x => x.Form).Returns(nvc); var requestAuthorizer = new AuthorizeWebRequest(_signatureGeneratorFactoryMock.Object, _consumerRepositoryMock.Object); var authResult = requestAuthorizer.Authorize(_requestMock.Object); Assert.AreEqual(authResult, AuthorizationResult.Expired); }