public void InspectContextForUniqueNoncePasses() { var nonceStore = MockRepository.GenerateStub <INonceStore>(); var context = new OAuthContext { Nonce = "2" }; nonceStore.Stub(stub => stub.RecordNonceAndCheckIsUnique(context, "2")).Return(true); var inspector = new NonceStoreInspector(nonceStore); Assert.DoesNotThrow(() => inspector.InspectContext(ProviderPhase.GrantRequestToken, context)); }
/// <summary> /// Load your modules or register your services here! /// </summary> /// <param name="kernel">The kernel.</param> private static void RegisterServices(IKernel kernel) { kernel.Bind <IOAuthContextBuilder>().To <OAuthContextBuilder>(); var nonceStoreInspector = new NonceStoreInspector(new TestNonceStore()); var consumerStore = new TestConsumerStore(); var signatureInspector = new SignatureValidationInspector(consumerStore); var consumerValidationInspector = new ConsumerValidationInspector(consumerStore); var timestampInspector = new TimestampRangeInspector(new TimeSpan(1, 0, 0)); var tokenRepository = new TokenRepository(); var tokenStore = new SampleMemoryTokenStore(tokenRepository); var oauthProvider = new OAuthProvider(tokenStore, consumerValidationInspector, nonceStoreInspector, timestampInspector, signatureInspector); kernel.Bind <IOAuthProvider>().ToConstant(oauthProvider); kernel.Bind <TokenRepository>().ToConstant(tokenRepository); }
public override void Load() { Bind <IOAuthContextBuilder>().To <OAuthContextBuilder>(); var nonceStoreInspector = new NonceStoreInspector(new TestNonceStore()); var consumerStore = new TestConsumerStore(); var signatureInspector = new SignatureValidationInspector(consumerStore); var consumerValidationInspector = new ConsumerValidationInspector(consumerStore); var timestampInspector = new TimestampRangeInspector(new TimeSpan(1, 0, 0)); var tokenRepository = new TokenRepository(); var tokenStore = new SampleMemoryTokenStore(tokenRepository); var oauthProvider = new OAuthProvider(tokenStore, consumerValidationInspector, nonceStoreInspector, timestampInspector, signatureInspector); Bind <IOAuthProvider>().ToConstant(oauthProvider); Bind <TokenRepository>().ToConstant(tokenRepository); }
public void InspectContextForRepeatedNonceThrows() { var nonceStore = MockRepository.GenerateStub <INonceStore>(); var context = new OAuthContext { Nonce = "1" }; nonceStore.Stub(stub => stub.RecordNonceAndCheckIsUnique(context, "1")).Return(false); var inspector = new NonceStoreInspector(nonceStore); var ex = Assert.Throws <OAuthException>(() => inspector.InspectContext(ProviderPhase.GrantRequestToken, context)); Assert.Equal("The nonce value \"1\" has already been used", ex.Message); }
public void InspectContextForUniqueNoncePasses() { var repository = new MockRepository(); var nonceStore = repository.StrictMock <INonceStore>(); var context = new OAuthContext { Nonce = "2" }; using (repository.Record()) { Expect.Call(nonceStore.RecordNonceAndCheckIsUnique(context, "2")).Return(true); } using (repository.Playback()) { var inspector = new NonceStoreInspector(nonceStore); inspector.InspectContext(ProviderPhase.GrantRequestToken, context); } }