diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-02 12:08:33 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-02 12:08:33 +0300 |
commit | 251d3d2b234a4b449edefec4ed8dcf9bc2f8be37 (patch) | |
tree | 714806d3146ec19b556a989d589c34b2f0ef576b /spec/tasks | |
parent | 91ef4dcc05931e8be5cfb28462656386ed1fca21 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/tasks')
-rw-r--r-- | spec/tasks/gitlab/backup_rake_spec.rb | 2 | ||||
-rw-r--r-- | spec/tasks/gitlab/db_rake_spec.rb | 43 |
2 files changed, 45 insertions, 0 deletions
diff --git a/spec/tasks/gitlab/backup_rake_spec.rb b/spec/tasks/gitlab/backup_rake_spec.rb index a0e1322b756..212a7f74b40 100644 --- a/spec/tasks/gitlab/backup_rake_spec.rb +++ b/spec/tasks/gitlab/backup_rake_spec.rb @@ -326,6 +326,7 @@ RSpec.describe 'gitlab:app namespace rake task', :delete do let!(:project_a) { create(:project, :repository) } let!(:project_a_wiki_page) { create(:wiki_page, container: project_a) } + let!(:project_a_design) { create(:design, :with_file, issue: create(:issue, project: project_a)) } let!(:project_b) { create(:project, :repository, repository_storage: 'test_second_storage') } let!(:b_storage_dir) { File.join(test_second_storage_dir, File.dirname(project_b.disk_path)) } @@ -341,6 +342,7 @@ RSpec.describe 'gitlab:app namespace rake task', :delete do expect(tar_contents).to include( "repositories/#{project_a.disk_path}.bundle", "repositories/#{project_a.disk_path}.wiki.bundle", + "repositories/#{project_a.disk_path}.design.bundle", "repositories/#{project_b.disk_path}.bundle" ) end diff --git a/spec/tasks/gitlab/db_rake_spec.rb b/spec/tasks/gitlab/db_rake_spec.rb index d379a6873cf..e4630aefb85 100644 --- a/spec/tasks/gitlab/db_rake_spec.rb +++ b/spec/tasks/gitlab/db_rake_spec.rb @@ -164,6 +164,49 @@ RSpec.describe 'gitlab:db namespace rake task' do end end + describe 'drop_tables' do + subject { run_rake_task('gitlab:db:drop_tables') } + + let(:tables) { %w(one two) } + let(:views) { %w(three four) } + let(:connection) { ActiveRecord::Base.connection } + + before do + allow(connection).to receive(:execute).and_return(nil) + + allow(connection).to receive(:tables).and_return(tables) + allow(connection).to receive(:views).and_return(views) + end + + it 'drops all tables, except schema_migrations' do + expect(connection).to receive(:execute).with('DROP TABLE IF EXISTS "one" CASCADE') + expect(connection).to receive(:execute).with('DROP TABLE IF EXISTS "two" CASCADE') + + subject + end + + it 'drops all views' do + expect(connection).to receive(:execute).with('DROP VIEW IF EXISTS "three" CASCADE') + expect(connection).to receive(:execute).with('DROP VIEW IF EXISTS "four" CASCADE') + + subject + end + + it 'truncates schema_migrations table' do + expect(connection).to receive(:execute).with('TRUNCATE schema_migrations') + + subject + end + + it 'drops extra schemas' do + Gitlab::Database::EXTRA_SCHEMAS.each do |schema| + expect(connection).to receive(:execute).with("DROP SCHEMA IF EXISTS \"#{schema}\"") + end + + subject + end + end + describe 'reindex' do let(:reindex) { double('reindex') } let(:indexes) { double('indexes') } |