diff options
Diffstat (limited to 'spec/lib/gitlab/x509/certificate_spec.rb')
-rw-r--r-- | spec/lib/gitlab/x509/certificate_spec.rb | 62 |
1 files changed, 61 insertions, 1 deletions
diff --git a/spec/lib/gitlab/x509/certificate_spec.rb b/spec/lib/gitlab/x509/certificate_spec.rb index 2dc30cc871d..d919b99de2a 100644 --- a/spec/lib/gitlab/x509/certificate_spec.rb +++ b/spec/lib/gitlab/x509/certificate_spec.rb @@ -116,9 +116,69 @@ RSpec.describe Gitlab::X509::Certificate do end end + describe '.default_cert_dir' do + before do + described_class.reset_default_cert_paths + end + + after(:context) do + described_class.reset_default_cert_paths + end + + context 'when SSL_CERT_DIR env variable is not set' do + before do + stub_env('SSL_CERT_DIR', nil) + end + + it 'returns default directory from OpenSSL' do + expect(described_class.default_cert_dir).to eq(OpenSSL::X509::DEFAULT_CERT_DIR) + end + end + + context 'when SSL_CERT_DIR env variable is set' do + before do + stub_env('SSL_CERT_DIR', '/tmp/foo/certs') + end + + it 'returns specified directory' do + expect(described_class.default_cert_dir).to eq('/tmp/foo/certs') + end + end + end + + describe '.default_cert_file' do + before do + described_class.reset_default_cert_paths + end + + after(:context) do + described_class.reset_default_cert_paths + end + + context 'when SSL_CERT_FILE env variable is not set' do + before do + stub_env('SSL_CERT_FILE', nil) + end + + it 'returns default file from OpenSSL' do + expect(described_class.default_cert_file).to eq(OpenSSL::X509::DEFAULT_CERT_FILE) + end + end + + context 'when SSL_CERT_FILE env variable is set' do + before do + stub_env('SSL_CERT_FILE', '/tmp/foo/cert.pem') + end + + it 'returns specified file' do + expect(described_class.default_cert_file).to eq('/tmp/foo/cert.pem') + end + end + end + describe '.ca_certs_paths' do it 'returns all files specified by OpenSSL defaults' do - cert_paths = Dir["#{OpenSSL::X509::DEFAULT_CERT_DIR}/*"] + cert_paths = Dir["#{described_class.default_cert_dir}/*"] expect(described_class.ca_certs_paths).to match_array(cert_paths + [sample_cert]) end |