From e878a8e80f55bb09565ca33408f5295b8784e455 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 29 Mar 2022 09:09:05 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- app/models/container_repository.rb | 12 ++++++------ doc/api/graphql/reference/index.md | 4 ++-- spec/models/container_repository_spec.rb | 16 +++++++++++++--- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/app/models/container_repository.rb b/app/models/container_repository.rb index 342fd7d0045..03ac5c8e5df 100644 --- a/app/models/container_repository.rb +++ b/app/models/container_repository.rb @@ -125,7 +125,7 @@ class ContainerRepository < ApplicationRecord end event :finish_import do - transition %i[pre_importing importing import_aborted] => :import_done + transition %i[default pre_importing importing import_aborted] => :import_done end event :already_migrated do @@ -294,7 +294,7 @@ class ContainerRepository < ApplicationRecord def reconcile_import_status(status) case status when 'native' - finish_import_as_native + finish_import_as(:native_import) when *IRRECONCILABLE_MIGRATIONS_STATUSES nil when 'import_complete' @@ -321,9 +321,9 @@ class ContainerRepository < ApplicationRecord when :ok return true when :not_found - skip_import(reason: :not_found) + finish_import_as(:not_found) when :already_imported - finish_import_as_native + finish_import_as(:native_import) else abort_import end @@ -513,8 +513,8 @@ class ContainerRepository < ApplicationRecord private - def finish_import_as_native - self.migration_skipped_reason = :native_import + def finish_import_as(reason) + self.migration_skipped_reason = reason finish_import end end diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md index a6bd27a168a..d4676587b6e 100644 --- a/doc/api/graphql/reference/index.md +++ b/doc/api/graphql/reference/index.md @@ -20533,8 +20533,8 @@ Field that are available while modifying the custom mapping attributes for an HT | Name | Type | Description | | ---- | ---- | ----------- | -| `mergedAfter` | [`Date`](#date) | Merged date of merge requests merged after a compliance violation was created. | -| `mergedBefore` | [`Date`](#date) | Merged date of merge requests merged before a compliance violation was created. | +| `mergedAfter` | [`Date`](#date) | Merge requests merged after this date (inclusive). | +| `mergedBefore` | [`Date`](#date) | Merge requests merged before this date (inclusive). | | `projectIds` | [`[ProjectID!]`](#projectid) | Filter compliance violations by project. | ### `DastProfileCadenceInput` diff --git a/spec/models/container_repository_spec.rb b/spec/models/container_repository_spec.rb index 3530904cfc0..0ca918c898a 100644 --- a/spec/models/container_repository_spec.rb +++ b/spec/models/container_repository_spec.rb @@ -132,6 +132,16 @@ RSpec.describe ContainerRepository, :aggregate_failures do .and change { repository.reload.migration_skipped_reason }.to('native_import') end end + + context 'non-existing repository' do + it 'finishes the import' do + expect(repository).to receive(:migration_pre_import).and_return(:not_found) + + expect { subject } + .to change { repository.reload.migration_state }.to('import_done') + .and change { repository.reload.migration_skipped_reason }.to('not_found') + end + end end shared_examples 'transitioning to importing', skip_import_success: true do @@ -283,7 +293,7 @@ RSpec.describe ContainerRepository, :aggregate_failures do subject { repository.finish_import } - it_behaves_like 'transitioning from allowed states', %w[pre_importing importing import_aborted] + it_behaves_like 'transitioning from allowed states', %w[default pre_importing importing import_aborted] it_behaves_like 'queueing the next import' it 'sets migration_import_done_at and queues the next import' do @@ -1155,10 +1165,10 @@ RSpec.describe ContainerRepository, :aggregate_failures do context 'not found response' do let(:response) { :not_found } - it 'aborts the migration' do + it 'completes the migration' do expect(subject).to eq(false) - expect(container_repository).to be_import_skipped + expect(container_repository).to be_import_done expect(container_repository.reload.migration_skipped_reason).to eq('not_found') end end