"""Module for generic helper methods.""" import random import string from abacus_common_logic.connectors.database import db def generate_random_string(length): """Generate a random alphanumeric string.""" return ''.join(random.choices(string.ascii_letters + string.digits, k=length)) def generate_ledger_event( target_id, date='2020-10-31T11:36:10.000000', event_name='commit_royalties', target_type='accounting_period', ): """Generate a body for POST to ows-abacus-event /abacus-event.""" return { 'event_date': date, 'event_name': event_name, 'target_id': target_id, 'target_type': target_type, } def generate_post_ledger_account_body( abacus_event_id, account_id, contract_id, currency_amount='-50.50', currency_code='USD', ): """Generate a body for POST /ledger_account.""" return { 'currency_amount': currency_amount, 'contract_id': contract_id, 'account_id': account_id, 'currency_code': currency_code, 'abacus_event_id': abacus_event_id, 'model_type': 'account', } def create_account(account_id=1): """Insert account data.""" SQL_QUERY = """ INSERT INTO account ( `account_id`, `account_name`, `created_by`, `created_at`, `last_modified_by`, `last_modified` ) VALUES ( {account_id}, 'integration tests', 1, NOW(), 1, NOW() ); """ db.engine.execute(SQL_QUERY.format(account_id=account_id))