Sha256: 54c5226a83491aaaf69246ae269778e400f89a359395ae24295c9ca2ac169941

Contents?: true

Size: 1.71 KB

Versions: 23

Compression:

Stored size: 1.71 KB

Contents

require 'spec_helper'
require 'uri'
require 'doorkeeper/oauth/helpers/uri_checker'

module Doorkeeper::OAuth::Helpers
  describe URIChecker do
    describe ".valid?" do
      it "is valid for valid uris" do
        uri = "http://app.co"
        URIChecker.valid?(uri).should be_true
      end

      it "is valid if include path param" do
        uri = "http://app.co/path"
        URIChecker.valid?(uri).should be_true
      end

      it "is valid if include query param" do
        uri = "http://app.co/?query=1"
        URIChecker.valid?(uri).should be_true
      end

      it "is invalid if uri includes fragment" do
        uri = "http://app.co/test#fragment"
        URIChecker.valid?(uri).should be_false
      end

      it "is invalid if scheme is missing" do
        uri = "app.co"
        URIChecker.valid?(uri).should be_false
      end

      it "is invalid if is a relative uri" do
        uri = "/abc/123"
        URIChecker.valid?(uri).should be_false
      end

      it "is invalid if is not a url" do
        uri = "http://"
        URIChecker.valid?(uri).should be_false
      end
    end

    describe ".matches?" do
      it "is true if both url matches" do
        uri = client_uri = 'http://app.co/aaa'
        URIChecker.matches?(uri, client_uri).should be_true
      end

      it "ignores query parameter on comparsion" do
        uri = 'http://app.co/?query=hello'
        client_uri = 'http://app.co'
        URIChecker.matches?(uri, client_uri).should be_true
      end
    end

    describe ".valid_for_authorization?" do
      it "is true if valid and matches" do
        uri = client_uri = 'http://app.co/aaa'
        URIChecker.valid_for_authorization?(uri, client_uri).should be_true
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
doorkeeper-1.0.0.rc1 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.7.4 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.7.3 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.7.2 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.7.1 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.7.0 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.6.7 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.6.6 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.6.5 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.6.4 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.6.3 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.6.2 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.6.1 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.6.0 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.6.0.rc1 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.5.0 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.5.0.rc1 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.4.2 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.4.1 spec/lib/oauth/helpers/uri_checker_spec.rb
doorkeeper-0.4.0 spec/lib/oauth/helpers/uri_checker_spec.rb