def test_dbconn_mock_setup(dbconn): """ Test mock dbconn """ logger.info('Testing mock dbconn') with pytest.raises(sqlite3.OperationalError): dbconn_table_num_rows(dbconn, 'qbo_extract_accounts')
def test_qec_mock_setup(qec, dbconn): """ Testing Extract connector with mock instance """ logger.info('Testing Extract connector with mock instance') qec.create_tables() assert dbconn_table_num_rows(dbconn, 'qbo_extract_accounts') == 0, 'Unclean db' assert dbconn_table_num_rows(dbconn, 'qbo_extract_classes') == 0, 'Unclean db' assert dbconn_table_num_rows(dbconn, 'qbo_extract_employees') == 0, 'Unclean db'
def test_qlc_mock_setup(qlc, dbconn): """ Testing Load Connector with mock instance """ logger.info('Testing Load Connector with mock instance') qlc.create_tables() sqlpath = './test/common/mock_db_load.sql' sql = open(sqlpath, 'r').read() dbconn.executescript(sql) assert dbconn_table_num_rows(dbconn, 'qbo_load_checks') == 2, 'Unclean db' assert dbconn_table_num_rows(dbconn, 'qbo_load_check_lineitems') == 4, 'Unclean db'
def test_dbconn_mock_setup(dbconn): """ Testing mock dbconn """ logger.info('Testing mock dbconn') with pytest.raises(sqlite3.OperationalError) as e: rows = dbconn_table_num_rows(dbconn, 'fyle_extract_employees')
def test_fec_mock_setup(fec): """ Testing Extract connector with mock instance """ logger.info('Testing Extract connector with mock instance') # python magic to access private variable for testing db state dbconn = fec._FyleExtractConnector__dbconn assert dbconn_table_num_rows(dbconn, 'fyle_extract_employees') == 0, 'Unclean db'
def test_classes(qbo, qec, dbconn): """ Test Extract Classes :param qbo: mock qbo sdk object :param qec: qbo extract connection :param dbconn: sqlite db connection :return: None """ qec.create_tables() classes = qec.extract_classes() qbo_data = qbo.classes.get()[0] db_data = dbconn_table_row_dict(dbconn, 'qbo_extract_classes') assert dict_compare_keys(db_data, qbo_data) == [], 'db table has some columns that xero doesnt' assert dbconn_table_num_rows(dbconn, 'qbo_extract_classes') == len(qbo.classes.get()), 'row count mismatch' assert len(classes) == 7, 'return value messed up'
def test_expenses(fec): """ Test Extract Expenses :param fec: fyle extract connection :return: None """ dbconn = fec._FyleExtractConnector__dbconn fyle = fec._FyleExtractConnector__connection ids = fec.extract_expenses(extract_custom_fields=False) fyle_data = fyle.Expenses.get_all() db_data = dbconn_table_row_dict(dbconn, 'fyle_extract_expenses') assert dict_compare_keys( db_data, fyle_data[0]) == [], 'db table has some columns that fyle doesnt' assert dbconn_table_num_rows( dbconn, 'fyle_extract_expenses') == len(fyle_data), 'row count mismatch' assert len(ids) == 3, 'return value messed up'
def test_projects(fec): """ Test Extract Projects :param fec: fyle extract connection :return: None """ dbconn = fec._FyleExtractConnector__dbconn fyle = fec._FyleExtractConnector__connection ids = fec.extract_projects() fyle_data = fyle.Projects.get()['data'] db_data = dbconn_table_row_dict(dbconn, 'fyle_extract_projects') assert dict_compare_keys( db_data, fyle_data[0]) == [], 'db table has some columns that fyle doesnt' assert dbconn_table_num_rows( dbconn, 'fyle_extract_projects') == len(fyle_data), 'row count mismatch' assert len(ids) == 4, 'return value messed up'