summaryrefslogtreecommitdiff
path: root/vendor/gems/kubeclient/test/test_exec_credentials.rb
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gems/kubeclient/test/test_exec_credentials.rb')
-rw-r--r--vendor/gems/kubeclient/test/test_exec_credentials.rb225
1 files changed, 0 insertions, 225 deletions
diff --git a/vendor/gems/kubeclient/test/test_exec_credentials.rb b/vendor/gems/kubeclient/test/test_exec_credentials.rb
deleted file mode 100644
index f0e51827f55..00000000000
--- a/vendor/gems/kubeclient/test/test_exec_credentials.rb
+++ /dev/null
@@ -1,225 +0,0 @@
-require_relative 'test_helper'
-require 'open3'
-
-# Unit tests for the ExecCredentials provider
-class ExecCredentialsTest < MiniTest::Test
- def test_exec_opts_missing
- expected_msg =
- 'exec options are required'
- exception = assert_raises(ArgumentError) do
- Kubeclient::ExecCredentials.run(nil)
- end
- assert_equal(expected_msg, exception.message)
- end
-
- def test_exec_command_missing
- expected_msg =
- 'exec command is required'
- exception = assert_raises(KeyError) do
- Kubeclient::ExecCredentials.run({})
- end
- assert_equal(expected_msg, exception.message)
- end
-
- def test_exec_command_failure
- err = 'Error'
- expected_msg =
- "exec command failed: #{err}"
-
- st = Minitest::Mock.new
- st.expect(:success?, false)
-
- opts = { 'command' => 'dummy' }
-
- Open3.stub(:capture3, [nil, err, st]) do
- exception = assert_raises(RuntimeError) do
- Kubeclient::ExecCredentials.run(opts)
- end
- assert_equal(expected_msg, exception.message)
- end
- end
-
- def test_run_with_token_credentials
- opts = { 'command' => 'dummy' }
-
- credentials = {
- 'token' => '0123456789ABCDEF0123456789ABCDEF'
- }
-
- creds = JSON.dump(
- 'apiVersion' => 'client.authentication.k8s.io/v1alpha1',
- 'status' => credentials
- )
-
- st = Minitest::Mock.new
- st.expect(:success?, true)
-
- Open3.stub(:capture3, [creds, nil, st]) do
- assert_equal(credentials, Kubeclient::ExecCredentials.run(opts))
- end
- end
-
- def test_run_with_client_credentials
- opts = { 'command' => 'dummy' }
-
- credentials = {
- 'clientCertificateData' => '0123456789ABCDEF0123456789ABCDEF',
- 'clientKeyData' => '0123456789ABCDEF0123456789ABCDEF'
- }
-
- creds = JSON.dump(
- 'apiVersion' => 'client.authentication.k8s.io/v1alpha1',
- 'status' => credentials
- )
-
- st = Minitest::Mock.new
- st.expect(:success?, true)
-
- Open3.stub(:capture3, [creds, nil, st]) do
- assert_equal(credentials, Kubeclient::ExecCredentials.run(opts))
- end
- end
-
- def test_run_with_missing_client_certificate_data
- opts = { 'command' => 'dummy' }
-
- credentials = {
- 'clientKeyData' => '0123456789ABCDEF0123456789ABCDEF'
- }
-
- creds = JSON.dump(
- 'apiVersion' => 'client.authentication.k8s.io/v1alpha1',
- 'status' => credentials
- )
-
- st = Minitest::Mock.new
- st.expect(:success?, true)
-
- expected_msg = 'exec plugin didn\'t return client certificate data'
-
- Open3.stub(:capture3, [creds, nil, st]) do
- exception = assert_raises(RuntimeError) do
- Kubeclient::ExecCredentials.run(opts)
- end
- assert_equal(expected_msg, exception.message)
- end
- end
-
- def test_run_with_missing_client_key_data
- opts = { 'command' => 'dummy' }
-
- credentials = {
- 'clientCertificateData' => '0123456789ABCDEF0123456789ABCDEF'
- }
-
- creds = JSON.dump(
- 'apiVersion' => 'client.authentication.k8s.io/v1alpha1',
- 'status' => credentials
- )
-
- st = Minitest::Mock.new
- st.expect(:success?, true)
-
- expected_msg = 'exec plugin didn\'t return client key data'
-
- Open3.stub(:capture3, [creds, nil, st]) do
- exception = assert_raises(RuntimeError) do
- Kubeclient::ExecCredentials.run(opts)
- end
- assert_equal(expected_msg, exception.message)
- end
- end
-
- def test_run_with_client_data_and_token
- opts = { 'command' => 'dummy' }
-
- credentials = {
- 'clientCertificateData' => '0123456789ABCDEF0123456789ABCDEF',
- 'clientKeyData' => '0123456789ABCDEF0123456789ABCDEF',
- 'token' => '0123456789ABCDEF0123456789ABCDEF'
- }
-
- creds = JSON.dump(
- 'apiVersion' => 'client.authentication.k8s.io/v1alpha1',
- 'status' => credentials
- )
-
- st = Minitest::Mock.new
- st.expect(:success?, true)
-
- expected_msg = 'exec plugin returned both token and client data'
-
- Open3.stub(:capture3, [creds, nil, st]) do
- exception = assert_raises(RuntimeError) do
- Kubeclient::ExecCredentials.run(opts)
- end
- assert_equal(expected_msg, exception.message)
- end
- end
-
- def test_status_missing
- opts = { 'command' => 'dummy' }
-
- creds = JSON.dump('apiVersion' => 'client.authentication.k8s.io/v1alpha1')
-
- st = Minitest::Mock.new
- st.expect(:success?, true)
-
- expected_msg = 'exec plugin didn\'t return a status field'
-
- Open3.stub(:capture3, [creds, nil, st]) do
- exception = assert_raises(RuntimeError) do
- Kubeclient::ExecCredentials.run(opts)
- end
- assert_equal(expected_msg, exception.message)
- end
- end
-
- def test_credentials_missing
- opts = { 'command' => 'dummy' }
-
- creds = JSON.dump(
- 'apiVersion' => 'client.authentication.k8s.io/v1alpha1',
- 'status' => {}
- )
-
- st = Minitest::Mock.new
- st.expect(:success?, true)
-
- expected_msg = 'exec plugin didn\'t return a token or client data'
-
- Open3.stub(:capture3, [creds, nil, st]) do
- exception = assert_raises(RuntimeError) do
- Kubeclient::ExecCredentials.run(opts)
- end
- assert_equal(expected_msg, exception.message)
- end
- end
-
- def test_api_version_mismatch
- api_version = 'client.authentication.k8s.io/v1alpha1'
- expected_version = 'client.authentication.k8s.io/v1beta1'
-
- opts = {
- 'command' => 'dummy',
- 'apiVersion' => expected_version
- }
-
- creds = JSON.dump(
- 'apiVersion' => api_version
- )
-
- st = Minitest::Mock.new
- st.expect(:success?, true)
-
- expected_msg = "exec plugin is configured to use API version #{expected_version}," \
- " plugin returned version #{api_version}"
-
- Open3.stub(:capture3, [creds, nil, st]) do
- exception = assert_raises(RuntimeError) do
- Kubeclient::ExecCredentials.run(opts)
- end
- assert_equal(expected_msg, exception.message)
- end
- end
-end