casino_core 1.4.3 → 1.4.4
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -0
- data/.ruby-version +1 -1
- data/config/database.yml +2 -1
- data/lib/casino_core.rb +16 -3
- data/lib/casino_core/tasks/database.rake +6 -10
- data/lib/casino_core/version.rb +1 -1
- data/spec/model/service_ticket_spec.rb +7 -0
- data/spec/spec_helper.rb +2 -26
- data/spec/support/casino_core.rb +6 -0
- data/spec/support/database_cleaner.rb +14 -0
- data/spec/support/rspec.rb +6 -0
- data/spec/support/sqlite3.rb +5 -0
- metadata +12 -38
- data.tar.gz.sig +0 -0
- data/Gemfile.lock +0 -88
- metadata.gz.sig +0 -0
data/.gitignore
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
1.9.3-p194
|
data/config/database.yml
CHANGED
data/lib/casino_core.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'active_support/inflector'
|
2
|
+
require 'active_record'
|
2
3
|
|
3
4
|
module CASinoCore
|
4
5
|
autoload :Authenticator, 'casino_core/authenticator.rb'
|
@@ -14,9 +15,8 @@ module CASinoCore
|
|
14
15
|
def setup(environment = nil, options = {})
|
15
16
|
@environment = environment || 'development'
|
16
17
|
root_path = options[:application_root] || '.'
|
17
|
-
|
18
|
-
|
19
|
-
ActiveRecord::Base.establish_connection YAML.load_file(File.join(root_path, 'config/database.yml'))[@environment]
|
18
|
+
|
19
|
+
establish_connection(@environment, root_path) unless active_record_connected?
|
20
20
|
|
21
21
|
config = YAML.load_file(File.join(root_path, 'config/cas.yml'))[@environment].symbolize_keys
|
22
22
|
recursive_symbolize_keys!(config)
|
@@ -31,6 +31,19 @@ module CASinoCore
|
|
31
31
|
hash.values.select{|v| v.is_a? Hash}.each{|h| recursive_symbolize_keys!(h)}
|
32
32
|
hash.values.select{|v| v.is_a? Array}.each{|a| a.select{|v| v.is_a? Hash}.each{|h| recursive_symbolize_keys!(h)}}
|
33
33
|
end
|
34
|
+
|
35
|
+
def active_record_connected?
|
36
|
+
ActiveRecord::Base.connection
|
37
|
+
rescue ActiveRecord::ConnectionNotEstablished
|
38
|
+
false
|
39
|
+
end
|
40
|
+
|
41
|
+
def establish_connection(env, root_path)
|
42
|
+
require 'yaml'
|
43
|
+
|
44
|
+
db_cfg = YAML::load(ERB.new(IO.read(File.join(root_path, 'config/database.yml'))).result)[env]
|
45
|
+
ActiveRecord::Base.establish_connection db_cfg
|
46
|
+
end
|
34
47
|
end
|
35
48
|
end
|
36
49
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'erb'
|
1
2
|
require 'yaml'
|
2
3
|
require 'logger'
|
3
4
|
require 'active_record'
|
@@ -16,17 +17,12 @@ namespace :casino_core do
|
|
16
17
|
end
|
17
18
|
|
18
19
|
task :configuration => :environment do
|
19
|
-
@config = YAML.load_file('config/database.yml')[DATABASE_ENV]
|
20
20
|
CASinoCore.setup DATABASE_ENV
|
21
|
-
|
22
|
-
|
23
|
-
task :configure_connection => :configuration do
|
24
|
-
ActiveRecord::Base.establish_connection @config
|
25
|
-
ActiveRecord::Base.logger = Logger.new STDOUT if @config['logger']
|
21
|
+
ActiveRecord::Base.logger = CASinoCore::Settings.logger
|
26
22
|
end
|
27
23
|
|
28
24
|
desc 'Migrate the database (options: VERSION=x, VERBOSE=false)'
|
29
|
-
task :migrate => :
|
25
|
+
task :migrate => :configuration do
|
30
26
|
ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
|
31
27
|
ActiveRecord::Migrator.migrate(ActiveRecord::Migrator.migrations_paths, ENV["VERSION"] ? ENV["VERSION"].to_i : nil) do |migration|
|
32
28
|
ENV["SCOPE"].blank? || (ENV["SCOPE"] == migration.scope)
|
@@ -34,14 +30,14 @@ namespace :casino_core do
|
|
34
30
|
end
|
35
31
|
|
36
32
|
desc 'Rolls the schema back to the previous version (specify steps w/ STEP=n).'
|
37
|
-
task :rollback => :
|
33
|
+
task :rollback => :configuration do
|
38
34
|
step = ENV['STEP'] ? ENV['STEP'].to_i : 1
|
39
35
|
ActiveRecord::Migrator.rollback(ActiveRecord::Migrator.migrations_paths, step)
|
40
36
|
end
|
41
37
|
|
42
38
|
namespace :schema do
|
43
39
|
desc 'Create a db/schema.rb file that can be portably used against any DB supported by AR'
|
44
|
-
task :dump => :
|
40
|
+
task :dump => :configuration do
|
45
41
|
require 'active_record/schema_dumper'
|
46
42
|
File.open(SCHEMA_PATH, "w:utf-8") do |file|
|
47
43
|
ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
|
@@ -49,7 +45,7 @@ namespace :casino_core do
|
|
49
45
|
end
|
50
46
|
|
51
47
|
desc 'Load a schema.rb file into the database'
|
52
|
-
task :load => :
|
48
|
+
task :load => :configuration do
|
53
49
|
if File.exists?(SCHEMA_PATH)
|
54
50
|
load(SCHEMA_PATH)
|
55
51
|
else
|
data/lib/casino_core/version.rb
CHANGED
@@ -114,4 +114,11 @@ describe CASinoCore::Model::ServiceTicket do
|
|
114
114
|
end
|
115
115
|
end
|
116
116
|
end
|
117
|
+
|
118
|
+
describe '#service_with_ticket_url' do
|
119
|
+
it 'does not escape the url from the database' do
|
120
|
+
unconsumed_ticket.service = 'https://host.example.org/test.php?t=other&other=testing'
|
121
|
+
unconsumed_ticket.service_with_ticket_url.should eq('https://host.example.org/test.php?t=other&other=testing&ticket=ST-12345')
|
122
|
+
end
|
123
|
+
end
|
117
124
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
ENV['RAILS_ENV'] ||= ENV['DATABASE_ENV'] || 'test'
|
2
|
+
|
1
3
|
require 'active_support/core_ext'
|
2
4
|
require 'simplecov'
|
3
5
|
require 'coveralls'
|
@@ -31,29 +33,3 @@ require 'casino_core'
|
|
31
33
|
# Requires supporting ruby files with custom matchers and macros, etc,
|
32
34
|
# in spec/support/ and its subdirectories.
|
33
35
|
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
34
|
-
|
35
|
-
RSpec.configure do |config|
|
36
|
-
config.treat_symbols_as_metadata_keys_with_true_values = true
|
37
|
-
|
38
|
-
# Run specs in random order to surface order dependencies. If you find an
|
39
|
-
# order dependency and want to debug it, you can fix the order by providing
|
40
|
-
# the seed, which is printed after each run.
|
41
|
-
# --seed 1234
|
42
|
-
config.order = 'random'
|
43
|
-
|
44
|
-
|
45
|
-
config.before(:suite) do
|
46
|
-
DatabaseCleaner.strategy = :transaction
|
47
|
-
end
|
48
|
-
|
49
|
-
config.before(:each) do
|
50
|
-
CASinoCore.setup 'test'
|
51
|
-
CASinoCore::Settings.logger.level = ::Logger::Severity::UNKNOWN
|
52
|
-
DatabaseCleaner.clean_with(:truncation)
|
53
|
-
DatabaseCleaner.start
|
54
|
-
end
|
55
|
-
|
56
|
-
config.after(:each) do
|
57
|
-
DatabaseCleaner.clean
|
58
|
-
end
|
59
|
-
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
RSpec.configure do |config|
|
2
|
+
config.before(:suite) do
|
3
|
+
DatabaseCleaner.strategy = :transaction
|
4
|
+
end
|
5
|
+
|
6
|
+
config.before(:each) do
|
7
|
+
DatabaseCleaner.clean_with(:truncation)
|
8
|
+
DatabaseCleaner.start
|
9
|
+
end
|
10
|
+
|
11
|
+
config.after(:each) do
|
12
|
+
DatabaseCleaner.clean
|
13
|
+
end
|
14
|
+
end
|
metadata
CHANGED
@@ -1,42 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: casino_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Nils Caspar
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
-
|
13
|
-
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLakNDQWhLZ0F3SUJB
|
14
|
-
Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREE3TVEwd0N3WURWUVFEREFScGJt
|
15
|
-
WnYKTVJVd0V3WUtDWkltaVpQeUxHUUJHUllGY21KallYTXhFekFSQmdvSmtp
|
16
|
-
YUprL0lzWkFFWkZnTmpiMjB3SGhjTgpNVE13TWpBeU1qSXlOakkyV2hjTk1U
|
17
|
-
UXdNakF5TWpJeU5qSTJXakE3TVEwd0N3WURWUVFEREFScGJtWnZNUlV3CkV3
|
18
|
-
WUtDWkltaVpQeUxHUUJHUllGY21KallYTXhFekFSQmdvSmtpYUprL0lzWkFF
|
19
|
-
WkZnTmpiMjB3Z2dFaU1BMEcKQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dF
|
20
|
-
S0FvSUJBUURiZG1OeTRoZU5SZUc4TFhCMm5ha3JwQXJrcVd2dwpqVm54WE1M
|
21
|
-
UzZUNXFlYmZMV2FsMVBSb1BIemJoUkdtQTN1Q1lZWXVWdVh2NlYxVm1DdG5N
|
22
|
-
MG1qM1lnTjZoNjFECkQrV25oMUtUOHNVWWhSQjM2TU50bWllclMxRWNNeXZS
|
23
|
-
dWpYUkxrNngwNkFiejliSmFkeUVXN0RTNFZrcEN6OW4KZjlNRW5IcUlseVFC
|
24
|
-
UFAzekhzRHlNclRySUJ1dkRXUHIrYUFNS3FJWExqcVdlcDFFYmQvL3BwTmNT
|
25
|
-
aVZGODdzKwplMEphRmU3LzFhbHhJUEdPYWsvY0dFdm9tNDJUTEdkUEt5dTBY
|
26
|
-
amsybi9jV1RBbEJzaEZQT1FTM2hrczZSaDhzClZ6d2owTFF2VTByaFhKV0hO
|
27
|
-
YjZXdWpLaml3c3Z6U1RsR3lkTndJRU5wckpJQVFKc2FJWDNSUUluQWdNQkFB
|
28
|
-
R2oKT1RBM01Ba0dBMVVkRXdRQ01BQXdIUVlEVlIwT0JCWUVGS3lML1V6R1U4
|
29
|
-
SVpuZU9qcjczWFBDTFpKN1F1TUFzRwpBMVVkRHdRRUF3SUVzREFOQmdrcWhr
|
30
|
-
aUc5dzBCQVFVRkFBT0NBUUVBVUsrZnVraS9nVWhJbEpxTTI0TkNzL3kzClNv
|
31
|
-
cUNHUDB6K2M1ZytCTXUzc2MzeElOL21IK0hZbFBhRWE2V2o0YndtU1ZnVGhh
|
32
|
-
WjU0T3NtUnlaSUsxVm9BeW0KVDR6T3FDd3QwdHdUMmF6MVA2WFRoVk1FZWJM
|
33
|
-
alpEYnVRL29RelUvZkE2RFlxam5mbVlOdGdwNXFZWDZDS05Kegp3M1lSS3JL
|
34
|
-
Mlg2cVlZSGNISS9LTDV3YzFET24rVU5VNGVmbVAwVlZkNVVOZlI0MElCTE50
|
35
|
-
eFg5Nlg5WVRYT0hFCndRc0xpK0xqbnorVWFPUmsxZHhabGNYWUdjMzR3Rmcx
|
36
|
-
b1VSdnUwRzgvWXlIVUFtSVUvV0tyanIxYmdjZjFWUnYKUjRLRDFNblVWL3Y1
|
37
|
-
MDJwaU1sWG1qeE9XZGJLOHl2UUVIa3N1L3pqYkNqU3UrTTJrd0ZtV0dzeDVu
|
38
|
-
eCtWZHc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
39
|
-
date: 2013-04-21 00:00:00.000000000 Z
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-07-15 00:00:00.000000000 Z
|
40
13
|
dependencies:
|
41
14
|
- !ruby/object:Gem::Dependency
|
42
15
|
name: rake
|
@@ -309,7 +282,6 @@ files:
|
|
309
282
|
- .ruby-version
|
310
283
|
- .travis.yml
|
311
284
|
- Gemfile
|
312
|
-
- Gemfile.lock
|
313
285
|
- LICENSE.txt
|
314
286
|
- README.md
|
315
287
|
- Rakefile
|
@@ -427,6 +399,8 @@ files:
|
|
427
399
|
- spec/processor/two_factor_authenticator_registrator_spec.rb
|
428
400
|
- spec/settings_spec.rb
|
429
401
|
- spec/spec_helper.rb
|
402
|
+
- spec/support/casino_core.rb
|
403
|
+
- spec/support/database_cleaner.rb
|
430
404
|
- spec/support/factories/login_ticket_factory.rb
|
431
405
|
- spec/support/factories/proxy_granting_ticket_factory.rb
|
432
406
|
- spec/support/factories/proxy_ticket_factory.rb
|
@@ -435,6 +409,8 @@ files:
|
|
435
409
|
- spec/support/factories/ticket_granting_ticket_factory.rb
|
436
410
|
- spec/support/factories/two_factor_authenticator_factory.rb
|
437
411
|
- spec/support/factories/user_factory.rb
|
412
|
+
- spec/support/rspec.rb
|
413
|
+
- spec/support/sqlite3.rb
|
438
414
|
homepage: http://rbcas.org/
|
439
415
|
licenses:
|
440
416
|
- MIT
|
@@ -448,21 +424,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
448
424
|
- - ! '>='
|
449
425
|
- !ruby/object:Gem::Version
|
450
426
|
version: '0'
|
451
|
-
segments:
|
452
|
-
- 0
|
453
|
-
hash: 3956376216012117413
|
454
427
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
455
428
|
none: false
|
456
429
|
requirements:
|
457
430
|
- - ! '>='
|
458
431
|
- !ruby/object:Gem::Version
|
459
432
|
version: '0'
|
460
|
-
segments:
|
461
|
-
- 0
|
462
|
-
hash: 3956376216012117413
|
463
433
|
requirements: []
|
464
434
|
rubyforge_project:
|
465
|
-
rubygems_version: 1.8.
|
435
|
+
rubygems_version: 1.8.23
|
466
436
|
signing_key:
|
467
437
|
specification_version: 3
|
468
438
|
summary: A CAS server core library.
|
@@ -496,6 +466,8 @@ test_files:
|
|
496
466
|
- spec/processor/two_factor_authenticator_registrator_spec.rb
|
497
467
|
- spec/settings_spec.rb
|
498
468
|
- spec/spec_helper.rb
|
469
|
+
- spec/support/casino_core.rb
|
470
|
+
- spec/support/database_cleaner.rb
|
499
471
|
- spec/support/factories/login_ticket_factory.rb
|
500
472
|
- spec/support/factories/proxy_granting_ticket_factory.rb
|
501
473
|
- spec/support/factories/proxy_ticket_factory.rb
|
@@ -504,4 +476,6 @@ test_files:
|
|
504
476
|
- spec/support/factories/ticket_granting_ticket_factory.rb
|
505
477
|
- spec/support/factories/two_factor_authenticator_factory.rb
|
506
478
|
- spec/support/factories/user_factory.rb
|
479
|
+
- spec/support/rspec.rb
|
480
|
+
- spec/support/sqlite3.rb
|
507
481
|
has_rdoc:
|
data.tar.gz.sig
DELETED
Binary file
|
data/Gemfile.lock
DELETED
@@ -1,88 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
casino_core (1.4.3)
|
5
|
-
activerecord (~> 3.2.9)
|
6
|
-
addressable (~> 2.3)
|
7
|
-
faraday (~> 0.8)
|
8
|
-
rotp (~> 1.4)
|
9
|
-
terminal-table (~> 1.4)
|
10
|
-
useragent (~> 0.4)
|
11
|
-
|
12
|
-
GEM
|
13
|
-
remote: https://rubygems.org/
|
14
|
-
specs:
|
15
|
-
activemodel (3.2.12)
|
16
|
-
activesupport (= 3.2.12)
|
17
|
-
builder (~> 3.0.0)
|
18
|
-
activerecord (3.2.12)
|
19
|
-
activemodel (= 3.2.12)
|
20
|
-
activesupport (= 3.2.12)
|
21
|
-
arel (~> 3.0.2)
|
22
|
-
tzinfo (~> 0.3.29)
|
23
|
-
activesupport (3.2.12)
|
24
|
-
i18n (~> 0.6)
|
25
|
-
multi_json (~> 1.0)
|
26
|
-
addressable (2.3.2)
|
27
|
-
arel (3.0.2)
|
28
|
-
builder (3.0.4)
|
29
|
-
colorize (0.5.8)
|
30
|
-
coveralls (0.6.2)
|
31
|
-
colorize
|
32
|
-
multi_json (~> 1.3)
|
33
|
-
rest-client
|
34
|
-
simplecov (>= 0.7)
|
35
|
-
thor
|
36
|
-
crack (0.3.2)
|
37
|
-
database_cleaner (0.9.1)
|
38
|
-
diff-lcs (1.1.3)
|
39
|
-
factory_girl (4.2.0)
|
40
|
-
activesupport (>= 3.0.0)
|
41
|
-
faraday (0.8.5)
|
42
|
-
multipart-post (~> 1.1)
|
43
|
-
i18n (0.6.1)
|
44
|
-
mime-types (1.21)
|
45
|
-
multi_json (1.6.1)
|
46
|
-
multipart-post (1.1.5)
|
47
|
-
nokogiri (1.5.6)
|
48
|
-
rake (10.0.3)
|
49
|
-
rest-client (1.6.7)
|
50
|
-
mime-types (>= 1.16)
|
51
|
-
rotp (1.4.1)
|
52
|
-
rspec (2.12.0)
|
53
|
-
rspec-core (~> 2.12.0)
|
54
|
-
rspec-expectations (~> 2.12.0)
|
55
|
-
rspec-mocks (~> 2.12.0)
|
56
|
-
rspec-core (2.12.2)
|
57
|
-
rspec-expectations (2.12.1)
|
58
|
-
diff-lcs (~> 1.1.3)
|
59
|
-
rspec-mocks (2.12.2)
|
60
|
-
simplecov (0.7.1)
|
61
|
-
multi_json (~> 1.0)
|
62
|
-
simplecov-html (~> 0.7.1)
|
63
|
-
simplecov-html (0.7.1)
|
64
|
-
sqlite3 (1.3.7)
|
65
|
-
terminal-table (1.4.5)
|
66
|
-
thor (0.17.0)
|
67
|
-
tzinfo (0.3.35)
|
68
|
-
useragent (0.4.16)
|
69
|
-
webmock (1.9.0)
|
70
|
-
addressable (>= 2.2.7)
|
71
|
-
crack (>= 0.1.7)
|
72
|
-
yard (0.8.4.1)
|
73
|
-
|
74
|
-
PLATFORMS
|
75
|
-
ruby
|
76
|
-
|
77
|
-
DEPENDENCIES
|
78
|
-
casino_core!
|
79
|
-
coveralls
|
80
|
-
database_cleaner (~> 0.9)
|
81
|
-
factory_girl (~> 4.1)
|
82
|
-
nokogiri (~> 1.5)
|
83
|
-
rake (~> 10.0)
|
84
|
-
rspec (~> 2.12)
|
85
|
-
simplecov (~> 0.7)
|
86
|
-
sqlite3 (~> 1.3)
|
87
|
-
webmock (~> 1.9)
|
88
|
-
yard (~> 0.8)
|
metadata.gz.sig
DELETED
Binary file
|