def test__import_settings(self): settings_loader = SettingsLoader() application = 'app' group = 'local' storage = Storage() self.assertEqual(storage.keys(), []) # Initialized storage is empty settings_loader.import_settings(group, storage) # No config file, storage unchanged self.assertEqual(storage.keys(), []) f_text = '/tmp/settings_loader_config.txt' # Test defaults and section overrides text = \ """ [web2py] auth.username = admin auth.version = '3.33' mail.username = mailer mail.version = '4.44' username = jimk version = '1.11' [app] auth.version = '5.55' mail.version = '6.66' version = '2.22' email = [email protected] """ _config_file_from_text(f_text, text) settings_loader.config_file = f_text settings_loader.application = application settings_loader.get_settings() settings_loader.import_settings('zzz', storage) # Group has no settings, storage unchanged self.assertEqual(storage.keys(), []) settings_loader.import_settings(group, storage) self.assertEqual(sorted(storage.keys()), ['email', 'username', 'version']) # Group has settings, storage changed self.assertEqual(storage['email'], '*****@*****.**') self.assertEqual(storage['username'], 'jimk') self.assertEqual(storage['version'], '2.22') os.unlink(f_text) return