8f39c015ea
This is the first step of a multi-step SaaS engine extraction. Looking ahead to an open source release, we need to make sure that local authentication is treated as an "official" option, and not just a hack I added for Kevin to do load testing outside our DC. So this PR gets to green, and adds a CI step in "local authentication" mode. This all probably feels a little hacky to you, Reader, but the goal of this change is to ease the next step, which will be extracting the 37id and Queenbee integrations into a proprietary "SaaS mode" engine. In service of that goal, this commit simply wraps all of the dependent code and tests with a conditional check on `config.x.local_authentication`.
56 lines
1.3 KiB
Ruby
56 lines
1.3 KiB
Ruby
require "test_helper"
|
|
|
|
class SessionsControllerTest < ActionDispatch::IntegrationTest
|
|
unless Rails.application.config.x.local_authentication
|
|
test "destroy" do
|
|
sign_in_as :kevin
|
|
|
|
delete session_path
|
|
|
|
assert_redirected_to Launchpad.logout_url
|
|
assert_not cookies[:session_token].present?
|
|
end
|
|
|
|
test "new" do
|
|
get new_session_path
|
|
|
|
assert_response :forbidden
|
|
end
|
|
|
|
test "create" do
|
|
post session_path, params: { email_address: "david@37signals.com", password: "secret123456" }
|
|
|
|
assert_response :forbidden
|
|
end
|
|
else
|
|
test "destroy" do
|
|
sign_in_as :kevin
|
|
|
|
delete session_path
|
|
|
|
assert_redirected_to new_session_path
|
|
assert_not cookies[:session_token].present?
|
|
end
|
|
|
|
test "new" do
|
|
get new_session_path
|
|
|
|
assert_response :success
|
|
end
|
|
|
|
test "create with valid credentials" do
|
|
post session_path, params: { email_address: "david@37signals.com", password: "secret123456" }
|
|
|
|
assert_redirected_to root_path
|
|
assert cookies[:session_token].present?
|
|
end
|
|
|
|
test "create with invalid credentials" do
|
|
post session_path, params: { email_address: "david@37signals.com", password: "wrong" }
|
|
|
|
assert_redirected_to new_session_path
|
|
assert_not cookies[:session_token].present?
|
|
end
|
|
end
|
|
end
|