public void PlainTextSignatureMethodDoesNotFetchCertificate()
    {
      var repository = new MockRepository();

      var consumerStore = repository.DynamicMock<IConsumerStore>();
      var signer = repository.StrictMock<IOAuthContextSigner>();

      var context = new OAuthContext {ConsumerKey = "key", SignatureMethod = SignatureMethod.PlainText};

      using (repository.Record())
      {
        Expect.Call(signer.ValidateSignature(null, null)).IgnoreArguments().Return(true);
      }
      using (repository.Playback())
      {
        var inspector = new SignatureValidationInspector(consumerStore, signer);
        inspector.InspectContext(ProviderPhase.GrantRequestToken, context);
      }
    }
    public void InvalidSignatureThrows()
    {
      var repository = new MockRepository();

      var consumerStore = repository.DynamicMock<IConsumerStore>();
      var signer = repository.StrictMock<IOAuthContextSigner>();

      var context = new OAuthContext {ConsumerKey = "key", SignatureMethod = SignatureMethod.PlainText};

      using (repository.Record())
      {
        Expect.Call(signer.ValidateSignature(null, null)).IgnoreArguments().Return(false);
      }
      using (repository.Playback())
      {
        var inspector = new SignatureValidationInspector(consumerStore, signer);
      	var ex = Assert.Throws<OAuthException>(() => inspector.InspectContext(ProviderPhase.GrantRequestToken, context));
				Assert.Equal("Failed to validate signature", ex.Message);
      }
    }