예제 #1
0
def test_happy_path(docker_url):
    # create client
    client = WOQLClient(docker_url)
    assert not client._connected
    # test connect
    client.connect()
    assert client._connected
    # test create db
    client.create_database("test_happy_path", prefixes={"doc": "foo://"})
    init_commit = client._get_current_commit()
    assert client._db == "test_happy_path"
    assert "test_happy_path" in client.list_databases()
    assert client._context.get("doc") == "foo://"
    assert len(client.get_commit_history()) == 1
    # test adding doctype
    WOQLQuery().doctype("Station").execute(client)
    first_commit = client._get_current_commit()
    assert first_commit != init_commit
    commit_history = client.get_commit_history()
    assert len(commit_history) == 2
    assert len(client.get_commit_history(2)) == 2
    assert len(client.get_commit_history(1)) == 1
    assert len(client.get_commit_history(0)) == 1
    assert commit_history[0]["commit"] == first_commit.split("_")[-1]
    assert commit_history[1]["commit"] == init_commit.split("_")[-1]
    client.delete_database("test_happy_path", "admin")
    assert client._db is None
    assert "test_happy_path" not in client.list_databases()
def test_happy_carzy_path(docker_url):
    # create client
    client = WOQLClient(docker_url)
    assert not client._connected
    # test connect
    client.connect()
    assert client._connected
    # test create db
    client.create_database("test happy path")
    init_commit = client._get_current_commit()
    assert client.db == "test happy path"
    assert "test happy path" in client.list_databases()
    # assert client._context.get("doc") == "foo://"
    assert len(client.get_commit_history()) == 1
    # test adding something
    client.query(WOQLQuery().add_quad("a", "rdf:type", "sys:Class", "schema"))
    first_commit = client._get_current_commit()
    assert first_commit != init_commit
    assert len(client.get_commit_history()) == 1
    client.query(WOQLQuery().add_quad("b", "rdf:type", "sys:Class", "schema"))
    commit_history = client.get_commit_history()
    assert client._get_target_commit(1) == first_commit
    assert len(client.get_commit_history()) == 2
    # test reset
    client.reset(commit_history[-1]["commit"])
    assert client._get_current_commit() == first_commit
    client.create_branch("New Branch")
    client.rebase("New Branch")
    client.delete_database("test happy path", "admin")
    assert client.db is None
    assert "test happy path" not in client.list_databases()
예제 #3
0
def test_csv_handeling(docker_url):
    client = WOQLClient(docker_url)
    assert not client._connected
    # test connect
    client.connect()
    assert client._connected
    # test create db
    client.create_database("test_csv")
    client._get_current_commit()
    assert client._db == "test_csv"
    assert "test_csv" in client.list_databases()
    csv_file_path = _generate_csv()  # create testing csv
    try:
        client.insert_csv(csv_file_path)
        client.get_csv(csv_file_path, csv_output_name="new_" + csv_file_path)
        assert filecmp.cmp(csv_file_path, "new_" + csv_file_path)
    finally:
        _file_clean_up(csv_file_path)
        _file_clean_up("new_" + csv_file_path)
def test_happy_path(docker_url):
    # create client
    client = WOQLClient(docker_url)
    assert not client._connected
    # test connect
    client.connect()
    assert client._connected
    # test create db
    client.create_database("test_happy_path")
    init_commit = client._get_current_commit()
    assert client._db == "test_happy_path"
    assert "test_happy_path" in client.list_databases()
    # test adding doctype
    WOQLQuery().doctype("Station").execute(client)
    assert client._commit_made == 1
    first_commit = client._get_current_commit()
    assert first_commit != init_commit
    # test rollback
    client.rollback()
    assert client._commit_made == 0  # back to squre 1
    assert client._get_current_commit() == init_commit
    # test rollback twice
    WOQLQuery().doctype("Station").execute(client)
    WOQLQuery().doctype("Journey").execute(client)
    assert client._commit_made == 2
    second_commit = client._get_current_commit()
    assert second_commit != init_commit
    client.rollback(2)
    assert client._commit_made == 0  # back to squre 1
    assert client._get_current_commit() == init_commit
    # test rollback too much
    WOQLQuery().doctype("Station").execute(client)
    assert client._commit_made == 1
    with pytest.raises(ValueError):
        client.rollback(2)
    client.delete_database("test_happy_path", "admin")
    assert client._db is None
    assert "test_happy_path" not in client.list_databases()