"""Queries for test.""" from flows.distribution_fee import config as flow_config from integration_tests.flows.distribution_fee import config DATABASES = [ ( """ CREATE DATABASE {db_name} """.format(db_name=db_name), """ DROP DATABASE IF EXISTS {db_name} """.format(db_name=db_name)) for db_name in [config.TEST_AR_DB_NAME, config.TEST_DS_DB_NAME]] TABLES_DS = [ ( table_name, ( """ CREATE TABLE {db_name}.{table_name} LIKE film_transparency.{table_name}; """.format(table_name=table_name, db_name=config.TEST_DS_DB_NAME), """ INSERT INTO {db_name}.{table_name} ({cols}) VALUES ({fcols}) """.format( db_name=config.TEST_DS_DB_NAME, table_name=table_name, cols=','.join(table_columns), fcols=','.join(['%({})s'.format(c) for c in table_columns])) if len(table_columns) > 0 else None)) for table_name, table_columns in [ (flow_config.TABLE_DS_REVENUE_THEATRICAL, ( 'id', 'upc', 'display_upc', 'amount', 'date', 'transaction_type_id', 'country_id', 'units', 'orchard_amount', 'client_amount')), (flow_config.TABLE_DS_REVENUE_DIGITAL, ( 'id', 'upc', 'display_upc', 'amount', 'date', 'transaction_type_id', 'country_id', 'units', 'paid', 'format_id', 'client_amount')), (flow_config.TABLE_DS_REVENUE_CABLE, ( 'id', 'upc', 'display_upc', 'amount', 'orchard_amount', 'date', 'transaction_type_id', 'country_id', 'units', 'paid', 'format_id', 'split_id', 'client_amount')), (flow_config.TABLE_ETL_LOG, tuple())]] _ar_db = config.TEST_AR_DB_NAME TABLES_AR = [ # lambdas are to eliminate the need of referencing table name # value multiple times from within each SQL statement lambda table_name=flow_config.TABLE_AR_VENDOR_CONTRACT: ( table_name, ( """ CREATE TABLE {db_name}.{table_name} ( id int(10) unsigned NOT NULL, vendor_id int(11) DEFAULT NULL, digital_split float DEFAULT NULL, PRIMARY KEY (`id`), KEY vendor_id (vendor_id)) """.format(db_name=_ar_db, table_name=table_name), """ INSERT INTO {db_name}.{table_name} (id, vendor_id, digital_split) VALUES (%(id)s, %(vendor_id)s, %(digital_split)s) """.format(db_name=_ar_db, table_name=table_name))), # table to be used by stored procedure lambda table_name='temp_proc_table': ( table_name, ( """ CREATE TABLE {db_name}.{table_name} ( vendor_id int(11), vendor_contract_id int(11)) """.format(db_name=_ar_db, table_name=table_name), """ INSERT INTO {db_name}.{table_name} (vendor_id, vendor_contract_id) VALUE (%(vendor_id)s, %(vendor_contract_id)s) """.format(db_name=_ar_db, table_name=table_name))), lambda proc_name=flow_config.PROC_AR_VENDOR_CONTRACT: ( proc_name, ( """ CREATE PROCEDURE {db_name}.{proc_name}(IN vendorId INT(11)) BEGIN SELECT vendor_contract_id, vendor_id FROM {db_name}.temp_proc_table WHERE vendor_id = vendorId; END""".format( db_name=_ar_db, proc_name=flow_config.PROC_AR_VENDOR_CONTRACT), None)), lambda table_name=flow_config.TABLE_AR_VENDOR_TER_CONTRACT: ( table_name, ( """ CREATE TABLE {db_name}.{table_name} ( vendor_id int(11), country_id smallint(5), vendor_contract_id int(11), territory_split float) """.format(db_name=_ar_db, table_name=table_name), """ INSERT INTO {db_name}.{table_name} (vendor_id, country_id, territory_split, vendor_contract_id) VALUE (%(vendor_id)s, %(country_id)s, %(territory_split)s, %(vendor_contract_id)s) """.format(db_name=_ar_db, table_name=table_name)))] TABLES_AR = [c() for c in TABLES_AR]