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_add_many(tmpdir): file = tmpdir.join("test.db.json") file.write(EMPTY_FIXTURE_STR) db = Database().on(file.strpath) db.addMany([{"name": "test"}, {"name": "test2"}]) data = db.getAll() assert len(data) == 2 for d in data: assert uuid.UUID(d["id"])
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_get_by(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.getAll()) == 3 assert db.getBy({"getbyfield": "row1"})[0]["name"] == fixture[0]["name"] assert db.getBy({"getbyfield": "row2"})[0]["name"] == fixture[1]["name"] assert db.getBy({"getbyfield": "row3"})[0]["name"] == fixture[2]["name"]