diff --git a/kubernetes/spec/utils_spec.rb b/kubernetes/spec/utils_spec.rb index 1d0c6025..37ef85cf 100644 --- a/kubernetes/spec/utils_spec.rb +++ b/kubernetes/spec/utils_spec.rb @@ -86,6 +86,10 @@ end context '#create_temp_file_with_base64content' do + before do + Kubernetes.clear_temp_files + end + context 'when it is called at first time' do it 'should return temp file path' do expected_path = 'tempfile-path' @@ -102,12 +106,8 @@ context 'when it is already called' do it 'should return cached value' do - expected_path = 'tempfile-path' content = TEST_DATA_BASE64 - Kubernetes.cache_temp_file(content, expected_path) - io = double('io') - expect(io).not_to receive(:path) - expect(io).not_to receive(:write).with(TEST_DATA) + expected_path = Kubernetes.create_temp_file_with_base64content(content) path = Kubernetes.create_temp_file_with_base64content(content) expect(path).to eq(expected_path) diff --git a/kubernetes/src/kubernetes/config/kube_config.rb b/kubernetes/src/kubernetes/config/kube_config.rb index 3a163a72..2d96ed1b 100644 --- a/kubernetes/src/kubernetes/config/kube_config.rb +++ b/kubernetes/src/kubernetes/config/kube_config.rb @@ -20,6 +20,7 @@ require 'kubernetes/api_client' require 'kubernetes/configuration' require 'kubernetes/config/error' +require 'kubernetes/utils' module Kubernetes # The KubeConfig class represents configuration based on a YAML diff --git a/kubernetes/src/kubernetes/utils.rb b/kubernetes/src/kubernetes/utils.rb index 6fc3ca00..aef24a90 100644 --- a/kubernetes/src/kubernetes/utils.rb +++ b/kubernetes/src/kubernetes/utils.rb @@ -76,15 +76,17 @@ def create_temp_file_and_set(obj, key) def create_temp_file_with_base64content(content) @temp_files[content] ||= Tempfile.open('kube') do |temp| temp.write(Base64.strict_decode64(content)) - temp.path + temp end + + @temp_files[content].path end - def cache_temp_file(content, path) - @temp_files[content] = path + def clear_temp_files + @temp_files = {} end module_function :new_client_from_config, :load_incluster_config, :load_kube_config, :create_temp_file_and_set, - :create_temp_file_with_base64content, :cache_temp_file + :create_temp_file_with_base64content, :clear_temp_files end