Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/requests/api/bulk_imports_spec.rb')
-rw-r--r--spec/requests/api/bulk_imports_spec.rb53
1 files changed, 26 insertions, 27 deletions
diff --git a/spec/requests/api/bulk_imports_spec.rb b/spec/requests/api/bulk_imports_spec.rb
index 8aad56c9fc3..d3d4a723616 100644
--- a/spec/requests/api/bulk_imports_spec.rb
+++ b/spec/requests/api/bulk_imports_spec.rb
@@ -18,8 +18,26 @@ RSpec.describe API::BulkImports, feature_category: :importers do
end
shared_examples 'disabled feature' do
- it 'returns 404' do
+ before do
stub_application_setting(bulk_import_enabled: false)
+ stub_feature_flags(override_bulk_import_disabled: false)
+ end
+
+ it_behaves_like '404 response' do
+ let(:message) { '404 Not Found' }
+ end
+
+ it 'enables the feature when override flag is enabled for the user' do
+ stub_feature_flags(override_bulk_import_disabled: user)
+
+ request
+
+ expect(response).not_to have_gitlab_http_status(:not_found)
+ end
+
+ it 'does not enable the feature when override flag is enabled for another user' do
+ other_user = create(:user)
+ stub_feature_flags(override_bulk_import_disabled: other_user)
request
@@ -71,7 +89,7 @@ RSpec.describe API::BulkImports, feature_category: :importers do
end
end
- include_examples 'disabled feature'
+ it_behaves_like 'disabled feature'
end
describe 'POST /bulk_imports' do
@@ -262,26 +280,7 @@ RSpec.describe API::BulkImports, feature_category: :importers do
end
context 'when the destination_slug is invalid' do
- it 'returns invalid error when restricting special characters is disabled' do
- Feature.disable(:restrict_special_characters_in_namespace_path)
-
- params[:entities][0][:destination_slug] = 'des?tin?atoi-slugg'
-
- request
- expect(response).to have_gitlab_http_status(:bad_request)
- expect(json_response['error']).to include("entities[0][destination_slug] cannot start with " \
- "a non-alphanumeric character except for periods or " \
- "underscores, can contain only alphanumeric characters, " \
- "periods, and underscores, cannot end with a period or " \
- "forward slash, and has no leading or trailing forward " \
- "slashes. It can only contain alphanumeric characters, " \
- "periods, underscores, and dashes. For example, " \
- "'destination_namespace' not 'destination/namespace'")
- end
-
- it 'returns invalid error when restricting special characters is enabled' do
- Feature.enable(:restrict_special_characters_in_namespace_path)
-
+ it 'returns invalid error' do
params[:entities][0][:destination_slug] = 'des?tin?atoi-slugg'
request
@@ -347,7 +346,7 @@ RSpec.describe API::BulkImports, feature_category: :importers do
end
end
- include_examples 'disabled feature'
+ it_behaves_like 'disabled feature'
context 'when request exceeds rate limits' do
it 'prevents user from starting a new migration' do
@@ -371,7 +370,7 @@ RSpec.describe API::BulkImports, feature_category: :importers do
expect(json_response.pluck('id')).to contain_exactly(entity_1.id, entity_2.id, entity_3.id)
end
- include_examples 'disabled feature'
+ it_behaves_like 'disabled feature'
end
describe 'GET /bulk_imports/:id' do
@@ -384,7 +383,7 @@ RSpec.describe API::BulkImports, feature_category: :importers do
expect(json_response['id']).to eq(import_1.id)
end
- include_examples 'disabled feature'
+ it_behaves_like 'disabled feature'
end
describe 'GET /bulk_imports/:id/entities' do
@@ -398,7 +397,7 @@ RSpec.describe API::BulkImports, feature_category: :importers do
expect(json_response.first['failures'].first['exception_class']).to eq(failure_3.exception_class)
end
- include_examples 'disabled feature'
+ it_behaves_like 'disabled feature'
end
describe 'GET /bulk_imports/:id/entities/:entity_id' do
@@ -411,7 +410,7 @@ RSpec.describe API::BulkImports, feature_category: :importers do
expect(json_response['id']).to eq(entity_2.id)
end
- include_examples 'disabled feature'
+ it_behaves_like 'disabled feature'
end
context 'when user is unauthenticated' do