def test_option_override_with_sqlite_as_db(self): sample_config = """ [Database] type = sqlite [sqlite] save_directory = /home/demouser/storage session_save_directory = /home/demouser/output session_id_start = 2345 [track_session] track = True tracking_db = http://fun.new.machine.edu/tracking """ config_file = "opsim4_options_with_sqlite_testing" with open(os.path.join('.', config_file), 'w') as cfile: cfile.write(sample_config) config = read_file_config(config_file, '.') options = collections.namedtuple("options", [ "db_type", "sqlite_save_dir", "sqlite_session_save_dir", "session_id_start", "track_session", "tracking_db" ]) # Set option defaults options.db_type = "mysql" options.sqlite_save_dir = None options.sqlite_session_save_dir = None options.session_id_start = None options.track_session = False options.tracking_db = None apply_file_config(config, options) self.assertEqual(options.db_type, "sqlite") self.assertEqual(options.sqlite_save_dir, "/home/demouser/storage") self.assertEqual(options.sqlite_session_save_dir, "/home/demouser/output") self.assertEqual(options.session_id_start, 2345) self.assertTrue(options.track_session) self.assertEqual(options.tracking_db, "http://fun.new.machine.edu/tracking") os.remove(config_file)
def test_read_file_section_no_option(self): parser = read_file_config(self.config_file, self.config_dir) with self.assertRaises(configparser.NoOptionError): parser.get("mysql", "save_directory")
def test_read_file_no_config_dir(self): with mock.patch.dict("os.environ", {"HOME": "."}, clear=True): parser = read_file_config(self.config_file) self.assertEqual(parser.get("Database", "type"), "mysql")
def test_read_default_file(self): parser = read_file_config(None, self.config_dir) self.assertIsNone(parser)
def test_read_no_file(self): parser = read_file_config("opsim3", self.config_dir) self.assertIsNone(parser)
def test_read_file(self): parser = read_file_config(self.config_file, self.config_dir) self.assertEqual(parser.get("Database", "type"), "mysql") self.assertEqual(parser.get("mysql", "config_path"), "/home/demouser/mysql")
def test_read_file_section_no_option(self): parser = read_file_config(self.config_file, self.config_dir) with self.assertRaises(configparser.NoOptionError): parser.get("sqlite", "config_path")
def test_read_file_no_section(self): parser = read_file_config(self.config_file, self.config_dir) with self.assertRaises(configparser.NoSectionError): parser.get("mysql", "save_directory")
def test_read_file_no_config_dir(self): with mock.patch.dict('os.environ', {"HOME": '.'}, clear=True): parser = read_file_config(self.config_file) self.assertEqual(parser.get("Database", "type"), "sqlite")
def test_read_file(self): parser = read_file_config(self.config_file, self.config_dir) self.assertEqual(parser.get("Database", "type"), "sqlite") self.assertEqual(parser.get("sqlite", "save_directory"), "/home/demouser/run/output")