diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-07 12:09:51 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-07 12:09:51 +0300 |
commit | d8803c7e40bd35d883ef007ddc56907bd837a748 (patch) | |
tree | e65de9306d46d111222b03ef29aafbe57adf86ac /spec/services | |
parent | b6a92c969b16549683ef276f1db7ba9a41dc85bb (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/services')
-rw-r--r-- | spec/services/ci/pipeline_schedule_service_spec.rb | 32 | ||||
-rw-r--r-- | spec/services/pod_logs/base_service_spec.rb | 30 | ||||
-rw-r--r-- | spec/services/pod_logs/elasticsearch_service_spec.rb | 30 | ||||
-rw-r--r-- | spec/services/pod_logs/kubernetes_service_spec.rb | 20 |
4 files changed, 79 insertions, 33 deletions
diff --git a/spec/services/ci/pipeline_schedule_service_spec.rb b/spec/services/ci/pipeline_schedule_service_spec.rb index f7590720f66..867ed0acc0d 100644 --- a/spec/services/ci/pipeline_schedule_service_spec.rb +++ b/spec/services/ci/pipeline_schedule_service_spec.rb @@ -25,38 +25,6 @@ describe Ci::PipelineScheduleService do subject end - context 'when ci_pipeline_schedule_async feature flag is disabled' do - before do - stub_feature_flags(ci_pipeline_schedule_async: false) - end - - it 'runs RunPipelineScheduleWorker synchronously' do - expect_next_instance_of(RunPipelineScheduleWorker) do |worker| - expect(worker).to receive(:perform).with(schedule.id, schedule.owner.id) - end - - subject - end - - it 'calls Garbage Collection manually' do - expect(GC).to receive(:start) - - subject - end - - context 'when ci_pipeline_schedule_force_gc feature flag is disabled' do - before do - stub_feature_flags(ci_pipeline_schedule_force_gc: false) - end - - it 'does not call Garbage Collection manually' do - expect(GC).not_to receive(:start) - - subject - end - end - end - context 'when owner is nil' do let(:schedule) { create(:ci_pipeline_schedule, project: project, owner: nil) } diff --git a/spec/services/pod_logs/base_service_spec.rb b/spec/services/pod_logs/base_service_spec.rb index 3ec5dc68c60..bc4989b59d9 100644 --- a/spec/services/pod_logs/base_service_spec.rb +++ b/spec/services/pod_logs/base_service_spec.rb @@ -103,6 +103,36 @@ describe ::PodLogs::BaseService do expect(result[:container_name]).to eq(container_name) end end + + context 'when pod_name is not a string' do + let(:params) do + { + 'pod_name' => { something_that_is: :not_a_string } + } + end + + it 'returns error' do + result = subject.send(:check_arguments, {}) + + expect(result[:status]).to eq(:error) + expect(result[:message]).to eq('Invalid pod_name') + end + end + + context 'when container_name is not a string' do + let(:params) do + { + 'container_name' => { something_that_is: :not_a_string } + } + end + + it 'returns error' do + result = subject.send(:check_arguments, {}) + + expect(result[:status]).to eq(:error) + expect(result[:message]).to eq('Invalid container_name') + end + end end describe '#get_pod_names' do diff --git a/spec/services/pod_logs/elasticsearch_service_spec.rb b/spec/services/pod_logs/elasticsearch_service_spec.rb index 79efc91af41..c5a691f2254 100644 --- a/spec/services/pod_logs/elasticsearch_service_spec.rb +++ b/spec/services/pod_logs/elasticsearch_service_spec.rb @@ -158,6 +158,21 @@ describe ::PodLogs::ElasticsearchService do end end + context 'with search provided and invalid' do + let(:params) do + { + 'search' => { term: "foo-bar" } + } + end + + it 'returns error' do + result = subject.send(:check_search, {}) + + expect(result[:status]).to eq(:error) + expect(result[:message]).to eq("Invalid search parameter") + end + end + context 'with search not provided' do let(:params) do {} @@ -188,6 +203,21 @@ describe ::PodLogs::ElasticsearchService do end end + context 'with cursor provided and invalid' do + let(:params) do + { + 'cursor' => { term: "foo-bar" } + } + end + + it 'returns error' do + result = subject.send(:check_cursor, {}) + + expect(result[:status]).to eq(:error) + expect(result[:message]).to eq("Invalid cursor parameter") + end + end + context 'with cursor not provided' do let(:params) do {} diff --git a/spec/services/pod_logs/kubernetes_service_spec.rb b/spec/services/pod_logs/kubernetes_service_spec.rb index da89c7ee117..a1f7645323b 100644 --- a/spec/services/pod_logs/kubernetes_service_spec.rb +++ b/spec/services/pod_logs/kubernetes_service_spec.rb @@ -218,7 +218,7 @@ describe ::PodLogs::KubernetesService do end it 'returns error if pod_name was specified but does not exist' do - result = subject.send(:check_pod_name, pod_name: 'another_pod', pods: [pod_name]) + result = subject.send(:check_pod_name, pod_name: 'another-pod', pods: [pod_name]) expect(result[:status]).to eq(:error) expect(result[:message]).to eq('Pod does not exist') @@ -230,6 +230,13 @@ describe ::PodLogs::KubernetesService do expect(result[:status]).to eq(:error) expect(result[:message]).to eq('pod_name cannot be larger than 253 chars') end + + it 'returns error if pod_name is in invalid format' do + result = subject.send(:check_pod_name, pod_name: "Invalid_pod_name", pods: [pod_name]) + + expect(result[:status]).to eq(:error) + expect(result[:message]).to eq('pod_name can contain only lowercase letters, digits, \'-\', and \'.\' and must start and end with an alphanumeric character') + end end describe '#check_container_name' do @@ -287,5 +294,16 @@ describe ::PodLogs::KubernetesService do expect(result[:status]).to eq(:error) expect(result[:message]).to eq('container_name cannot be larger than 253 chars') end + + it 'returns error if container_name is in invalid format' do + result = subject.send(:check_container_name, + container_name: "Invalid_container_name", + pod_name: pod_name, + raw_pods: raw_pods + ) + + expect(result[:status]).to eq(:error) + expect(result[:message]).to eq('container_name can contain only lowercase letters, digits, \'-\', and \'.\' and must start and end with an alphanumeric character') + end end end |