mirror of
https://github.com/openSUSE/osem.git
synced 2026-02-06 20:23:15 -05:00
The spec for omniauth doesn't test signup for every provider, and it doesn't test if it has tests for all available providers Also, we no longer use secrets * Add model test to check if the omniauth providers have changed * Test signup using every provider * Replace secretswith environment variables
149 lines
6.2 KiB
Ruby
149 lines
6.2 KiB
Ruby
module OmniauthMacros
|
|
# The mock_auth configuration allows you to set per-provider (or default)
|
|
# authentication hashes to return during integration testing.
|
|
|
|
ENV['OSEM_GOOGLE_KEY'] = 'test key google'
|
|
ENV['OSEM_GOOGLE_SECRET'] = 'test secret google'
|
|
ENV['OSEM_FACEBOOK_KEY'] = 'test key facebook'
|
|
ENV['OSEM_FACEBOOK_SECRET'] = 'test secret facebook'
|
|
ENV['OSEM_SUSE_KEY'] = 'test key suse'
|
|
ENV['OSEM_SUSE_SECRET'] = 'test secret suse'
|
|
ENV['OSEM_GITHUB_KEY'] = 'test key github'
|
|
ENV['OSEM_GITHUB_SECRET'] = 'test secret github'
|
|
|
|
def mock_auth_new_user
|
|
OmniAuth.config.mock_auth[:google] =
|
|
OmniAuth::AuthHash.new(
|
|
provider: 'google',
|
|
uid: 'google-test-uid-1',
|
|
info: {
|
|
name: 'new user name',
|
|
email: 'test-1@example.com'
|
|
},
|
|
credentials: {
|
|
token: 'mock_token',
|
|
secret: 'mock_secret'
|
|
}
|
|
)
|
|
end
|
|
|
|
def mock_auth_new_user_fb
|
|
OmniAuth.config.mock_auth[:facebook] =
|
|
OmniAuth::AuthHash.new(
|
|
provider: 'facebook',
|
|
uid: 'facebook-test-uid-1',
|
|
info: {
|
|
name: 'new user fb name',
|
|
email: 'test-1@example.com'
|
|
},
|
|
credentials: {
|
|
token: 'mock_token',
|
|
secret: 'mock_secret'
|
|
}
|
|
)
|
|
end
|
|
|
|
def mock_auth_existing_user_participant
|
|
# The mock_auth configuration allows you to set per-provider (or default)
|
|
# authentication hashes to return during integration testing.
|
|
OmniAuth.config.mock_auth[:google] =
|
|
OmniAuth::AuthHash.new(
|
|
provider: 'google',
|
|
uid: 'google-test-uid-participant-1',
|
|
info: {
|
|
name: 'existing user participant name',
|
|
email: 'test-participant-1@example.com'
|
|
},
|
|
credentials: {
|
|
token: 'mock_token',
|
|
secret: 'mock_secret'
|
|
}
|
|
)
|
|
end
|
|
|
|
def mock_auth_existing_user_admin
|
|
# The mock_auth configuration allows you to set per-provider (or default)
|
|
# authentication hashes to return during integration testing.
|
|
OmniAuth.config.mock_auth[:google] =
|
|
OmniAuth::AuthHash.new(
|
|
provider: 'google',
|
|
uid: 'google-test-uid-admin-1',
|
|
info: {
|
|
name: 'existing user admin name',
|
|
email: 'test-admin-1@example.com'
|
|
},
|
|
credentials: {
|
|
token: 'mock_token',
|
|
secret: 'mock_secret'
|
|
}
|
|
)
|
|
end
|
|
|
|
# We use these mock accounts to ensure that the ones which are available in
|
|
# development are valid, to test omniauth actions and verify that a mock
|
|
# account is available for every supported omniauth provider.
|
|
# These must be identical to the ones in /config/environments/development.rb
|
|
# Remember to keep them in sync with development.rb
|
|
def mock_auth_accounts
|
|
OmniAuth.config.mock_auth[:facebook] =
|
|
OmniAuth::AuthHash.new(
|
|
provider: 'facebook',
|
|
uid: 'facebook-test-uid-1',
|
|
info: {
|
|
name: 'facebook user',
|
|
email: 'user-facebook@example.com',
|
|
username: 'user_facebook'
|
|
},
|
|
credentials: {
|
|
token: 'fb_mock_token',
|
|
secret: 'fb_mock_secret'
|
|
}
|
|
)
|
|
|
|
OmniAuth.config.mock_auth[:google] =
|
|
OmniAuth::AuthHash.new(
|
|
provider: 'google',
|
|
uid: 'google-test-uid-1',
|
|
info: {
|
|
name: 'google user',
|
|
email: 'user-google@example.com',
|
|
username: 'user_google'
|
|
},
|
|
credentials: {
|
|
token: 'google_mock_token',
|
|
secret: 'google_mock_secret'
|
|
}
|
|
)
|
|
|
|
OmniAuth.config.mock_auth[:suse] =
|
|
OmniAuth::AuthHash.new(
|
|
provider: 'suse',
|
|
uid: 'suse-test-uid-1',
|
|
info: {
|
|
name: 'suse user',
|
|
email: 'user-suse@example.com',
|
|
username: 'user_suse'
|
|
},
|
|
credentials: {
|
|
token: 'suse_mock_token',
|
|
secret: 'suse_mock_secret'
|
|
}
|
|
)
|
|
|
|
OmniAuth.config.mock_auth[:github] =
|
|
OmniAuth::AuthHash.new(
|
|
provider: 'github',
|
|
uid: 'github-test-uid-1',
|
|
info: {
|
|
name: 'github user',
|
|
email: 'user-github@example.com',
|
|
username: 'user_github'
|
|
},
|
|
credentials: {
|
|
token: 'github_mock_token',
|
|
secret: 'github_mock_secret'
|
|
}
|
|
)
|
|
end
|
|
end
|