diff options
author | Bob Van Landuyt <bob@gitlab.com> | 2017-06-14 15:20:03 +0200 |
---|---|---|
committer | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-06-26 17:49:30 +0200 |
commit | 171f2d97dcc508ff6031248c6f78fc8ba75e939c (patch) | |
tree | 4e67043988d6f1cb39ccaf0299dffea83debd02c /spec/lib | |
parent | d6a0c288c89765fa8f0e96aedefc608dd7025491 (diff) | |
download | gitlab-ce-171f2d97dcc508ff6031248c6f78fc8ba75e939c.tar.gz |
Keep failed renames in redis
Diffstat (limited to 'spec/lib')
-rw-r--r-- | spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb index 2ce3fc0b497..8813f129ef5 100644 --- a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb +++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb @@ -257,5 +257,24 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameBase, :trunca expect { |b| subject.reverts_for_type('namespace', &b) } .to yield_with_args('namespace_path', 'new_namespace_path') end + + it 'keeps the revert in redis if it failed' do + subject.track_rename('project', 'old_path', 'new_path') + + subject.reverts_for_type('project') do + raise 'whatever happens, keep going!' + end + + key = 'rename:FakeRenameReservedPathMigrationV1:project' + stored_renames = nil + rename_count = 0 + Gitlab::Redis.with do |redis| + stored_renames = redis.lrange(key, 0, 1) + rename_count = redis.llen(key) + end + + expect(rename_count).to eq(1) + expect(JSON.parse(stored_renames.first)).to eq(%w(old_path new_path)) + end end end |