def test_trackingoptions(xec): dbconn = xec._XeroExtractConnector__dbconn xero = xec._XeroExtractConnector__xero ids = xec.extract_trackingcategories() xero_data = xero.trackingcategories.all()[0]['Options'][0] db_data = dbconn_table_row_dict(dbconn, 'xero_extract_trackingoptions') assert dict_compare_keys(db_data, xero_data) == ['->TrackingCategoryID'], 'db table has some columns that xero doesnt' assert dbconn_table_num_rows(dbconn, 'xero_extract_trackingoptions') == len(xero.trackingcategories.all()[0]['Options']), 'row count mismatch'
def test_contacts(xec): dbconn = xec._XeroExtractConnector__dbconn xero = xec._XeroExtractConnector__xero ids = xec.extract_contacts() xero_data = xero.contacts.all()[0] db_data = dbconn_table_row_dict(dbconn, 'xero_extract_contacts') assert dict_compare_keys(db_data, xero_data) == [], 'db table has some columns that xero doesnt' assert dbconn_table_num_rows(dbconn, 'xero_extract_contacts') == len(xero.contacts.all()), 'row count mismatch' assert len(ids) == 44, 'return value messed up'
def test_trackingcategories(xec): dbconn = xec._XeroExtractConnector__dbconn xero = xec._XeroExtractConnector__xero ids = xec.extract_trackingcategories() xero_data = xero.trackingcategories.all()[0] db_data = dbconn_table_row_dict(dbconn, 'xero_extract_trackingcategories') assert dict_compare_keys(db_data, xero_data) == [], 'db table has some columns that xero doesnt' assert dbconn_table_num_rows(dbconn, 'xero_extract_trackingcategories') == len(xero.trackingcategories.all()), 'row count mismatch' assert ids == ['fa437cfd-f005-4538-ae84-943857da5c8c'], 'return value messed up'
def test_extract_by_type_name(nsec, type_name): dbconn = nsec._NetSuiteExtractConnector__dbconn ns = nsec._NetSuiteExtractConnector__ns nsec_extract_fn = getattr(nsec, f'extract_{type_name}') ids = nsec_extract_fn() ns_get_all_fn = getattr(getattr(ns, f'{type_name}'), 'get_all') ns_data = ns_get_all_fn() db_data = dbconn_table_row_dict(dbconn, f'ns_extract_{type_name}') assert dict_compare_keys( db_data, ns_data[0]) == [], 'db table has some columns that ns doesnt' assert dbconn_table_num_rows( dbconn, f'ns_extract_{type_name}') == len(ns_data), 'row count mismatch'
def test_xlc_mock_setup(xlc): dbconn = xlc._XeroLoadConnector__dbconn assert dbconn_table_num_rows(dbconn, 'xero_load_invoices') == 2, 'Unclean db' assert dbconn_table_num_rows(dbconn, 'xero_load_invoice_lineitems') == 4, 'Unclean db'
def test_xec_mock_setup(xec): # python magic to access private variable for testing db state dbconn = xec._XeroExtractConnector__dbconn assert dbconn_table_num_rows(dbconn, 'xero_extract_accounts') == 0, 'Unclean db' assert dbconn_table_num_rows(dbconn, 'xero_extract_trackingcategories') == 0, 'Unclean db' assert dbconn_table_num_rows(dbconn, 'xero_extract_contacts') == 0, 'Unclean db'
def test_dbconn_mock_setup(dbconn): with pytest.raises(sqlite3.OperationalError) as e: rows = dbconn_table_num_rows(dbconn, 'xero_extract_accounts')
def test_nslc_mock_setup(nslc): dbconn = nslc._NetSuiteLoadConnector__dbconn assert dbconn_table_num_rows(dbconn, 'ns_load_vendor_bills') == 1, 'Unclean db' assert dbconn_table_num_rows( dbconn, 'ns_load_vendor_bill_expenses') == 2, 'Unclean db'
def test_nsec_mock_setup(nsec): # python magic to access private variable for testing db state dbconn = nsec._NetSuiteExtractConnector__dbconn assert dbconn_table_num_rows(dbconn, 'ns_extract_accounts') == 0, 'Unclean db'