45 lines
1.2 KiB
Ruby
45 lines
1.2 KiB
Ruby
|
require 'spec_helper'
|
||
|
|
||
|
describe Gitlab::Kubernetes::Helm::BaseCommand do
|
||
|
let(:application) { create(:clusters_applications_helm) }
|
||
|
let(:base_command) { described_class.new(application.name) }
|
||
|
|
||
|
describe '#generate_script' do
|
||
|
let(:helm_version) { Gitlab::Kubernetes::Helm::HELM_VERSION }
|
||
|
let(:command) do
|
||
|
<<~HEREDOC
|
||
|
set -eo pipefail
|
||
|
apk add -U ca-certificates openssl >/dev/null
|
||
|
wget -q -O - https://kubernetes-helm.storage.googleapis.com/helm-v#{helm_version}-linux-amd64.tar.gz | tar zxC /tmp >/dev/null
|
||
|
mv /tmp/linux-amd64/helm /usr/bin/
|
||
|
HEREDOC
|
||
|
end
|
||
|
|
||
|
subject { base_command.generate_script }
|
||
|
|
||
|
it 'should return a command that prepares the environment for helm-cli' do
|
||
|
expect(subject).to eq(command)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
describe '#pod_resource' do
|
||
|
subject { base_command.pod_resource }
|
||
|
|
||
|
it 'should returns a kubeclient resoure with pod content for application' do
|
||
|
is_expected.to be_an_instance_of ::Kubeclient::Resource
|
||
|
end
|
||
|
end
|
||
|
|
||
|
describe '#config_map?' do
|
||
|
subject { base_command.config_map? }
|
||
|
|
||
|
it { is_expected.to be_falsy }
|
||
|
end
|
||
|
|
||
|
describe '#pod_name' do
|
||
|
subject { base_command.pod_name }
|
||
|
|
||
|
it { is_expected.to eq('install-helm') }
|
||
|
end
|
||
|
end
|