Skip to content

Commit 1b66b0e

Browse files
committed
Merge pull request #595 from estolfo/RUBY-889-ssl-options
RUBY-889 Only use ssl options if :ssl is true
2 parents 9de099e + 410f3a3 commit 1b66b0e

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

lib/mongo/server/connectable.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,11 @@ def timeout
8282

8383
private
8484

85-
attr_reader :socket, :ssl_options
85+
attr_reader :socket
86+
87+
def ssl_options
88+
@ssl_options[:ssl] == true ? @ssl_options : {}
89+
end
8690

8791
def ensure_connected
8892
ensure_same_process!

spec/mongo/server/connection_spec.rb

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,39 @@
284284
end
285285
end
286286

287+
context 'when ssl is false' do
288+
289+
context 'when ssl options are provided' do
290+
291+
let(:ssl_options) do
292+
{ :ssl => false, :ssl_key => 'file', :ssl_key_pass_phrase => 'iamaphrase' }
293+
end
294+
295+
let(:connection) do
296+
described_class.new(server, ssl_options)
297+
end
298+
299+
it 'does not set the ssl options' do
300+
expect(connection.send(:ssl_options)).to be_empty
301+
end
302+
end
303+
304+
context 'when ssl options are not provided' do
305+
306+
let(:ssl_options) do
307+
{ :ssl => false }
308+
end
309+
310+
let(:connection) do
311+
described_class.new(server, ssl_options)
312+
end
313+
314+
it 'does not set the ssl options' do
315+
expect(connection.send(:ssl_options)).to be_empty
316+
end
317+
end
318+
end
319+
287320
context 'when authentication options are provided' do
288321

289322
let(:connection) do

0 commit comments

Comments
 (0)