summaryrefslogtreecommitdiff
path: root/spec/models/container_repository_spec.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-02-02 00:18:16 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-02-02 00:18:16 +0000
commite4503e5d77801ed455f23e9ef3e10ead4a45bf5e (patch)
tree486c4c94f64768754feb0fd74c057e3ed5233f3a /spec/models/container_repository_spec.rb
parent71722304bef22d1b162207e3e25e4109b0d0f8c1 (diff)
downloadgitlab-ce-e4503e5d77801ed455f23e9ef3e10ead4a45bf5e.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/models/container_repository_spec.rb')
-rw-r--r--spec/models/container_repository_spec.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/spec/models/container_repository_spec.rb b/spec/models/container_repository_spec.rb
index 27281060935..5dba13f5d25 100644
--- a/spec/models/container_repository_spec.rb
+++ b/spec/models/container_repository_spec.rb
@@ -312,6 +312,21 @@ RSpec.describe ContainerRepository, :aggregate_failures do
expect { repository.skip_import }.to raise_error(ArgumentError)
end
end
+
+ describe '#finish_pre_import_and_start_import' do
+ let_it_be_with_reload(:repository) { create(:container_repository, :pre_importing) }
+
+ subject { repository.finish_pre_import_and_start_import }
+
+ before do |example|
+ unless example.metadata[:skip_import_success]
+ allow(repository).to receive(:migration_import).and_return(:ok)
+ end
+ end
+
+ it_behaves_like 'transitioning from allowed states', %w[pre_importing]
+ it_behaves_like 'transitioning to importing'
+ end
end
describe '#tag' do
@@ -819,6 +834,18 @@ RSpec.describe ContainerRepository, :aggregate_failures do
it { is_expected.to eq([repository]) }
end
+ describe '#migration_in_active_state?' do
+ subject { container_repository.migration_in_active_state? }
+
+ ContainerRepository::MIGRATION_STATES.each do |state|
+ context "when in #{state} migration_state" do
+ let(:container_repository) { create(:container_repository, state.to_sym)}
+
+ it { is_expected.to eq(state == 'importing' || state == 'pre_importing') }
+ end
+ end
+ end
+
describe '#migration_importing?' do
subject { container_repository.migration_importing? }
@@ -831,6 +858,18 @@ RSpec.describe ContainerRepository, :aggregate_failures do
end
end
+ describe '#migration_pre_importing?' do
+ subject { container_repository.migration_pre_importing? }
+
+ ContainerRepository::MIGRATION_STATES.each do |state|
+ context "when in #{state} migration_state" do
+ let(:container_repository) { create(:container_repository, state.to_sym)}
+
+ it { is_expected.to eq(state == 'pre_importing') }
+ end
+ end
+ end
+
context 'with repositories' do
let_it_be_with_reload(:repository) { create(:container_repository, :cleanup_unscheduled) }
let_it_be(:other_repository) { create(:container_repository, :cleanup_unscheduled) }