diff options
Diffstat (limited to 'spec/lib/gitlab/kubernetes/kube_client_spec.rb')
-rw-r--r-- | spec/lib/gitlab/kubernetes/kube_client_spec.rb | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/spec/lib/gitlab/kubernetes/kube_client_spec.rb b/spec/lib/gitlab/kubernetes/kube_client_spec.rb index 7b6d143dda9..521f13dc9cc 100644 --- a/spec/lib/gitlab/kubernetes/kube_client_spec.rb +++ b/spec/lib/gitlab/kubernetes/kube_client_spec.rb @@ -19,7 +19,7 @@ RSpec.describe Gitlab::Kubernetes::KubeClient do case method_name when /\A(get_|delete_)/ client.public_send(method_name) - when /\A(create_|update_)/ + when /\A(create_|update_|patch_)/ client.public_send(method_name, {}) else raise "Unknown method name #{method_name}" @@ -302,6 +302,8 @@ RSpec.describe Gitlab::Kubernetes::KubeClient do :create_role, :get_role, :update_role, + :delete_role_binding, + :update_role_binding, :update_cluster_role_binding ].each do |method| describe "##{method}" do @@ -375,6 +377,34 @@ RSpec.describe Gitlab::Kubernetes::KubeClient do end end + describe '#patch_ingress' do + let(:extensions_client) { client.extensions_client } + let(:networking_client) { client.networking_client } + + include_examples 'redirection not allowed', 'patch_ingress' + include_examples 'dns rebinding not allowed', 'patch_ingress' + + it 'delegates to the extensions client' do + expect(extensions_client).to receive(:patch_ingress) + + client.patch_ingress + end + + context 'extensions does not have ingress for Kubernetes 1.22+ clusters' do + before do + WebMock + .stub_request(:get, api_url + '/apis/extensions/v1beta1') + .to_return(kube_response(kube_1_22_extensions_v1beta1_discovery_body)) + end + + it 'delegates to the apps client' do + expect(networking_client).to receive(:patch_ingress) + + client.patch_ingress + end + end + end + describe 'istio API group' do let(:istio_client) { client.istio_client } |