Ejemplo n.º 1
0
def test_log_levels():
    major, minor = arango_version(arango_client)
    if major == 3 and minor >= 1:

        result = db.log_levels()
        assert isinstance(result, dict)

        with pytest.raises(ServerLogLevelError):
            bad_db.log_levels()
Ejemplo n.º 2
0
def test_execute():
    major, minor = arango_version(arango_client)

    # TODO ArangoDB 3.2 seems to be missing this API endpoint
    if not (major == 3 and minor == 2):
        assert db.execute('return 1') == '1'
        assert db.execute('return "test"') == '"test"'
        with pytest.raises(ServerExecuteError) as err:
            db.execute('return invalid')
        assert 'Internal Server Error' in err.value.message
Ejemplo n.º 3
0
def test_delete_graph():
    # Test delete graph from the last test
    result = db.delete_graph(graph_name)
    assert result is True
    assert graph_name not in db.graphs()

    # Test delete missing graph
    with pytest.raises(GraphDeleteError):
        db.delete_graph(graph_name)

    # Test delete missing graph (ignore_missing)
    result = db.delete_graph(graph_name, ignore_missing=True)
    assert result is False

    major, minor = arango_version(arango_client)

    if major == 3 and minor >= 1:
        # Create a graph with vertex and edge collections and delete them all
        new_graph_name = generate_graph_name()
        graph = db.create_graph(new_graph_name)
        vcol_name_1 = generate_col_name()
        graph.create_vertex_collection(vcol_name_1)
        vcol_name_2 = generate_col_name()
        graph.create_vertex_collection(vcol_name_2)
        ecol_name = generate_col_name()
        graph.create_edge_definition(name=ecol_name,
                                     from_collections=[vcol_name_1],
                                     to_collections=[vcol_name_2])
        collections = set(col['name'] for col in db.collections())
        assert vcol_name_1 in collections
        assert vcol_name_2 in collections
        assert ecol_name in collections

        db.delete_graph(new_graph_name)
        collections = set(col['name'] for col in db.collections())
        assert vcol_name_1 in collections
        assert vcol_name_2 in collections
        assert ecol_name in collections

        graph = db.create_graph(new_graph_name)
        graph.create_edge_definition(name=ecol_name,
                                     from_collections=[vcol_name_1],
                                     to_collections=[vcol_name_2])
        db.delete_graph(new_graph_name, drop_collections=True)
        collections = set(col['name'] for col in db.collections())
        assert vcol_name_1 not in collections
        assert vcol_name_2 not in collections
        assert ecol_name not in collections
Ejemplo n.º 4
0
def test_set_log_levels():
    major, minor = arango_version(arango_client)
    if major == 3 and minor >= 1:

        new_levels = {
            'agency': 'DEBUG',
            'collector': 'INFO',
            'threads': 'WARNING'
        }
        result = arango_client.set_log_levels(**new_levels)

        for key, value in new_levels.items():
            assert result[key] == value

        for key, value in arango_client.log_levels().items():
            assert result[key] == value
Ejemplo n.º 5
0
def test_set_log_levels():
    major, minor = arango_version(arango_client)
    if major == 3 and minor >= 1:

        new_levels = {
            'agency': 'DEBUG',
            'collector': 'INFO',
            'threads': 'WARNING'
        }
        result = db.set_log_levels(**new_levels)

        for key, value in new_levels.items():
            assert result[key] == value

        for key, value in db.log_levels().items():
            assert result[key] == value

        with pytest.raises(ServerLogLevelSetError):
            bad_db.set_log_levels(**new_levels)
Ejemplo n.º 6
0
def test_create_system_collection():
    major, minor = arango_version(arango_client)
    if major == 3 and minor >= 1:

        system_col_name = '_' + col_name_1
        col = db.create_collection(
            name=system_col_name,
            system=True,
        )
        properties = col.properties()
        assert properties['system'] is True
        assert system_col_name in [c['name'] for c in db.collections()]
        assert db.collection(system_col_name).properties()['system'] is True

        with pytest.raises(CollectionDeleteError):
            db.delete_collection(system_col_name)
        assert system_col_name in [c['name'] for c in db.collections()]

        db.delete_collection(system_col_name, system=True)
        assert system_col_name not in [c['name'] for c in db.collections()]
Ejemplo n.º 7
0
def test_log_levels():
    major, minor = arango_version(arango_client)
    if major == 3 and minor >= 1:

        result = arango_client.log_levels()
        assert isinstance(result, dict)