def test_database_delete_by_id(tmpdir):
    file = tmpdir.join("test.db.json")
    file.write(UUID_FIXTURE_STR)
    db = Database().on(file.strpath)
    assert db.deleteById(UUID_FIXTURE["data"][0]["id"])
    assert not bool(len(db.get()))
    fixture = [
        {
            "name": "test",
            "getbyfield": "row1"
        },
        {
            "name": "test works!",
            "getbyfield": "row2"
        },
        {
            "name": "testing, so much fun .. yeah.",
            "getbyfield": "row3"
        },
    ]
    db.addMany(fixture)
    assert len(db.getAll()) == 3
    assert db.deleteById(db.get()[0]["id"])
    assert len(db.getAll()) == 2
    assert db.deleteById(db.get()[0]["id"])
    assert len(db.getAll()) == 1
    assert db.deleteById(db.get()[0]["id"])
    assert not bool(len(db.get()))
    with pytest.raises(IdNotFoundError):
        assert db.deleteById(20)
def test_database_update_by_id(tmpdir):
    file = tmpdir.join("test.db.json")
    file.write(UUID_FIXTURE_STR)
    db = Database().on(file.strpath)
    db.updateById(UUID_FIXTURE["data"][0]["id"], {"name": "test works!"})
    x = db.get()[0]["name"]
    assert db.get()[0]["name"] == "test works!"
예제 #3
0
def test_database_get(tmpdir):
    file = tmpdir.join("test.db.json")
    file.write(EMPTY_FIXTURE_STR)
    db = Database().on(file.strpath)
    fixture = [
        {"name": "test", "getbyfield": "row1"},
        {"name": "test works!", "getbyfield": "row2"},
        {"name": "testing, so much fun .. yeah.", "getbyfield": "row3"},
    ]
    db.addMany(fixture)
    assert len(db.get(1)) == 1
    assert len(db.get(2)) == 2
    assert len(db.get(3)) == 3
def test_database_update(tmpdir):
    file = tmpdir.join("test.db.json")
    file.write(UUID_FIXTURE_STR)
    db = Database().on(file.strpath)
    db.update({"name": "test"}, {"name": "test works!"})
    assert db.get()[0]["name"] == "test works!"
    with pytest.raises(DataNotFoundError):
        db.update({"name": "test"}, {"name": "test works!"})
    with pytest.raises(SchemaError):
        db.update({"naame": "test"}, {"namer": "test works!"})