summaryrefslogtreecommitdiff
path: root/spec/models/clusters/applications/ingress_spec.rb
diff options
context:
space:
mode:
authorMayra Cabrera <mcabrera@gitlab.com>2018-08-07 12:39:38 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2018-08-07 12:39:38 +0000
commitfc134096370c94bc1312060c42ed69b2665f0f95 (patch)
tree7e2a8764e590ae7128058cad67165f8ff1c66722 /spec/models/clusters/applications/ingress_spec.rb
parentb3deca7a2606a6b2cef464ed08417be4ffb0cb6b (diff)
downloadgitlab-ce-fc134096370c94bc1312060c42ed69b2665f0f95.tar.gz
Resolve "Mutual SSL Auth For Helm TIller"
Diffstat (limited to 'spec/models/clusters/applications/ingress_spec.rb')
-rw-r--r--spec/models/clusters/applications/ingress_spec.rb42
1 files changed, 34 insertions, 8 deletions
diff --git a/spec/models/clusters/applications/ingress_spec.rb b/spec/models/clusters/applications/ingress_spec.rb
index d378248d5d6..21f75ced8c3 100644
--- a/spec/models/clusters/applications/ingress_spec.rb
+++ b/spec/models/clusters/applications/ingress_spec.rb
@@ -88,7 +88,7 @@ describe Clusters::Applications::Ingress do
expect(subject.name).to eq('ingress')
expect(subject.chart).to eq('stable/nginx-ingress')
expect(subject.version).to eq('0.23.0')
- expect(subject.values).to eq(ingress.values)
+ expect(subject.files).to eq(ingress.files)
end
context 'application failed to install previously' do
@@ -100,14 +100,40 @@ describe Clusters::Applications::Ingress do
end
end
- describe '#values' do
- subject { ingress.values }
+ describe '#files' do
+ let(:application) { ingress }
+ let(:values) { subject[:'values.yaml'] }
- it 'should include ingress valid keys' do
- is_expected.to include('image')
- is_expected.to include('repository')
- is_expected.to include('stats')
- is_expected.to include('podAnnotations')
+ subject { application.files }
+
+ it 'should include ingress valid keys in values' do
+ expect(values).to include('image')
+ expect(values).to include('repository')
+ expect(values).to include('stats')
+ expect(values).to include('podAnnotations')
+ end
+
+ context 'when the helm application does not have a ca_cert' do
+ before do
+ application.cluster.application_helm.ca_cert = nil
+ end
+
+ it 'should not include cert files' do
+ expect(subject[:'ca.pem']).not_to be_present
+ expect(subject[:'cert.pem']).not_to be_present
+ expect(subject[:'key.pem']).not_to be_present
+ end
+ end
+
+ it 'should include cert files' do
+ expect(subject[:'ca.pem']).to be_present
+ expect(subject[:'ca.pem']).to eq(application.cluster.application_helm.ca_cert)
+
+ expect(subject[:'cert.pem']).to be_present
+ expect(subject[:'key.pem']).to be_present
+
+ cert = OpenSSL::X509::Certificate.new(subject[:'cert.pem'])
+ expect(cert.not_after).to be < 60.minutes.from_now
end
end
end