Skip to content

Commit 6c2cfd2

Browse files
author
Calum Gilchrist
committed
Add Logging around using create-symlinks without environment
1 parent 5b3f1ee commit 6c2cfd2

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

lib/octocatalog-diff/catalog-util/builddir.rb

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,14 @@ def create_symlinks(logger = nil)
8484
install_directory_symlink(logger, File.join(@options[:basedir], x), x)
8585
end
8686
else
87-
if @options[:environment]
88-
install_directory_symlink(logger, @options[:basedir], "environments/#{@options[:environment]}")
89-
end
90-
if @options[:create_symlinks]
87+
if @options[:create_symlinks] && @options[:environment]
88+
unless logger.nil?
89+
logger.warn '--create-symlinks with --environment ignored unless --preserve-environments is used'
90+
end
91+
elsif @options[:create_symlinks]
9192
logger.warn '--create-symlinks is ignored unless --preserve-environments is used' unless logger.nil?
93+
elsif @options[:environment]
94+
install_directory_symlink(logger, @options[:basedir], "environments/#{@options[:environment]}")
9295
end
9396
install_directory_symlink(logger, @options[:basedir])
9497
end
@@ -178,6 +181,7 @@ def install_fact_file(logger, options)
178181
def install_directory_symlink(logger, dir, target = 'environments/production')
179182
raise ArgumentError, "Called install_directory_symlink with #{dir.class} argument" unless dir.is_a?(String)
180183
raise Errno::ENOENT, "Specified directory #{dir} doesn't exist" unless File.directory?(dir)
184+
181185
symlink_target = File.join(@tempdir, target)
182186

183187
if target =~ %r{/}

spec/octocatalog-diff/tests/catalog-util/builddir_spec.rb

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,15 +121,18 @@
121121
end
122122
end
123123

124-
context 'with --environment' do
124+
context 'with --create-symlinks and --environment' do
125125
context 'with logger' do
126126
it 'should log a warning message and install default symlink' do
127127
logger = double('Logger')
128-
expect(logger).to receive(:warn).with('--environment is ignored unless --preserve-environments is used')
128+
expect(logger).to receive(:warn).with(
129+
'--create-symlinks with --environment ignored unless --preserve-environments is used'
130+
)
129131

130132
@described_object.instance_variable_set(
131133
'@options',
132134
basedir: '/tmp/basedir',
135+
create_symlinks: %w(foo bar),
133136
environment: 'baz'
134137
)
135138

@@ -142,10 +145,11 @@
142145
end
143146

144147
context 'without logger' do
145-
it 'should install default symlink' do
148+
it 'should install directory symlink' do
146149
@described_object.instance_variable_set(
147150
'@options',
148151
basedir: '/tmp/basedir',
152+
create_symlinks: %w(foo bar),
149153
environment: 'baz'
150154
)
151155

0 commit comments

Comments
 (0)