diff options
Diffstat (limited to 'spec/controllers/projects/logs_controller_spec.rb')
-rw-r--r-- | spec/controllers/projects/logs_controller_spec.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/controllers/projects/logs_controller_spec.rb b/spec/controllers/projects/logs_controller_spec.rb index 1eb5a6fcc12..0f34e536064 100644 --- a/spec/controllers/projects/logs_controller_spec.rb +++ b/spec/controllers/projects/logs_controller_spec.rb @@ -104,6 +104,34 @@ RSpec.describe Projects::LogsController do expect(response.headers['Poll-Interval']).to eq('3000') end + context 'with gitlab managed apps logs' do + it 'uses cluster finder services to select cluster', :aggregate_failures do + cluster_list = [cluster] + service_params = { params: ActionController::Parameters.new(pod_name: pod_name).permit! } + request_params = { + namespace_id: project.namespace, + project_id: project, + cluster_id: cluster.id, + pod_name: pod_name, + format: :json + } + + expect_next_instance_of(ClusterAncestorsFinder, project, user) do |finder| + expect(finder).to receive(:execute).and_return(cluster_list) + expect(cluster_list).to receive(:find).and_call_original + end + + expect_next_instance_of(service, cluster, Gitlab::Kubernetes::Helm::NAMESPACE, service_params) do |instance| + expect(instance).to receive(:execute).and_return(service_result) + end + + get endpoint, params: request_params + + expect(response).to have_gitlab_http_status(:success) + expect(json_response).to eq(service_result_json) + end + end + context 'when service is processing' do let(:service_result) { nil } |