mirror of
https://github.com/publiclab/mapknitter.git
synced 2026-01-28 02:11:43 +01:00
* Configurations update for rails 4.0 * ActiveSupport::Testing::Performance extracted to a gem * ruby prof required as a dependency * disable rubocop on bin folder * http patch * Comment out to allow testing * no longer supports plugin loading * lock to sprockets 2.12 * Active record patches * remove deprecated test syntax * fix failing tests * change new super class * replace right_aws with right_aws_api right_aws is no longer maintained, was throwing an error * lock to rails 4.2.11.1 * change rails version in install script * remove deprecation warnings * Change test lib to minitest, add minitest reporters * make app work * active record find patches * root_in_json include defaulted to false * confirm option removed in link helper * cookies serializer changed to hybrid * Change render :text to :plain render :text will be deprecated and poses a security risk * console for dev web * Check and fix interface functionality * fix export functionality * add protected attributes for the warpable model * fix image upload * Fix comments and images failing tests * include mass assignment security in annotations * render html for update images * clear mail array before every test * Fix codeclimate issues * skip failing test The test is failing because of different names in model(warpable) and controller(images) skipping this for now until we decide if we want to standardize the names * replace unprotected redirects * Fix codeclimate issues * Autofixing rubocop offenses and Problematic test for #578 (#667) * Autofixing rubocop offenses * Adding Rubocop to Travis pipelines and development branch * Fixing maps controller test * Fixing remaining offenses * change post test to create since action new is a get action * remove unprotected redirects * Fix codeclimate issues * Add yarn * Remove error log * Fix oauth icons * Modify package.json * Add yarn install to start.sh * Add leaflet google * Remove leaflet-google from package json * remove passenger error logs * Fix install script * Remove flag * Fix gemfile.lock * Fix gemfile.lock * Fix login * Upgrade Gemfile to Rails 5.0 * require rake' * Change config files * Add application record * Bump mysql * Local builds for Travis runners (#672) * Using local mysql for travis * Fix codeclimate issues * Refactoring yamls * Autofixing rubocop offenses and Problematic test for #578 (#667) * Autofixing rubocop offenses * Adding Rubocop to Travis pipelines and development branch * Fixing maps controller test * Fixing remaining offenses * Fixing unit tests * Adding docker build to travis pipelines * Adding docker build to travis pipelines * Staging builds in travis * fix travis.yml * Upgrading sintax of assets and using required gems * Using updated version of GDAL and installing required dependencies * Enabling cache in between builds * Test yarn for travis * Conditionalize rake db:setup for travis * Add semicolon * Remove comment * modify database.yml * Migrate seperately * Run create only for production * Locking newer Rails v * Running update task * Adding missing bootsnap gem * Fixing missing database * Adding missing listen gem * Fixing schema example version * Fixing migration versions * Updating dependencies for Rails 5 * Adding ApplicationMailer abstraction * Adding required initializers * Prefer require_relative instead of full path * Making associations not required by default * Regenerating schema file * Hotfixing MassAssigment * Upgrade web-console, remove mysql adapter override * Remove attr_accessible * Add rails-controller-testing gem * Follow new syntax for tests * Remove extra web-console from gemfile * Regenerating lock file * Fixing rubocop offenses and bundler version * Using correct Paperclip class as in https://github.com/rails/rails/issues/26404#issuecomment-502129936 * Fix images functional tests * images controller test typecast to string * Fix rails logger * Fix map tests * Bumping rubocop version * Autofixing rubocop offenses * Including performance cop to rubocop * Refactoring deprecated routing and secret_token * Fixing routes for feed controller * Using correct routes for RSS builder * Fixing missing routes * Fixing travis bundler and yarn cache * Fixing bundle path * Splitting bundle and yarn verifications * Autofixing rubocop offenses * Fixing prod host for travis, private class usage and rubocop offenses * Upgrade to Rails 5.2 (#685) * Upgrade Gemfile to Rails 5.0 * require rake' * Change config files * Add application record * Bump mysql * Locking newer Rails v * Running update task * Adding missing bootsnap gem * Fixing missing database * Adding missing listen gem * Fixing schema example version * Fixing migration versions * Updating dependencies for Rails 5 * Adding ApplicationMailer abstraction * Adding required initializers * Prefer require_relative instead of full path * Making associations not required by default * Regenerating schema file * Hotfixing MassAssigment * Upgrade web-console, remove mysql adapter override * Remove attr_accessible * Add rails-controller-testing gem * Follow new syntax for tests * Remove extra web-console from gemfile * Regenerating lock file * Fixing rubocop offenses and bundler version * Using correct Paperclip class as in https://github.com/rails/rails/issues/26404#issuecomment-502129936 * Fix images functional tests * images controller test typecast to string * Fix rails logger * Fix map tests * Bumping rubocop version * Autofixing rubocop offenses * Including performance cop to rubocop * Refactoring deprecated routing and secret_token * Fixing routes for feed controller * Using correct routes for RSS builder * Fixing missing routes * Fixing travis bundler and yarn cache * Fixing bundle path * Splitting bundle and yarn verifications * Fixing prod host for travis, private class usage and rubocop offenses * Enforcing params usage on get method * Using correct folder names to Rails >5 conventions * Enforcing params wrapping and adding missing front_ui route * Precompiling assets before serving * Improving Jenkins startup script * Using supported docker yaml version by Jenkins * Adding task to check database existance * Improving start script * Improving Makefile's recipes and target * Adding task to check database existance * Improving start script * Improving Makefile's recipes and target * Improving Makefile's recipes and target * Patching https://github.com/publiclab/mapknitter/pull/803 * Improving Jenkins setup * Fix map loading * h * Fixing Leaflet-Environmental-Layers map loading * h * leaflet * fix * change * updates * stop precompiling assets * precompile * Using correct Yarn, NPM and Node version, avoiding mismatch * Removing unwanted tags.js invocation * Improving Makefile recipe * Using node_modules/ as dependencies folder, since https://github.com/sass/node-sass/issues/2050#issuecomment-317233552 * Upgrading Yarn dependencies * Removing duplicate rubocop directive * Removing test/ from codeclimate checks * Removing fixed FIXME comments * Removing fixed FIXME comments * Updating docs in README * Bumping recaptcha and include methods * Fixing migration version * Using strong params in requests * Using strong params in requests * Use Rack::Test::UploadedFile instead of ActionDispatch::Http::UploadedFile * Remove rubocop linter * Fix codeclimate issues * Fix minor asset issue * Remove manual asset references and add them to application js * Fix asset ordering in application.js * Configure System tests (#936) * Add new system tests and fix minor asset loading * modify test * Add chromedriver to travis * Add sudo * Add dependencies to dockerfile * Properly installing chrome and chromedriver * Fixing Map loading since merges
121 lines
3.3 KiB
Ruby
121 lines
3.3 KiB
Ruby
require File.dirname(__FILE__) + '/../test_helper'
|
|
require 'sessions_controller'
|
|
|
|
# Re-raise errors caught by the controller.
|
|
class SessionsController; def rescue_action(e) raise e end; end
|
|
|
|
class SessionsControllerTest < ActionController::TestCase
|
|
test 'new when logged in' do
|
|
session[:user_id] = 1
|
|
get :new
|
|
assert_redirected_to '/'
|
|
end
|
|
|
|
test 'new when not logged in' do
|
|
get :new
|
|
assert_template 'sessions/new'
|
|
end
|
|
|
|
test 'logs out a user' do
|
|
session[:user_id] = 1
|
|
get :logout
|
|
assert_nil session[:user_id]
|
|
assert flash[:success].present?
|
|
assert_equal 'You have successfully logged out.', flash[:success]
|
|
assert_redirected_to "/?_=#{Time.now.to_i}"
|
|
end
|
|
|
|
test 'successful local login' do
|
|
system('cp config/config.yml.example config/config.yml')
|
|
get :local, params: { login: 'quentin'}
|
|
assert_response :redirect
|
|
assert flash[:success].present?
|
|
assert_not_nil session[:user_id]
|
|
assert_equal 1, session[:user_id]
|
|
assert_redirected_to ''
|
|
end
|
|
|
|
test 'unsuccessful local login' do
|
|
get :local, params: { login: 'cess'}
|
|
assert_response :redirect
|
|
assert flash[:error].present?
|
|
assert_nil session[:user_id]
|
|
assert_redirected_to '/'
|
|
end
|
|
|
|
# def test_should_login_and_redirect
|
|
# post :create, :login => 'quentin', :password => 'monkey'
|
|
# assert session[:user_id]
|
|
# assert_response :redirect
|
|
# end
|
|
|
|
# def test_should_fail_login_and_not_redirect
|
|
# post :create, :login => 'quentin', :password => 'bad password'
|
|
# assert_nil session[:user_id]
|
|
# assert_response :success
|
|
# end
|
|
|
|
# def test_should_logout
|
|
# login_as :quentin
|
|
# get :destroy
|
|
# assert_nil session[:user_id]
|
|
# assert_response :redirect
|
|
# end
|
|
|
|
# def test_should_remember_me
|
|
# @request.cookies["auth_token"] = nil
|
|
# post :create, :login => 'quentin',
|
|
# :password => 'monkey',
|
|
# :remember_me => "1"
|
|
# assert_not_nil @response.cookies["auth_token"]
|
|
# end
|
|
|
|
# def test_should_not_remember_me
|
|
# @request.cookies["auth_token"] = nil
|
|
# post :create, :login => 'quentin',
|
|
# :password => 'monkey',
|
|
# :remember_me => "0"
|
|
# puts @response.cookies["auth_token"]
|
|
# assert @response.cookies["auth_token"].blank?
|
|
# end
|
|
|
|
# def test_should_delete_token_on_logout
|
|
# login_as :quentin
|
|
# get :destroy
|
|
# assert @response.cookies["auth_token"].blank?
|
|
# end
|
|
|
|
# def test_should_login_with_cookie
|
|
# users(:quentin).remember_me
|
|
# @request.cookies["auth_token"] = cookie_for(:quentin)
|
|
# get :new
|
|
# assert @controller.send(:logged_in?)
|
|
# end
|
|
|
|
# def test_should_fail_expired_cookie_login
|
|
# users(:quentin).remember_me
|
|
# users(:quentin).update_attribute
|
|
# :remember_token_expires_at, 5.minutes.ago
|
|
# @request.cookies["auth_token"] = cookie_for(:quentin)
|
|
# get :new
|
|
# assert !@controller.send(:logged_in?)
|
|
# end
|
|
|
|
# def test_should_fail_cookie_login
|
|
# users(:quentin).remember_me
|
|
# @request.cookies["auth_token"] = auth_token('invalid_auth_token')
|
|
# get :new
|
|
# assert !@controller.send(:logged_in?)
|
|
# end
|
|
|
|
protected
|
|
|
|
def auth_token(token)
|
|
CGI::Cookie.new(name: 'auth_token', value: token)
|
|
end
|
|
|
|
def cookie_for(user)
|
|
auth_token users(user).remember_token
|
|
end
|
|
end
|