Fix Rubocop Rails/UniqueValidationWithoutIndex
cop (#27461)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
parent
35b517c207
commit
2ec9bff36e
7 changed files with 239 additions and 9 deletions
|
@ -8,6 +8,7 @@ namespace :tests do
|
|||
'2' => 2017_10_10_025614,
|
||||
'2_4' => 2018_05_14_140000,
|
||||
'2_4_3' => 2018_07_07_154237,
|
||||
'3_3_0' => 2020_12_18_054746,
|
||||
}.each do |release, version|
|
||||
ActiveRecord::Tasks::DatabaseTasks
|
||||
.migration_connection
|
||||
|
@ -111,9 +112,41 @@ namespace :tests do
|
|||
exit(1)
|
||||
end
|
||||
|
||||
unless Identity.where(provider: 'foo', uid: 0).count == 1
|
||||
puts 'Identities not deduplicated as expected'
|
||||
exit(1)
|
||||
end
|
||||
|
||||
unless WebauthnCredential.where(user_id: 1, nickname: 'foo').count == 1
|
||||
puts 'Webauthn credentials not deduplicated as expected'
|
||||
exit(1)
|
||||
end
|
||||
|
||||
unless AccountAlias.where(account_id: 1, uri: 'https://example.com/users/foobar').count == 1
|
||||
puts 'Account aliases not deduplicated as expected'
|
||||
exit(1)
|
||||
end
|
||||
|
||||
puts 'No errors found. Database state is consistent with a successful migration process.'
|
||||
end
|
||||
|
||||
desc 'Populate the database with test data for 3.3.0'
|
||||
task populate_v3_3_0: :environment do # rubocop:disable Naming/VariableNumber
|
||||
ActiveRecord::Base.connection.execute(<<~SQL.squish)
|
||||
INSERT INTO "webauthn_credentials"
|
||||
(user_id, nickname, external_id, public_key, created_at, updated_at)
|
||||
VALUES
|
||||
(1, 'foo', 1, 'foo', now(), now()),
|
||||
(1, 'foo', 2, 'bar', now(), now());
|
||||
|
||||
INSERT INTO "account_aliases"
|
||||
(account_id, uri, acct, created_at, updated_at)
|
||||
VALUES
|
||||
(1, 'https://example.com/users/foobar', 'foobar@example.com', now(), now()),
|
||||
(1, 'https://example.com/users/foobar', 'foobar@example.com', now(), now());
|
||||
SQL
|
||||
end
|
||||
|
||||
desc 'Populate the database with test data for 2.4.3'
|
||||
task populate_v2_4_3: :environment do # rubocop:disable Naming/VariableNumber
|
||||
user_key = OpenSSL::PKey::RSA.new(2048)
|
||||
|
@ -189,6 +222,12 @@ namespace :tests do
|
|||
VALUES
|
||||
(5, 'User', 4, 'default_language', E'--- kmr\n', now(), now()),
|
||||
(6, 'User', 1, 'interactions', E'--- !ruby/hash:ActiveSupport::HashWithIndifferentAccess\nmust_be_follower: false\nmust_be_following: true\nmust_be_following_dm: false\n', now(), now());
|
||||
|
||||
INSERT INTO "identities"
|
||||
(provider, uid, user_id, created_at, updated_at)
|
||||
VALUES
|
||||
('foo', 0, 1, now(), now()),
|
||||
('foo', 0, 1, now(), now());
|
||||
SQL
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue