diff options
Diffstat (limited to 'spec/models/instance_configuration_spec.rb')
-rw-r--r-- | spec/models/instance_configuration_spec.rb | 64 |
1 files changed, 63 insertions, 1 deletions
diff --git a/spec/models/instance_configuration_spec.rb b/spec/models/instance_configuration_spec.rb index 3af717798c3..f57667cc5d6 100644 --- a/spec/models/instance_configuration_spec.rb +++ b/spec/models/instance_configuration_spec.rb @@ -99,6 +99,7 @@ RSpec.describe InstanceConfiguration do max_attachment_size: 10, receive_max_input_size: 20, max_import_size: 30, + max_export_size: 40, diff_max_patch_bytes: 409600, max_artifacts_size: 50, max_pages_size: 60, @@ -112,6 +113,7 @@ RSpec.describe InstanceConfiguration do expect(size_limits[:max_attachment_size]).to eq(10.megabytes) expect(size_limits[:receive_max_input_size]).to eq(20.megabytes) expect(size_limits[:max_import_size]).to eq(30.megabytes) + expect(size_limits[:max_export_size]).to eq(40.megabytes) expect(size_limits[:diff_max_patch_bytes]).to eq(400.kilobytes) expect(size_limits[:max_artifacts_size]).to eq(50.megabytes) expect(size_limits[:max_pages_size]).to eq(60.megabytes) @@ -127,11 +129,16 @@ RSpec.describe InstanceConfiguration do end it 'returns nil if set to 0 (unlimited)' do - Gitlab::CurrentSettings.current_application_settings.update!(max_import_size: 0, max_pages_size: 0) + Gitlab::CurrentSettings.current_application_settings.update!( + max_import_size: 0, + max_export_size: 0, + max_pages_size: 0 + ) size_limits = subject.settings[:size_limits] expect(size_limits[:max_import_size]).to be_nil + expect(size_limits[:max_export_size]).to be_nil expect(size_limits[:max_pages_size]).to be_nil end end @@ -173,6 +180,61 @@ RSpec.describe InstanceConfiguration do end end + describe '#ci_cd_limits' do + let_it_be(:plan1) { create(:plan, name: 'plan1', title: 'Plan 1') } + let_it_be(:plan2) { create(:plan, name: 'plan2', title: 'Plan 2') } + + before do + create(:plan_limits, + plan: plan1, + ci_pipeline_size: 1001, + ci_active_jobs: 1002, + ci_active_pipelines: 1003, + ci_project_subscriptions: 1004, + ci_pipeline_schedules: 1005, + ci_needs_size_limit: 1006, + ci_registered_group_runners: 1007, + ci_registered_project_runners: 1008 + ) + create(:plan_limits, + plan: plan2, + ci_pipeline_size: 1101, + ci_active_jobs: 1102, + ci_active_pipelines: 1103, + ci_project_subscriptions: 1104, + ci_pipeline_schedules: 1105, + ci_needs_size_limit: 1106, + ci_registered_group_runners: 1107, + ci_registered_project_runners: 1108 + ) + end + + it 'returns CI/CD limits' do + ci_cd_size_limits = subject.settings[:ci_cd_limits] + + expect(ci_cd_size_limits[:Plan1]).to eq({ + ci_active_jobs: 1002, + ci_active_pipelines: 1003, + ci_needs_size_limit: 1006, + ci_pipeline_schedules: 1005, + ci_pipeline_size: 1001, + ci_project_subscriptions: 1004, + ci_registered_group_runners: 1007, + ci_registered_project_runners: 1008 + }) + expect(ci_cd_size_limits[:Plan2]).to eq({ + ci_active_jobs: 1102, + ci_active_pipelines: 1103, + ci_needs_size_limit: 1106, + ci_pipeline_schedules: 1105, + ci_pipeline_size: 1101, + ci_project_subscriptions: 1104, + ci_registered_group_runners: 1107, + ci_registered_project_runners: 1108 + }) + end + end + describe '#rate_limits' do before do Gitlab::CurrentSettings.current_application_settings.update!( |