def fill_submits(sqlite_cursor, base_dir, origin, mysql_config): if '' in mysql_config.values(): logging.error('MySQL parameters are not specified') exit() logging.info('Now connecting to MySQL') from mysql_connector import MySQLConnector mysql_connector = MySQLConnector() mysql_connector.create_connection(mysql_config) logging.info('Connected to MySQL database') ej_cursor = mysql_connector.get_cursor() logging.info("Filling database from XML's and MySQL database") fill_from_xml(sqlite_cursor, ej_cursor, base_dir, origin) mysql_connector.close()
def test_fill_from_xml(self, er, mc, sw, pr): walker = MagicMock(walk=MagicMock(return_value=[10, 20])) er.return_value = MagicMock(walk=MagicMock(return_value=[(1, 'a'), (2, 'b')])) mc.return_value = MagicMock(walk=MagicMock(return_value=[(1, 'a'), (2, 'b')])) sw.return_value = walker fill = Mock() fill_database.DBSubmitsFiller = Mock(return_value=fill) fill_from_xml('sqlite', 'ejudge', 'dir', 'origin') sw.assert_called_once_with('ejudge') self.assertEqual(fill_database.DBSubmitsFiller.mock_calls, [call('sqlite')]) good = ("[call(10, 'origin'),\n call(20, 'origin'),\n call(10, 'origin'),\n " "call(20, 'origin'),\n call(10, 'origin'),\n call(20, 'origin'),\n " "call(10, 'origin'),\n call(20, 'origin')]") self.assertEqual(str(fill.fill_db_from_submit.call_args_list), good)