Skip to content

Commit

Permalink
Ensure etc directory is not changed while running unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
ngiger committed Feb 26, 2024
1 parent dc640f0 commit 611f238
Show file tree
Hide file tree
Showing 23 changed files with 55 additions and 51 deletions.
3 changes: 3 additions & 0 deletions src/plugin/csv_export.rb
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@ def export_fachinfo_chapter(term, chapters, lang, file)
def export_ddd_csv
@options = { }
recipients.concat ['log']
FileUtils.makedirs(EXPORT_DIR)
@file_path = File.join EXPORT_DIR, 'ddd.csv'
CSV.open(@file_path, "w", col_sep: ';', encoding: 'UTF-8') do |csv|
csv << [:iksnr,
Expand Down Expand Up @@ -191,6 +192,7 @@ def export_ddd_csv
end
end
def export_index_therapeuticus
FileUtils.makedirs(EXPORT_DIR)
@options = { }
recipients.concat self.class::ODDB_RECIPIENTS
ids = @app.indices_therapeutici.sort.collect { |code, idx| idx.odba_id }
Expand Down Expand Up @@ -236,6 +238,7 @@ def export_oddb_dat_with_migel(transfer)
@file_path = output
@options ||= {}
@options[:compression] = 'zip'
FileUtils.makedirs(File.dirname(output))
gem_app = Oddb2tdat.new(input1, output, input2, transfer) # see help of oddb2tdat gem
gem_app.target.push(:migel)
gem_app.run
Expand Down
3 changes: 2 additions & 1 deletion src/view/drugs/csv_result.rb
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,8 @@ def to_csv(keys, symbol=:active_packages, target=:atc_class)
res.join('')
end
def to_csv_file(keys, path, symbol=:active_packages, target=:atc_class)
File.open(path, 'w') do |fh|
FileUtils.makedirs(File.dirname(path))
File.open(path, 'w') do |fh|
fh.puts to_csv(keys, symbol, target)
end
end
Expand Down
2 changes: 2 additions & 0 deletions test/data/ddd.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
iksnr;package;pharmacode;description;atc_code;available_roas;ddd_roa;ddd_dose;package_roa;package_dose;galenic_forms;price_public;ddd_price;calculation;variant
;002;123456;seqname;C01DA02;O;O;95 mg;125 mg;O;Tabletten;103.40;;no calculation done;-1
20 changes: 17 additions & 3 deletions test/helpers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,16 @@ def initialize(root_dir, tests_to_run_in_isolation = [])
|file|
@tests_to_run_in_isolation << File.expand_path(File.join(root_dir, file)) }
end


def check_etc(path)
res = `git status etc`
if /barcode_to_text_info/.match(res)
puts "#{path} changed etc"
exit 5
else
puts "#{path} left etc unchanged" if $VERBOSE
end
end
@@directories = Hash.new

def run_isolated_tests
Expand All @@ -51,7 +60,7 @@ def run_isolated_tests
result = system(cmd)
puts "#{Time.now}: OddbTestRunner::Running #{path} failed " unless result
end

check_etc(path)
@@directories[path] = result
}
end
Expand All @@ -70,6 +79,7 @@ def run_normal_tests(tests2Run = Dir.glob(File.join(@rootDir, '**', '*.rb')))
else
# puts "require #{File.expand_path(file)}"
require File.expand_path(file)
check_etc(file)
end
end
end
Expand All @@ -87,7 +97,11 @@ def show_results_and_exit
}
diffSeconds = (Time.now - StartTime).to_i
puts "#{Time.now}: OddbTestRunner::Overall result for #{@rootDir} is #{okay}"
puts "#{Time.now}: OddbTestRunner::Overall failing test_suites were \n#{problems.join("\n")}" if problems.size > 0
if problems.size > 0
puts "#{Time.now}: OddbTestRunner::Overall failing test_suites were \n#{problems.join("\n")}"
else
puts "All tests passed"
end
puts " Took #{(diffSeconds/60).to_i} minutes and #{diffSeconds % 60} seconds to run"
exit 2 unless okay
okay
Expand Down
4 changes: 1 addition & 3 deletions test/test_command/accept_orphan.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@

$: << File.expand_path("../../src", File.dirname(__FILE__))

require 'state/global'


require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/global'
require 'command/accept_orphan'

module ODDB
Expand Down
3 changes: 0 additions & 3 deletions test/test_command/replace_fachinfo.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@

$: << File.expand_path("../../src", File.dirname(__FILE__))

#require 'state/global'


require 'minitest/autorun'
require 'flexmock/minitest'
require 'command/replace_fachinfo'
Expand Down
15 changes: 14 additions & 1 deletion test/test_plugin/csv_export.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
module ODDB
class TestCsvExportPlugin <Minitest::Test
def setup
FileUtils.rm_rf(ODDB::WORK_DIR)
# FileUtils.cp(File.join(ODDB::TEST_DATA_DIR, 'csv/*.csv'), File.mo)
@app = flexmock('app')
@plugin = ODDB::CsvExportPlugin.new(@app)
end
Expand Down Expand Up @@ -632,6 +634,12 @@ def test_export_oddb_dat
:log_group => log_group
)
export_server = flexmock('export_server', :compress => 'compress')
src = File.join(ODDB::TEST_DATA_DIR, 'csv/oddb.csv')
assert(File.exist?(src), "#{src} must exist")
dest = File.join(ODDB::EXPORT_DIR, 'oddb.csv')
FileUtils.makedirs(ODDB::EXPORT_DIR)
res = FileUtils.copy_file(src, dest, preserve: true, verbose: true)
assert(File.exist?(dest), "#{dest} must exist")
temporary_replace_constant(@plugin, 'ODDB::CsvExportPlugin::EXPORT_SERVER', export_server ) do
@plugin.instance_eval('@options = {}')
assert_equal('compress', @plugin.export_oddb_dat(nil))
Expand All @@ -648,7 +656,12 @@ def test_export_oddb_dat_with_migel
)
export_server = flexmock('export_server', :compress => 'compress')
export_dir = File.join(ODDB::TEST_DATA_DIR, 'csv')
puts export_dir
src = File.join(ODDB::TEST_DATA_DIR, 'csv/oddb.csv')
assert(File.exist?(src), "#{src} must exist")
dest = File.join(ODDB::EXPORT_DIR, 'oddb.csv')
FileUtils.makedirs(ODDB::EXPORT_DIR)
res = FileUtils.copy_file(src, dest, preserve: true, verbose: true)
assert(File.exist?(dest), "#{dest} must exist")
temporary_replace_constant(@plugin, 'ODDB::CsvExportPlugin::MIGEL_EXPORT_DIR', export_dir ) do
temporary_replace_constant(@plugin, 'ODDB::CsvExportPlugin::EXPORT_SERVER', export_server ) do
@plugin.instance_eval('@options = {}')
Expand Down
3 changes: 1 addition & 2 deletions test/test_state/admin/activeagent.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
$: << File.expand_path('..', File.dirname(__FILE__))
$: << File.expand_path("../../../src", File.dirname(__FILE__))

require 'state/global'

require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/global'
require 'htmlgrid/select'
require 'define_empty_class'
require 'state/admin/activeagent'
Expand Down
3 changes: 1 addition & 2 deletions test/test_state/admin/assign_fachinfo.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@

$: << File.expand_path("../../../src", File.dirname(__FILE__))

require 'state/global'

require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/global'
require 'htmlgrid/labeltext'
require 'state/admin/assign_fachinfo'

Expand Down
3 changes: 1 addition & 2 deletions test/test_state/admin/entity.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@

$: << File.expand_path("../../../src", File.dirname(__FILE__))

require 'state/global'

require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/global'
require 'state/admin/entity'

module ODDB
Expand Down
3 changes: 1 addition & 2 deletions test/test_state/admin/orphaned_patinfo.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@

$: << File.expand_path("../../../src", File.dirname(__FILE__))

require 'state/global'

require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/global'
require 'state/admin/orphaned_patinfo'
require 'util/pointerarray'

Expand Down
3 changes: 1 addition & 2 deletions test/test_state/admin/patinfo_deprived_sequences.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@

$: << File.expand_path("../../../src", File.dirname(__FILE__))

require 'state/global'

require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/global'
require 'state/admin/patinfo_deprived_sequences'

module ODDB
Expand Down
6 changes: 3 additions & 3 deletions test/test_state/admin/powerlinkuser.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@

$: << File.expand_path("../../../src", File.dirname(__FILE__))


require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/global'

module ODDB
module State
module Drugs
Expand All @@ -15,8 +17,6 @@ class RootFachinfo < Fachinfo; end
end
end

require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/admin/powerlinkuser'

module ODDB
Expand Down
2 changes: 0 additions & 2 deletions test/test_state/admin/poweruser.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

$: << File.expand_path("../../../src", File.dirname(__FILE__))



require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/admin/poweruser'
Expand Down
5 changes: 2 additions & 3 deletions test/test_state/admin/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

$: << File.expand_path("../../../src", File.dirname(__FILE__))

require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/global'
module ODDB
module State
Expand All @@ -14,9 +16,6 @@ class RootFachinfo < Fachinfo; end
end
end


require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/admin/user'
require 'state/admin/logout'
require 'state/drugs/fachinfo'
Expand Down
3 changes: 0 additions & 3 deletions test/test_state/drugs/package.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@

$: << File.expand_path("../../../src", File.dirname(__FILE__))

#require 'state/global'


require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/drugs/package'
Expand Down
5 changes: 2 additions & 3 deletions test/test_state/drugs/sequences.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

$: << File.expand_path("../../../src", File.dirname(__FILE__))

require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/global'
module ODDB
module State
Expand All @@ -14,9 +16,6 @@ class RootFachinfo < Fachinfo; end
end
end


require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/drugs/fachinfo'

module ODDB
Expand Down
1 change: 0 additions & 1 deletion test/test_state/feedbacks.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

$: << File.expand_path("../../src", File.dirname(__FILE__))


require 'minitest/autorun'
require 'flexmock/minitest'
require 'htmlgrid/labeltext'
Expand Down
3 changes: 0 additions & 3 deletions test/test_state/hospitals/global.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@

$: << File.expand_path("../../../src", File.dirname(__FILE__))

#require 'state/global'


require 'minitest/autorun'
require 'flexmock/minitest'
require 'view/welcomehead'
Expand Down
4 changes: 1 addition & 3 deletions test/test_state/hospitals/hospital.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@

$: << File.expand_path("../../../src", File.dirname(__FILE__))

require 'state/global'


require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/global'
require 'view/welcomehead'
require 'state/hospitals/hospital'
require 'state/hospitals/setpass'
Expand Down
4 changes: 1 addition & 3 deletions test/test_state/pharmacies/pharmacy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,9 @@

$: << File.expand_path("../../../src", File.dirname(__FILE__))

require 'state/global'


require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/global'
require 'view/welcomehead'
require 'state/pharmacies/setpass'
require 'state/pharmacies/pharmacy'
Expand Down
4 changes: 1 addition & 3 deletions test/test_state/setpass.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@

$: << File.expand_path("../../src", File.dirname(__FILE__))

require 'state/global'


require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/global'
require 'state/setpass'

module ODDB
Expand Down
4 changes: 1 addition & 3 deletions test/test_state/suggest_address.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@

$: << File.expand_path("../../src", File.dirname(__FILE__))

require 'state/global'


require 'minitest/autorun'
require 'flexmock/minitest'
require 'state/global'
require 'state/suggest_address'
require 'util/mail'

Expand Down

0 comments on commit 611f238

Please sign in to comment.