sinatra_auth_github 0.4.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,31 @@
1
+ require 'warden/test/helpers'
2
+ require 'warden-github/user'
3
+
4
+ module Sinatra
5
+ module Auth
6
+ module Github
7
+ module Test
8
+ module Helper
9
+ include(Warden::Test::Helpers)
10
+ def make_user(attrs = {})
11
+ User.make(attrs)
12
+ end
13
+
14
+ class User < Warden::Github::Oauth::User
15
+ def self.make(attrs = {})
16
+ default_attrs = {
17
+ 'login' => "test_user",
18
+ 'name' => "Test User",
19
+ 'email' => "test@example.com",
20
+ 'company' => "GitHub",
21
+ 'gravatar_id' => 'https://a249.e.akamai.net/assets.github.com/images/gravatars/gravatar-140.png'
22
+ }
23
+ default_attrs.merge! attrs
24
+ User.new(default_attrs)
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,7 @@
1
+ module Sinatra
2
+ module Auth
3
+ module Github
4
+ VERSION = "0.5.0"
5
+ end
6
+ end
7
+ end
@@ -6,8 +6,6 @@ require 'rest_client'
6
6
  module Sinatra
7
7
  module Auth
8
8
  module Github
9
- VERSION = "0.4.2"
10
-
11
9
  # Simple way to serve an image early in the stack and not get blocked by
12
10
  # application level before filters
13
11
  class AccessDenied < Sinatra::Base
@@ -1,9 +1,10 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  $:.push File.expand_path("../lib", __FILE__)
3
+ require "sinatra/auth/github/version"
3
4
 
4
5
  Gem::Specification.new do |s|
5
6
  s.name = "sinatra_auth_github"
6
- s.version = "0.4.2"
7
+ s.version = Sinatra::Auth::Github::VERSION
7
8
  s.platform = Gem::Platform::RUBY
8
9
  s.authors = ["Corey Donohoe"]
9
10
  s.email = ["atmos@atmos.org"]
@@ -16,10 +17,10 @@ Gem::Specification.new do |s|
16
17
  s.add_dependency "sinatra", "~>1.0"
17
18
  s.add_dependency "yajl-ruby", "~>1.1"
18
19
  s.add_dependency "rest-client", "~>1.6.1"
19
- s.add_dependency "warden-github", "~>0.4.2"
20
+ s.add_dependency "warden-github", "~>0.4.0"
20
21
 
21
22
  s.add_development_dependency "rake"
22
- s.add_development_dependency "rspec", "~>2.0.0"
23
+ s.add_development_dependency "rspec", "~>2.0"
23
24
  s.add_development_dependency "shotgun"
24
25
  s.add_development_dependency "randexp", "~>0.1.5"
25
26
  s.add_development_dependency "rack-test", "~>0.5.3"
data/spec/app.rb CHANGED
@@ -20,7 +20,7 @@ module Example
20
20
 
21
21
  get '/' do
22
22
  authenticate!
23
- "Hello There, #{github_user.name}!#{github_user.token}\n#{repos.inspect}"
23
+ "Hello there, #{github_user.login}!"
24
24
  end
25
25
 
26
26
  get '/orgs/:id' do
@@ -0,0 +1,25 @@
1
+ require "spec_helper"
2
+
3
+ describe "Logged in users" do
4
+ before do
5
+ @user = make_user('login' => 'defunkt')
6
+ login_as @user
7
+ end
8
+
9
+ it "greets the user" do
10
+ get "/"
11
+ last_response.body.should eql("Hello there, defunkt!")
12
+ end
13
+
14
+ it "logs the user out" do
15
+ get "/"
16
+
17
+ get "/logout"
18
+ last_response.status.should eql(302)
19
+ last_response.headers['Location'].should eql("https://github.com")
20
+
21
+ get "/"
22
+ last_response.status.should eql(302)
23
+ last_response.headers['Location'].should =~ %r{^https://github\.com/login/oauth/authorize}
24
+ end
25
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,15 +1,21 @@
1
1
  require "bundler/setup"
2
2
 
3
- require File.join(File.dirname(__FILE__), '..', 'lib', 'sinatra', 'auth', 'github')
3
+ $:.push File.join(File.dirname(__FILE__), '..', 'lib')
4
4
 
5
5
  require 'pp'
6
-
7
6
  require 'rack/test'
7
+ require 'ruby-debug'
8
+
9
+ require 'sinatra/auth/github'
10
+ require 'sinatra/auth/github/test/test_helper'
11
+
12
+ require 'app'
8
13
 
9
14
  RSpec.configure do |config|
10
15
  config.include(Rack::Test::Methods)
16
+ config.include(Sinatra::Auth::Github::Test::Helper)
11
17
 
12
18
  def app
13
- Example.app
19
+ Example::App
14
20
  end
15
21
  end
metadata CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 4
9
- - 2
10
- version: 0.4.2
8
+ - 5
9
+ - 0
10
+ version: 0.5.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Corey Donohoe
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-05-24 00:00:00 -07:00
18
+ date: 2012-05-17 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -72,12 +72,12 @@ dependencies:
72
72
  requirements:
73
73
  - - ~>
74
74
  - !ruby/object:Gem::Version
75
- hash: 11
75
+ hash: 15
76
76
  segments:
77
77
  - 0
78
78
  - 4
79
- - 2
80
- version: 0.4.2
79
+ - 0
80
+ version: 0.4.0
81
81
  type: :runtime
82
82
  version_requirements: *id004
83
83
  - !ruby/object:Gem::Dependency
@@ -102,12 +102,11 @@ dependencies:
102
102
  requirements:
103
103
  - - ~>
104
104
  - !ruby/object:Gem::Version
105
- hash: 15
105
+ hash: 3
106
106
  segments:
107
107
  - 2
108
108
  - 0
109
- - 0
110
- version: 2.0.0
109
+ version: "2.0"
111
110
  type: :development
112
111
  version_requirements: *id006
113
112
  - !ruby/object:Gem::Dependency
@@ -187,12 +186,14 @@ files:
187
186
  - Rakefile
188
187
  - config.ru
189
188
  - lib/sinatra/auth/github.rb
189
+ - lib/sinatra/auth/github/test/test_helper.rb
190
+ - lib/sinatra/auth/github/version.rb
190
191
  - lib/sinatra/auth/views/401.html
191
192
  - lib/sinatra/auth/views/securocat.png
192
193
  - lib/sinatra_auth_github.rb
193
194
  - sinatra_auth_github.gemspec
194
195
  - spec/app.rb
195
- - spec/quality_spec.rb
196
+ - spec/login_spec.rb
196
197
  - spec/spec_helper.rb
197
198
  has_rdoc: true
198
199
  homepage: http://github.com/atmos/sinatra_auth_github
@@ -230,5 +231,5 @@ specification_version: 3
230
231
  summary: A sinatra extension for easy oauth integration with github
231
232
  test_files:
232
233
  - spec/app.rb
233
- - spec/quality_spec.rb
234
+ - spec/login_spec.rb
234
235
  - spec/spec_helper.rb
data/spec/quality_spec.rb DELETED
@@ -1,41 +0,0 @@
1
- require File.dirname(__FILE__) + '/spec_helper'
2
-
3
- describe "The library itself" do
4
- Rspec::Matchers.define :have_no_tab_characters do
5
- match do |filename|
6
- @failing_lines = []
7
- File.readlines(filename).each_with_index do |line,number|
8
- @failing_lines << number + 1 if line =~ /\t/
9
- end
10
- @failing_lines.empty?
11
- end
12
-
13
- failure_message_for_should do |filename|
14
- "The file #{filename} has tab characters on lines #{@failing_lines.join(', ')}"
15
- end
16
- end
17
-
18
- Rspec::Matchers.define :have_no_extraneous_spaces do
19
- match do |filename|
20
- @failing_lines = []
21
- File.readlines(filename).each_with_index do |line,number|
22
- next if line =~ /^\s+#.*\s+\n$/
23
- @failing_lines << number + 1 if line =~ /\s+\n$/
24
- end
25
- @failing_lines.empty?
26
- end
27
-
28
- failure_message_for_should do |filename|
29
- "The file #{filename} has spaces on the EOL on lines #{@failing_lines.join(', ')}"
30
- end
31
- end
32
-
33
- it "has no tab characters" do
34
- Dir.chdir(File.dirname(__FILE__) + '/..') do
35
- Dir.glob("./lib/**/*.rb").each do |filename|
36
- filename.should have_no_tab_characters
37
- filename.should have_no_extraneous_spaces
38
- end
39
- end
40
- end
41
- end