diff --git a/ee/spec/initializers/1_settings_spec.rb b/ee/spec/initializers/1_settings_spec.rb index fadc0f7743f3a6aebaffdc8866312462c561998a..cae25d43389b4446d6d9575ab62d17596fc33bf3 100644 --- a/ee/spec/initializers/1_settings_spec.rb +++ b/ee/spec/initializers/1_settings_spec.rb @@ -61,11 +61,20 @@ end describe 'duo_workflow' do + let(:default_base_url) { "https://cloud.gitlab.com" } + let(:config) { {} } + let(:base_url) { default_base_url } + before do Settings.duo_workflow = config + stub_env("CLOUD_CONNECTOR_BASE_URL", base_url) + load_settings end - let(:config) { {} } + after do + stub_env("CLOUD_CONNECTOR_BASE_URL", default_base_url) + load_settings + end context 'when service_url is set' do let(:config) do @@ -76,8 +85,6 @@ end it 'uses provided config' do - load_settings - expect(Settings.duo_workflow.service_url).to eq('duo-workflow-service.example.com:50052') expect(Settings.duo_workflow.secure).to eq(false) end @@ -90,29 +97,28 @@ } end - it 'defaults to cloud connector config' do - stub_env("CLOUD_CONNECTOR_BASE_URL", 'https://www.cloud.example.com') + context 'with https cloud connector' do + let(:base_url) { 'https://www.cloud.example.com' } - load_settings - expect(Settings.duo_workflow.service_url).to eq('www.cloud.example.com:443') - expect(Settings.duo_workflow.secure).to eq(true) + it 'defaults to cloud connector config' do + expect(Settings.duo_workflow.service_url).to eq('www.cloud.example.com:443') + expect(Settings.duo_workflow.secure).to eq(true) + end end - it 'infers secure and port from scheme' do - stub_env("CLOUD_CONNECTOR_BASE_URL", 'http://www.cloud.example.com') - - load_settings + context 'with http cloud connector' do + let(:base_url) { 'http://www.cloud.example.com' } - expect(Settings.duo_workflow.service_url).to eq('www.cloud.example.com:80') - expect(Settings.duo_workflow.secure).to eq(false) + it 'infers secure and port from scheme' do + expect(Settings.duo_workflow.service_url).to eq('www.cloud.example.com:80') + expect(Settings.duo_workflow.secure).to eq(false) + end end end it 'reads executor details from DUO_WORKFLOW_EXECUTOR_VERSION file' do version = Rails.root.join('DUO_WORKFLOW_EXECUTOR_VERSION').read.chomp - load_settings - expect(Settings.duo_workflow.executor_binary_url).to eq("https://gitlab.com/api/v4/projects/58711783/packages/generic/duo-workflow-executor/#{version}/duo-workflow-executor.tar.gz") expect(Settings.duo_workflow.executor_version).to eq(version) end diff --git a/ee/spec/lib/code_suggestions/model_details_spec.rb b/ee/spec/lib/code_suggestions/model_details_spec.rb index 4ab754b45f06867279a4207d4d2f0a27523d026a..5871bd145b51edd4a07667d61ba785ddcb764016 100644 --- a/ee/spec/lib/code_suggestions/model_details_spec.rb +++ b/ee/spec/lib/code_suggestions/model_details_spec.rb @@ -28,16 +28,6 @@ end describe '#base_url' do - include_context 'when loading 1_settings initializer' - - # Reload settings to ensure a consistent state - # for Settings.cloud_connector base_url - # and isolate tests to reduce the risk of flaky tests - # due to shared state with other specs - before do - load_settings - end - it 'returns correct URL' do expect(completions_model_details.base_url).to eql('https://cloud.gitlab.com/ai') end