Exemplo n.º 1
0
def test_type_parsing_large_multi_row():
    rows = sql.query(generate_fake_data_query(15000, 0)).data

    for data in rows:
        check_correct_types(data)

    assert len(rows) == 15000
Exemplo n.º 2
0
def test_result_error_handling_on_ignore(mocker):
    mocker.patch("pymssqlutils.methods._execute", side_effect=pymssql.OperationalError)
    result = sql.query(
        "test query",
        raise_errors=False,
    )
    assert result.ok is False
    assert isinstance(result.error, pymssql.OperationalError)
    with pytest.raises(ValueError):
        result.data
Exemplo n.º 3
0
def test_query(mocker: MockerFixture, monkeypatch):
    monkeypatch.setenv("MSSQL_SERVER", "server")
    mocker.patch("pymssqlutils.databaseresult._cursor_generator", return_value=[])
    conn = mocker.patch("pymssqlutils.methods._get_connection", autospec=True)
    cursor = (
        conn.return_value.__enter__.return_value.cursor.return_value.__enter__.return_value
    )
    result = sql.query("test query")
    assert cursor.execute.call_args_list == [
        (("test query",),),
    ]
    assert isinstance(result, DatabaseResult)
    assert result.data is not None
    assert result.ok
    assert result.fetch
    assert not result.commit
Exemplo n.º 4
0
def test_type_parsing_multi_row_some_null():
    rows = sql.query(generate_fake_data_query(15, 0.5)).data

    for data in rows:
        check_correct_types(data, True)
Exemplo n.º 5
0
def test_type_parsing_multi_row_all_null():
    rows = sql.query(generate_fake_data_query(5, 1)).data

    for data in rows:
        for item in data.values():
            assert item is None
Exemplo n.º 6
0
def test_type_parsing_single_row_all_null():
    data = sql.query(generate_fake_data_query(1, 1)).data[0]

    for item in data.values():
        assert item is None
Exemplo n.º 7
0
def test_type_parsing_multi_row():
    rows = sql.query(generate_fake_data_query(50, 0)).data

    for data in rows:
        check_correct_types(data)
Exemplo n.º 8
0
def test_type_parsing_single_row():
    data = sql.query(generate_fake_data_query(1, 0)).data[0]

    check_correct_types(data)
Exemplo n.º 9
0
def test_can_connect():
    sql.query("SELECT sysdatetimeoffset() now")
Exemplo n.º 10
0
def test_no_return():
    result = sql.query("SELECT TOP 0 'test' Col1")
    assert result.data == []
Exemplo n.º 11
0
def test_result_error_handling_on_raise(mocker):
    mocker.patch("pymssqlutils.methods._execute", side_effect=pymssql.OperationalError)
    with pytest.raises(pymssql.OperationalError):
        sql.query(
            "test query",
        )
Exemplo n.º 12
0
def test_result_error_handling_on_ignore_and_raise(mocker):
    mocker.patch("pymssqlutils.methods._execute", side_effect=pymssql.OperationalError)
    result = sql.query("test query", raise_errors=False)
    with pytest.raises(sql.DatabaseError):
        result.raise_error()