Commit graph

10 commits

Author SHA1 Message Date
blackst0ne
34a3e165d5 Update Gemfile.rails5.lock 2018-04-28 18:00:15 +11:00
blackst0ne
4a306796c1 [Rails5] Fix params for DeleteUserWorker
This commit fixes the error:

```
  1) Admin::UsersController DELETE #user with projects deletes the user and their contributions when hard delete is specified
     Failure/Error: Users::DestroyService.new(current_user).execute(delete_user, options.symbolize_keys)

     NoMethodError:
       undefined method `symbolize_keys' for "{\"hard_delete\"=>\"true\"}":String
     # ./app/workers/delete_user_worker.rb:8:in `perform'
     # ./lib/gitlab/sidekiq_status/server_middleware.rb:5:in `call'
     # ./config/initializers/forbid_sidekiq_in_transactions.rb:35:in `block (2 levels) in <module:NoEnqueueingFromTransactions>'
     # ./app/models/user.rb:913:in `delete_async'
     # ./app/controllers/admin/users_controller.rb:148:in `destroy'
     # ./lib/gitlab/i18n.rb:50:in `with_locale'
     # ./lib/gitlab/i18n.rb:56:in `with_user_locale'
     # ./app/controllers/application_controller.rb:327:in `set_locale'
     # ./spec/controllers/admin/users_controller_spec.rb:28:in `block (3 levels) in <top (required)>'

Finished in 6.81 seconds (files took 13.9 seconds to load)
1 example, 1 failure
```
2018-04-28 15:54:46 +11:00
blackst0ne
ddcce35c28 [Rails5] Avoid type casting in uniqueness validator
This commit does two things:
1. Synchronizes `Gemfile.rails5.lock` with the latest changes in `Gemfile`
2. Adds a monkey patch for active record to avoid type casting in uniqueness
validator.

In Rails 5.0 there was introduced a bug [1] that causes to problems like
this:

```
1) API::Users POST /user/:id/gpg_keys/:key_id/revoke when authenticated revokes existing key
Failure/Error: let(:gpg_key) { create(:gpg_key, user: user) }
TypeError:
  can't cast Hash
```

This bug was fixed in Rails 5.1 [2].

[1]: 811a4fa8eb
[2]: aa062318c4
2018-04-19 13:31:11 +11:00
blackst0ne
1a455f3d5c [Rails5] Fix running spinach tests
1. Add support for `RAILS5=1|true` for the `bin/spinach` command.
2. Synchronize used spinach versions both for rails4 and rails5.

For rails5 it was accidently used spinach 0.10.1 instead of 0.8.10.
That brought some problems on running spinach tests.

Example of failure message:

NoMethodError: undefined method `line' for #<Spinach::Scenario:0x000000000c86ba80>
Did you mean?  lines
  /builds/gitlab-org/gitlab-ce/features/support/env.rb:52:in `before_scenario_run'
2018-04-10 22:18:37 +11:00
blackst0ne
2efa9bed0d [Rails5] Add rails-controller-testing gem
In Rails 5.0 `assert_template` and `assigns()` have been extracted to
the `rails-controller-testing` gem.
https://github.com/rails/rails/pull/20138/files

This commit adds this gem for rails5.
2018-04-08 15:55:08 +11:00
blackst0ne
585b7acc5b Bump parser gem to 2.5.0.5
1. Synchronize used version of `parser` gem for both versions of rails: 4 and 5.
2. Fix broken CI pipelines for rails5 branches.

The 2.5.0.4 version is removed from rubygems, so it's skipped.
https://github.com/whitequark/parser/issues/478
2018-04-07 12:03:42 +11:00
blackst0ne
975c084c3e [Rails5] Update Gemfile.rails5.lock [ci skip] 2018-04-04 15:26:46 +11:00
blackst0ne
cde51be2c6 [Rails5] Isolate test_after_commit gem 2018-04-03 09:54:44 +11:00
blackst0ne
2b28653fa6 Bump state_machines-activerecord to 0.5.1 2018-03-26 15:09:59 +00:00
blackst0ne
3eca161369 [Rails5] Add Gemfile.rails5 2018-03-15 09:50:16 +11:00