Skip to content

Commit 4c86ebb

Browse files
committed
Refactor candlepin_database_test to be more explicit in testing
1 parent 34d18d0 commit 4c86ebb

2 files changed

Lines changed: 24 additions & 21 deletions

File tree

definitions/features/candlepin_database.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,11 @@ def check_option_using_cpdb_help(option_name, parent_cmd = '')
3030

3131
private
3232

33+
def raw_config
34+
File.read(CANDLEPIN_DB_CONFIG)
35+
end
36+
3337
def load_configuration
34-
raw_config = File.read(CANDLEPIN_DB_CONFIG)
3538
full_config = Hash[raw_config.scan(/(^[^#\n][^=]*)=(.*)/)]
3639
uri_regexp = %r{://(([^/:]*):?([^/]*))/([^?]*)\??(ssl=([^&]*))?}
3740
url = full_config['jpa.config.hibernate.connection.url']

test/definitions/features/candlepin_database_test.rb

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
11
require 'test_helper'
2-
require 'minitest/stub_const'
32

43
describe Features::CandlepinDatabase do
54
include DefinitionsTestHelper
65
subject { Features::CandlepinDatabase.new }
7-
let(:subject_ins) { Features::CandlepinDatabase.any_instance }
86

97
let(:cp_config_dir) do
108
File.expand_path('../../support', __dir__)
119
end
1210

13-
def stub_with_ssl_config(&block)
14-
Features::CandlepinDatabase.stub_const(:CANDLEPIN_DB_CONFIG,
15-
cp_config_dir + '/candlepin_with_ssl.conf', &block)
16-
end
17-
18-
def stub_without_ssl_config(&block)
19-
Features::CandlepinDatabase.stub_const(:CANDLEPIN_DB_CONFIG,
20-
cp_config_dir + '/candlepin_without_ssl.conf', &block)
11+
def stub_config(&block)
12+
subject.stub(:raw_config, File.read(File.join(cp_config_dir, config)), &block)
2113
end
2214

2315
describe '.configuration' do
24-
it 'The url includes ssl attributes when ssl is enabled' do
25-
stub_with_ssl_config do
26-
url = subject.configuration['url']
27-
assert_includes url, 'ssl=true'
28-
assert_includes url, 'sslrootcert=/usr/share/foreman/root.crt'
16+
let(:configuration) { subject.configuration }
17+
18+
describe 'with ssl' do
19+
let(:config) { 'candlepin_with_ssl.conf' }
20+
21+
it 'sets ssl to true' do
22+
stub_config do
23+
assert_includes configuration['url'], 'ssl=true'
24+
assert configuration['ssl']
25+
end
2926
end
3027
end
3128

32-
it 'The url does not include ssl attributes when ssl is disabled' do
33-
stub_without_ssl_config do
34-
url = subject.configuration['url']
35-
refute_includes url, 'ssl=true'
36-
refute_includes url, 'sslrootcert=/usr/share/foreman/root.crt'
29+
describe 'without ssl' do
30+
let(:config) { 'candlepin_without_ssl.conf' }
31+
32+
it 'sets ssl to false' do
33+
stub_config do
34+
refute_includes configuration['url'], 'ssl=true'
35+
refute configuration['ssl']
36+
end
3737
end
3838
end
3939
end

0 commit comments

Comments
 (0)