Пример #1
0
def _server_helper(dssc: DoltSQLServerContext, request):
    dssc.start_server()

    def finalize():
        if dssc.server:
            dssc.stop_server()

    dssc.verify_connection()
    request.addfinalizer(finalize)
Пример #2
0
def test_context_manager_cleanup(init_empty_test_repo):
    dolt = init_empty_test_repo
    with DoltSQLServerContext(dolt, TEST_SERVER_CONFIG) as _:
        assert _count_proc_helper('running') + _count_proc_helper(
            'sleeping') >= 1

    assert _count_proc_helper('zombie') >= 1
Пример #3
0
def test_log_file(sql_server, tmp_path):
    log_file = tmp_path / "temp_log"
    conf = ServerConfig(user="******",
                        host="localhost",
                        port="3306",
                        log_file=log_file)
    with DoltSQLServerContext(sql_server, conf) as conn:
        assert len(log_file.open().read()) > 0
Пример #4
0
def test_commit_tables(with_test_tables):
    dolt = with_test_tables
    with DoltSQLServerContext(dolt, TEST_SERVER_CONFIG) as dssc:
        dssc.write_rows(TEST_TABLE_ONE, TEST_DATA_INITIAL, commit=False)
        dssc.write_rows(TEST_TABLE_TWO, TEST_DATA_INITIAL, commit=False)
        dssc.commit_tables(COMMIT_MESSAGE, [TEST_TABLE_ONE, TEST_TABLE_TWO], False)

    _, commit = dolt.log().popitem(last=False)
    assert commit.message == COMMIT_MESSAGE
Пример #5
0
def test_read_rows(with_test_table):
    dolt = with_test_table
    with DoltSQLServerContext(dolt, TEST_SERVER_CONFIG) as dssc:
        first_commit = dssc.write_rows(TEST_TABLE,
                                       TEST_DATA_INITIAL,
                                       commit=True)
        second_commit = dssc.write_rows(TEST_TABLE,
                                        TEST_DATA_UPDATE,
                                        commit=True)
        expected_first_write = dssc.read_rows(TEST_TABLE, first_commit)
        compare_rows(TEST_DATA_INITIAL, expected_first_write, 'name')
        expected_second_write = dssc.read_rows(TEST_TABLE, second_commit)
        compare_rows(TEST_DATA_FINAL, expected_second_write, 'name')
Пример #6
0
def test_write_columns(with_test_table):
    dolt = with_test_table
    with DoltSQLServerContext(dolt, TEST_SERVER_CONFIG) as dssc:
        first_commit = dssc.write_columns(TEST_TABLE,
                                          rows_to_columns(TEST_DATA_INITIAL),
                                          primary_key=['id'],
                                          commit=True)
        second_commit = dssc.write_columns(TEST_TABLE,
                                           rows_to_columns(TEST_DATA_UPDATE),
                                           commit=True)
        actual_asof_first_commit = dssc.read_rows(TEST_TABLE, first_commit)
        actual_asof_second_commit = dssc.read_rows(TEST_TABLE, second_commit)
        compare_rows(TEST_DATA_INITIAL, actual_asof_first_commit, 'name')
        compare_rows(actual_asof_second_commit, TEST_DATA_FINAL, 'name')
Пример #7
0
def test_write_file(with_test_table, with_test_data_initial_file,
                    with_test_data_final_file):
    dolt = with_test_table
    test_data_initial_file, test_data_final_file = with_test_data_initial_file, with_test_data_final_file
    with DoltSQLServerContext(dolt, TEST_SERVER_CONFIG) as dssc:
        first_commit = dssc.write_file(TEST_TABLE,
                                       test_data_initial_file,
                                       primary_key=['id'],
                                       commit=True)
        second_commit = dssc.write_file(TEST_TABLE,
                                        test_data_final_file,
                                        commit=True)
        actual_asof_first_commit = dssc.read_rows(TEST_TABLE, first_commit)
        actual_asof_second_commit = dssc.read_rows(TEST_TABLE, second_commit)
        compare_rows(TEST_DATA_INITIAL, actual_asof_first_commit, 'name')
        compare_rows(TEST_DATA_FINAL, actual_asof_second_commit, 'name')
Пример #8
0
from doltpy.cli import Dolt
from doltpy.sql import DoltSQLServerContext, ServerConfig
import sqlalchemy as sa
import os

cur_dir = os.path.dirname(os.path.realpath(__file__))
f = open(cur_dir + "/../../private/.mysql_password", "r")
mysql_password = f.read().strip("\n")

# Setup objects to represents source and target databases, start Dolt SQL Server
dolt = Dolt.clone('durst/csknow')
dssc = DoltSQLServerContext(dolt, ServerConfig())
dssc.start_server()
mysql_engine = sa.create_engine(
    '{dialect}://{user}:{password}@{host}:{port}/{database}'.format(
        dialect='mysql+mysqlconnector',
        user="******",
        password=mysql_password,
        host="localhost",
        port="3124",
        database="csknow"
    )
)

from doltpy.sql.sync import sync_schema_to_dolt, MYSQL_TO_DOLT_TYPE_MAPPING

sync_schema_to_dolt(mysql_engine,
                    dssc.engine,
                    {"players":"players", "rounds":"rounds", "ticks":"ticks", "player_at_tick":"player_at_tick", "spotted":"spotted", "weapon_fire":"weapon_fire", "kills":"kills", "hurt":"hurt", "grenades":"grenades", "flashed":"flashed", "grenade_trajectories":"grenade_trajectories", "plants":"plants", "defusals":"defusals", "explosions":"explosions"},
                    MYSQL_TO_DOLT_TYPE_MAPPINGS)
Пример #9
0
def empty_db_with_server_process(request, init_empty_test_repo, with_db_config) -> DoltSQLServerContext:
    dssc = DoltSQLServerContext(init_empty_test_repo, with_db_config)
    _server_helper(dssc, request)
    return dssc
Пример #10
0
def db_with_table_with_arrays(request, init_empty_test_repo, with_db_config) -> Tuple[DoltSQLServerContext, Table]:
    dssc = DoltSQLServerContext(init_empty_test_repo, with_db_config)
    return _test_table_helper(dssc, request, DOLT_TABLE_WITH_ARRAYS)
Пример #11
0
def db_with_table(request, init_empty_test_repo, with_db_config) -> Tuple[DoltSQLServerContext, Table]:
    dssc = DoltSQLServerContext(init_empty_test_repo, with_db_config)
    return _test_table_helper(dssc, request, TEST_TABLE_METADATA)
Пример #12
0
def empty_db_with_server_process(request,
                                 init_empty_test_repo) -> DoltSQLServerContext:
    dssc = DoltSQLServerContext(init_empty_test_repo, TEST_SERVER_CONFIG)
    _server_helper(dssc, request)
    return dssc
Пример #13
0
def db_with_table_with_arrays(
        request, init_empty_test_repo) -> Tuple[DoltSQLServerContext, Table]:
    dssc = DoltSQLServerContext(init_empty_test_repo, TEST_SERVER_CONFIG)
    return _test_table_helper(dssc, request, DOLT_TABLE_WITH_ARRAYS)
Пример #14
0
def test_show_tables(with_test_tables):
    dolt = with_test_tables
    with DoltSQLServerContext(dolt, TEST_SERVER_CONFIG) as dssc:
        tables = dssc.tables()
        assert TEST_TABLE_ONE in tables and TEST_TABLE_TWO in tables