diff options
author | Shinya Maeda <shinya@gitlab.com> | 2017-10-05 20:26:07 +0900 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2017-10-05 20:26:07 +0900 |
commit | b229637b0837065a9993d06573b41218ab7e9dfb (patch) | |
tree | f1f57c678bc3a73e5ddb26f7c8bb1c41d3007828 /spec/services/ci | |
parent | 31c89258821b680da18fc02439b1be4471846571 (diff) | |
download | gitlab-ce-b229637b0837065a9993d06573b41218ab7e9dfb.tar.gz |
fetch_kubernetes_token_service_spec. Fix static analysys.
Diffstat (limited to 'spec/services/ci')
-rw-r--r-- | spec/services/ci/fetch_kubernetes_token_service_spec.rb | 59 |
1 files changed, 53 insertions, 6 deletions
diff --git a/spec/services/ci/fetch_kubernetes_token_service_spec.rb b/spec/services/ci/fetch_kubernetes_token_service_spec.rb index b66b5a7947d..1d05c9671a9 100644 --- a/spec/services/ci/fetch_kubernetes_token_service_spec.rb +++ b/spec/services/ci/fetch_kubernetes_token_service_spec.rb @@ -2,16 +2,63 @@ require 'spec_helper' describe Ci::FetchKubernetesTokenService do describe '#execute' do - context 'when correct params' do - it 'fetch the kubernetes token' do - + subject { described_class.new(api_url, ca_pem, username, password).execute } + + let(:api_url) { 'http://111.111.111.111' } + let(:ca_pem) { '' } + let(:username) { 'admin' } + let(:password) { 'xxx' } + + context 'when params correct' do + let(:token) { 'xxx.token.xxx' } + + let(:secrets_json) do + [ + { + 'metadata': { + name: metadata_name + }, + 'data': { + 'token': Base64.encode64(token) + } + } + ] + end + + before do + allow_any_instance_of(Kubeclient::Client) + .to receive(:get_secrets).and_return(secrets_json) + end + + context 'when default-token exists' do + let(:metadata_name) { 'default-token-123' } + + it { is_expected.to eq(token) } end - end - context 'when invalid params' do - it 'returns nil' do + context 'when default-token does not exist' do + let(:metadata_name) { 'another-token-123' } + it { is_expected.to be_nil } end end + + context 'when api_url is nil' do + let(:api_url) { nil } + + it { expect { subject }.to raise_error("Incomplete settings") } + end + + context 'when username is nil' do + let(:username) { nil } + + it { expect { subject }.to raise_error("Incomplete settings") } + end + + context 'when password is nil' do + let(:password) { nil } + + it { expect { subject }.to raise_error("Incomplete settings") } + end end end |