Commit 1ae52243 authored by Nick Thomas's avatar Nick Thomas

Merge branch 'guard_case_when_cilium_isnt_present' into 'master'

Add guard condition for when cilium

See merge request gitlab-org/gitlab!63258
parents d2f5e672 2e7fd966
...@@ -18,7 +18,7 @@ module NetworkPolicies ...@@ -18,7 +18,7 @@ module NetworkPolicies
@kubeclient_info.each do |platform, namespace| @kubeclient_info.each do |platform, namespace|
policies_per_environment, error_per_environment = execute_per_environment(platform, namespace) policies_per_environment, error_per_environment = execute_per_environment(platform, namespace)
policies += policies_per_environment policies += policies_per_environment if policies_per_environment
errors << error_per_environment if error_per_environment errors << error_per_environment if error_per_environment
end end
errors.empty? ? ServiceResponse.success(payload: policies) : kubernetes_error_response(errors.join, policies) errors.empty? ? ServiceResponse.success(payload: policies) : kubernetes_error_response(errors.join, policies)
...@@ -35,7 +35,7 @@ module NetworkPolicies ...@@ -35,7 +35,7 @@ module NetworkPolicies
.map { |resource| Gitlab::Kubernetes::CiliumNetworkPolicy.from_resource(resource) } .map { |resource| Gitlab::Kubernetes::CiliumNetworkPolicy.from_resource(resource) }
[policies, nil] [policies, nil]
rescue Kubeclient::HttpError => e rescue Kubeclient::HttpError => e
[[], e] [policies, e]
end end
def has_deployment_platform?(kubeclient_info) def has_deployment_platform?(kubeclient_info)
......
...@@ -56,7 +56,7 @@ RSpec.describe NetworkPolicies::ResourcesService do ...@@ -56,7 +56,7 @@ RSpec.describe NetworkPolicies::ResourcesService do
end end
end end
context 'with Kubeclient::HttpError' do context 'with Kubeclient::HttpError related to network policies' do
before do before do
allow(kubeclient).to receive(:get_network_policies).and_raise(Kubeclient::HttpError.new(500, 'system failure', nil)) allow(kubeclient).to receive(:get_network_policies).and_raise(Kubeclient::HttpError.new(500, 'system failure', nil))
end end
...@@ -69,6 +69,20 @@ RSpec.describe NetworkPolicies::ResourcesService do ...@@ -69,6 +69,20 @@ RSpec.describe NetworkPolicies::ResourcesService do
end end
end end
context 'with Kubeclient::HttpError related to cilium network policies' do
before do
allow(kubeclient).to receive(:get_network_policies) { [policy.generate] }
allow(kubeclient).to receive(:get_cilium_network_policies).and_raise(Kubeclient::HttpError.new(400, 'not found', nil))
end
it 'returns error response' do
expect(subject).to be_error
expect(subject.http_status).to eq(:bad_request)
expect(subject.message).not_to be_nil
expect(subject.payload.first.as_json).to eq(policy.as_json)
end
end
context 'without environment_id' do context 'without environment_id' do
let(:environment_id) { nil } let(:environment_id) { nil }
let(:cluster_2) { create(:cluster, :project) } let(:cluster_2) { create(:cluster, :project) }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment