File tree Expand file tree Collapse file tree 2 files changed +26
-5
lines changed
lib/geoip_database_management
spec/geoip_database_management Expand file tree Collapse file tree 2 files changed +26
-5
lines changed Original file line number Diff line number Diff line change @@ -59,9 +59,13 @@ def initialize
5959 @metadata = Metadata . new ( data_path )
6060
6161 unless enabled?
62- logger . info ( "database manager is disabled; removing managed databases from disk``" )
63- metadata . delete
64- clean_up_database
62+ if @metadata . exist?
63+ logger . info ( "database manager is disabled; removing managed databases from disk``" )
64+ metadata . delete
65+ clean_up_database
66+ else
67+ logger . info ( "database manager is disabled." )
68+ end
6569 end
6670 end
6771
@@ -142,6 +146,8 @@ def periodic_sync
142146 end
143147
144148 def clean_up_database ( excluded_dirnames = [ ] )
149+ return unless ::Dir . exist? ( data_path . root )
150+
145151 protected_dirnames = excluded_dirnames . uniq
146152 existing_dirnames = ::Dir . children ( data_path . root )
147153 . select { |f | ::File . directory? ::File . join ( data_path . root , f ) }
Original file line number Diff line number Diff line change @@ -37,10 +37,13 @@ def write_dummy_mmdb(type, path)
3737 let ( :geoip_data_path ) { ::File . expand_path ( "geoip_database_management" , settings_path_data ) }
3838 let ( :geoip_metadata_path ) { ::File . expand_path ( "metadata.csv" , geoip_data_path ) }
3939
40+ let ( :populate_geoip_data_path ) { true }
4041 let ( :metadata_contents ) { nil }
4142 before ( :each ) do
42- ::FileUtils . mkdir_p ( ::File . dirname ( geoip_metadata_path ) )
43- ::File . write ( geoip_metadata_path , metadata_contents ) unless metadata_contents . nil?
43+ if populate_geoip_data_path
44+ ::FileUtils . mkdir_p ( ::File . dirname ( geoip_metadata_path ) )
45+ ::File . write ( geoip_metadata_path , metadata_contents ) unless metadata_contents . nil?
46+ end
4447 end
4548
4649 after ( :each ) do
@@ -106,6 +109,18 @@ def write_dummy_mmdb(type, path)
106109 expect ( Pathname ( existing_city_db_path ) ) . to_not be_file
107110 expect ( Pathname ( existing_asn_db_path ) ) . to_not be_file
108111 end
112+
113+ context "and data directory does not exist" do
114+ let ( :populate_geoip_data_path ) { false }
115+ let ( :existing_city_db_path ) { nil }
116+ let ( :existing_asn_db_path ) { nil }
117+
118+ it 'logs info about database manager being disabled' do
119+ manager_instance # instantiate
120+
121+ expect ( mock_logger ) . to have_received ( :info ) . with ( a_string_including "database manager is disabled" )
122+ end
123+ end
109124 end
110125 end
111126
You can’t perform that action at this time.
0 commit comments