Add tests specifically for SSL certificates

This commit is contained in:
pemontto 2019-10-22 13:04:56 +01:00
parent 42fb7192b9
commit d59c452918
No known key found for this signature in database
GPG key ID: EDCB93C3DA1B5DA9
3 changed files with 31 additions and 17 deletions

View file

@ -1,10 +1,14 @@
require 'spec_helper'
require 'json'
require 'pathname'
vars = JSON.parse(File.read('/tmp/vars.json'))
es_api_url = "#{vars['es_api_scheme']}://localhost:#{vars['es_api_port']}"
username = vars['es_api_basic_auth_username']
password = vars['es_api_basic_auth_password']
es_keystore_path = "#{vars['es_ssl_certificate_path']}/#{Pathname.new(vars['es_ssl_keystore']).basename}"
es_truststore_path = "#{vars['es_ssl_certificate_path']}/#{Pathname.new(vars['es_ssl_truststore']).basename}"
if vars['es_major_version'] == '7.x'
es_security_api = "_security"
else
@ -61,7 +65,7 @@ shared_examples 'xpack_upgrade::init' do |vars|
end
describe 'security users' do
result = curl_json("#{es_api_url}/#{es_security_api}/user", username='elastic', password='elasticChanged')
result = curl_json("#{es_api_url}/#{es_security_api}/user", username=username, password=password)
it 'should have the elastic user' do
expect(result['elastic']['username']).to eq('elastic')
expect(result['elastic']['roles']).to eq(['superuser'])
@ -89,4 +93,14 @@ shared_examples 'xpack_upgrade::init' do |vars|
expect(curl_json(es_api_url, username='logstash_system', password='aNewLogstashPassword')['version']['number']).to eq(vars['es_version'])
end
end
describe 'SSL certificate check' do
certificates = curl_json("#{es_api_url}/_ssl/certificates", username=username, password=password)
it 'should list the keystore file' do
expect(certificates.any? { |cert| cert['path'] == es_keystore_path }).to be true
end
it 'should list the truststore file' do
expect(certificates.any? { |cert| cert['path'] == es_truststore_path }).to be true
end
end
end