-
Notifications
You must be signed in to change notification settings - Fork 126
/
test_helper.rb
66 lines (56 loc) · 1.63 KB
/
test_helper.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
require 'simplecov'
SimpleCov.command_name 'test'
SimpleCov.start
require 'coveralls'
Coveralls.wear!
require 'minitest/autorun'
require 'mocha/mini_test'
require 'faker'
require 'active_support'
require_relative '../lib/omniauth-openid-connect'
OmniAuth.config.test_mode = true
class StrategyTestCase < MiniTest::Test
class DummyApp
def call(env); end
end
attr_accessor :identifier, :secret
def setup
@identifier = "1234"
@secret = "1234asdgat3"
end
def client
strategy.client
end
def user_info
@user_info ||= OpenIDConnect::ResponseObject::UserInfo.new(
sub: SecureRandom.hex(16),
name: Faker::Name.name,
email: Faker::Internet.email,
nickname: Faker::Name.first_name,
preferred_username: Faker::Internet.user_name,
given_name: Faker::Name.first_name,
family_name: Faker::Name.last_name,
gender: 'female',
picture: Faker::Internet.url + ".png",
phone_number: Faker::PhoneNumber.phone_number,
website: Faker::Internet.url,
)
end
def request
@request ||= stub('Request').tap do |request|
request.stubs(:params).returns({})
request.stubs(:cookies).returns({})
request.stubs(:env).returns({})
request.stubs(:scheme).returns({})
request.stubs(:ssl?).returns(false)
end
end
def strategy
@strategy ||= OmniAuth::Strategies::OpenIDConnect.new(DummyApp.new).tap do |strategy|
strategy.options.client_options.identifier = @identifier
strategy.options.client_options.secret = @secret
strategy.stubs(:request).returns(request)
strategy.stubs(:user_info).returns(user_info)
end
end
end