Esempio n. 1
0
def setup_commit_point_tests(tmpdir, mocker):
    (oracle_processor, mock_target_db, mockargv, mock_audit_factory,
     mock_audit_db) = cdc_utils.setup_dependencies(tmpdir, mocker, None, None,
                                                   None)

    at_auditcommitpoint_mock = mocker.patch.object(PostgresCdcApplier,
                                                   'at_auditcommitpoint')
    at_auditcommitpoint_mock.return_value = True

    is_end_of_batch_mock = mocker.patch(
        'data_pipeline.applier.applier._is_end_of_batch')
    is_end_of_batch_mock.return_value = True

    end_batch_mock = mocker.patch.object(PostgresCdcApplier, '_end_batch')
    end_batch_mock.return_value = True

    can_apply_mock = mocker.patch.object(PostgresCdcApplier, '_can_apply')
    can_apply_mock.return_valule = True

    oracle_message = OracleMessage()
    config = {
        'value.return_value': oracle_message.serialise(),
        'offset.return_value': 1
    }
    mock_message = mocker.Mock(**config)

    yield (PostgresCdcApplier(oracle_processor, mock_target_db, mockargv,
                              mock_audit_factory), mock_target_db,
           mock_message, mock_audit_db)
Esempio n. 2
0
def test_default_next_offset_to_read(tmpdir, mocker):
    """Override the default setup because we want to mock out the
    the query result of _get_last_apply_record to return nothing
    """
    (oracle_processor, mock_target_db, mockargv, mock_audit_factory,
     mock_audit_db) = cdc_utils.setup_dependencies(tmpdir, mocker, None, None,
                                                   None)

    def execute_query_se(sql, arraysize, bind_variables):
        print("Query executed: {}".format(sql))
        if "SELECT executor_run_id, executor_status, status" in sql:
            mock_query_results_config = {'fetchone.return_value': None}
            return mocker.Mock(**mock_query_results_config)

        raise Exception("Query '{}' is not supported in mock!".format(sql))

    mock_db_config = {'execute_query.side_effect': execute_query_se}
    mock_db = mocker.Mock(**mock_db_config)

    mock_db_factory = mocker.patch("data_pipeline.audit.factory.db_factory")
    mock_db_factory.build.return_value = mock_db

    postgres_applier = PostgresCdcApplier(oracle_processor, mock_target_db,
                                          mockargv, mock_audit_factory)

    offset = postgres_applier.next_offset_to_read
    assert offset != confluent_kafka.OFFSET_END
    assert offset is None
Esempio n. 3
0
def setup(tmpdir, mocker):
    (oracle_processor, mock_target_db, mockargv, mock_audit_factory,
     mock_audit_db) = cdc_utils.setup_dependencies(tmpdir, mocker, None, None,
                                                   None)

    yield (PostgresCdcApplier(oracle_processor, mock_target_db, mockargv,
                              mock_audit_factory), mock_target_db,
           mock_audit_db)
Esempio n. 4
0
def setup_bulkapply(tmpdir, mocker):
    bulk_apply_config = {'bulkapply': True}
    (oracle_processor, mock_target_db, mockargv, mock_audit_factory,
     mock_audit_db) = cdc_utils.setup_dependencies(tmpdir, mocker, None, None,
                                                   bulk_apply_config)

    yield (PostgresCdcApplier(oracle_processor, mock_target_db, mockargv,
                              mock_audit_factory), mock_target_db,
           mock_audit_db)
Esempio n. 5
0
def setup_skipbatch(tmpdir, mocker):
    skip_batch_config = {'skipbatch': 1}
    (oracle_processor, mock_target_db, mockargv, mock_audit_factory,
     mock_audit_db) = cdc_utils.setup_dependencies(tmpdir, mocker, None, None,
                                                   skip_batch_config)

    yield (PostgresCdcApplier(oracle_processor, mock_target_db, mockargv,
                              mock_audit_factory), mock_target_db,
           mock_audit_db)
Esempio n. 6
0
def setup_inactive_applied_tables(tmpdir, mocker):
    inactive_applied_tables = set()
    inactive_applied_tables.add('ctl.inactive_table')
    (oracle_processor, mock_target_db, mockargv, mock_audit_factory,
     mock_audit_db) = cdc_utils.setup_dependencies(tmpdir, mocker, None,
                                                   inactive_applied_tables,
                                                   None)

    yield (PostgresCdcApplier(oracle_processor, mock_target_db, mockargv,
                              mock_audit_factory), mock_target_db,
           mock_audit_db)
Esempio n. 7
0
def setup_metacols(tmpdir, mocker):
    metacols = {
        'insert_timestamp_column': 'ctl_ins_ts',
        'update_timestamp_column': 'ctl_upd_ts'
    }
    (oracle_processor, mock_target_db, mockargv, mock_audit_factory,
     mock_audit_db) = cdc_utils.setup_dependencies(tmpdir, mocker, metacols,
                                                   None, None)

    yield (PostgresCdcApplier(oracle_processor, mock_target_db, mockargv,
                              mock_audit_factory), mock_target_db,
           mock_audit_db)