Skip to content

Commit 8d80379

Browse files
Cleanup
1 parent f5a2a9c commit 8d80379

File tree

2 files changed

+25
-10
lines changed

2 files changed

+25
-10
lines changed

.evergreen/run-tests-atlas.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,6 @@ bundle_install
1414

1515
echo "Running specs"
1616

17+
export ATLAS_TESTING=1
18+
1719
bundle exec rspec spec/atlas -fd

spec/atlas/atlas_connectivity_spec.rb

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
require 'base64'
55
require 'tempfile'
66

7-
RSpec.shared_examples 'atlas connectivity test' do |env_var|
8-
skip "Environment variable #{env_var} is not set" unless ENV[env_var]
9-
7+
RSpec.shared_examples 'atlas connectivity test' do
108
after do
119
client.close
10+
rescue StandardError
11+
# no-op
1212
end
1313

1414
it 'runs hello successfully' do
@@ -18,6 +18,10 @@
1818
end
1919

2020
describe 'Atlas connectivity' do
21+
before do
22+
skip 'These tests must be run against a live Atlas cluster' unless ENV['ATLAS_TESTING']
23+
end
24+
2125
context 'with regular authentication' do
2226
regular_auth_env_vars = %w[
2327
ATLAS_REPLICA_SET_URI
@@ -27,12 +31,17 @@
2731
ATLAS_TLS12_URI
2832
]
2933

30-
regular_auth_env_vars.each do |var|
31-
describe "Connecting to #{var}" do
32-
let(:uri) { ENV[var] }
34+
regular_auth_env_vars.each do |uri_var|
35+
describe "Connecting to #{uri_var}" do
36+
before do
37+
raise "Environment variable #{uri_var} is not set" unless ENV[uri_var]
38+
end
39+
40+
let(:uri) { ENV[uri_var] }
41+
3342
let(:client) { Mongo::Client.new(uri) }
3443

35-
include_examples 'atlas connectivity test', var
44+
include_examples 'atlas connectivity test'
3645
end
3746
end
3847
end
@@ -45,11 +54,15 @@
4554

4655
x509_auth_env_vars.each do |uri_var, cert_var|
4756
describe "Connecting to #{uri_var} with certificate" do
57+
before do
58+
raise "Environment variable #{uri_var} is not set" unless ENV[uri_var]
59+
end
60+
4861
let(:client_cert) do
4962
decoded = Base64.strict_decode64(ENV[cert_var])
5063
cert_file = Tempfile.new([ 'x509-cert', '.pem' ])
5164
cert_file.write(decoded)
52-
File.chmod(0600, cert_file.path)
65+
File.chmod(0o600, cert_file.path)
5366
cert_file.close
5467
cert_file
5568
end
@@ -63,10 +76,10 @@
6376
end
6477

6578
after do
66-
client_cert.unlink if client_cert
79+
client_cert&.unlink
6780
end
6881

69-
include_examples 'atlas connectivity test', uri_var
82+
include_examples 'atlas connectivity test'
7083
end
7184
end
7285
end

0 commit comments

Comments
 (0)