Commit 370f395f authored by Jérémie Passerat's avatar Jérémie Passerat

Correction d'une fonction dépréciée (update)

parent 520f210a
......@@ -197,7 +197,7 @@ class ContenuDao:
# @param id_contenu le contenu à ajouter en tiers
# @param version la version dans laquelle le contenu a été pris
def creer_tiers(self, auteur, id_contenu, version):
self.base_donnees.utilisateur.update({"nom": auteur}, {
self.base_donnees.utilisateur.update_one({"nom": auteur}, {
"$push": {
"tiers": [{"contenu": ObjectId(id_contenu)}, {"version": version}]}})
self.incrementer_popularite(id_contenu)
......@@ -211,7 +211,7 @@ class ContenuDao:
## l'auteur 'renie' son contenu, qui reste disponible dans le panier de ceux qui le possédent
# @param auteur l'id du contenu à renier
def dissocier_contenu(self, id_contenu):
self.base_donnees.contenu.update({"_id": ObjectId(id_contenu)}, {"$set": {"auteur": "Aucun"}})
self.base_donnees.contenu.update_one({"_id": ObjectId(id_contenu)}, {"$set": {"auteur": "Aucun"}})
## permet de, soit renier, soit supprimer définitivement un auteur (et le fichier de contenu associé)
# @param id_contenu l'id du contenu à supprimer
......@@ -236,12 +236,12 @@ class ContenuDao:
# on distingue le cas ou une note a été donnée ou non
if note == "-":
self.base_donnees.utilisateur.update({"nom": auteur},
self.base_donnees.utilisateur.update_one({"nom": auteur},
{"$pull": {
"tiers": [{"contenu": ObjectId(id_tiers)}, {"version": version}]}})
else:
self.base_donnees.utilisateur.update({"nom": auteur},
self.base_donnees.utilisateur.update_one({"nom": auteur},
{"$pull": {
"tiers": [{"contenu": ObjectId(id_tiers)}, {"version": version},
{"note": int(note)}]
......@@ -425,25 +425,25 @@ class ContenuDao:
if not refuse:
# on vire le précédent
self.base_donnees.utilisateur.update({"nom": auteur},
self.base_donnees.utilisateur.update_one({"nom": auteur},
{"$pull": {
"tiers": [{"contenu": ObjectId(id_tiers)},
{"version": nouvelle_version - 1}]}})
# et on ajoute la version maj
self.base_donnees.utilisateur.update({"nom": auteur},
self.base_donnees.utilisateur.update_one({"nom": auteur},
{"$push": {
"tiers": [{"contenu": ObjectId(id_tiers)},
{"version": nouvelle_version}]}})
else:
# on vire le précédent
self.base_donnees.utilisateur.update({"nom": auteur},
self.base_donnees.utilisateur.update_one({"nom": auteur},
{"$pull": {
"tiers": [{"contenu": ObjectId(id_tiers)},
{"version": nouvelle_version - 1}]}})
# et on ajoute la version maj
self.base_donnees.utilisateur.update({"nom": auteur},
self.base_donnees.utilisateur.update_one({"nom": auteur},
{"$push": {
"tiers": [{"contenu": ObjectId(id_tiers)},
{"version": str(nouvelle_version - 1) + 'r'}]}})
......@@ -507,7 +507,7 @@ class ContenuDao:
ancien_chemin = self.get_chemin_du_contenu(id_contenu)
# on modifie les tags
self.base_donnees.contenu.update({"_id": ObjectId(id_contenu)}, {"$set": {"tags_fixes": tags}})
self.base_donnees.contenu.update_one({"_id": ObjectId(id_contenu)}, {"$set": {"tags_fixes": tags}})
# et le chemin du fichier
chemin_tags = '/'.join(tags) + "/"
......@@ -546,7 +546,7 @@ class ContenuDao:
# @param id_contenu l'id du contenu associé (potentiellement vide)
def creer_tag_libre(self, auteur, tag):
self.base_donnees.utilisateur.update({"nom": auteur}, {
self.base_donnees.utilisateur.update_one({"nom": auteur}, {
"$push": {
"tags": [{"tag": tag}, {"contenus": []}]}})
......@@ -558,13 +558,13 @@ class ContenuDao:
# on récupère les tags
tags = self.base_donnees.utilisateur.find_one({"nom": auteur})["tags"]
# on "vide" les tags (qu'on réinjectera)
self.base_donnees.utilisateur.update({"nom": auteur}, {"$set": {"tags": []}})
self.base_donnees.utilisateur.update_one({"nom": auteur}, {"$set": {"tags": []}})
for tag in tags:
if tag[0]['tag'] == mon_tag:
tags.remove(tag)
self.base_donnees.utilisateur.update({"nom": auteur}, {"$set": {"tags": tags}})
self.base_donnees.utilisateur.update_one({"nom": auteur}, {"$set": {"tags": tags}})
## Fonction permettant de dissocier un contenu d'un tag libre
# @param auteur l'auteur du nouveau tag
......@@ -574,13 +574,13 @@ class ContenuDao:
# on récupère les tags
tags = self.base_donnees.utilisateur.find_one({"nom": auteur})["tags"]
# on "vide" les tags (qu'on réinjectera)
self.base_donnees.utilisateur.update({"nom": auteur}, {"$set": {"tags": []}})
self.base_donnees.utilisateur.update_one({"nom": auteur}, {"$set": {"tags": []}})
# on parcourt chaque tag et on vire les mentions à id_contenu
for tag in tags:
if tag[0]['tag'] == mon_tag:
tag[1]['contenus'].remove(ObjectId(id_contenu))
self.base_donnees.utilisateur.update({"nom": auteur}, {"$set": {"tags": tags}})
self.base_donnees.utilisateur.update_one({"nom": auteur}, {"$set": {"tags": tags}})
## Fonction permettant d'associer un contenu à un tag libre
# @param auteur l'auteur du nouveau tag
......@@ -590,7 +590,7 @@ class ContenuDao:
# on récupère les tags
tags = self.base_donnees.utilisateur.find_one({"nom": auteur})["tags"]
# on "vide" les tags (qu'on réinjectera)
self.base_donnees.utilisateur.update({"nom": auteur}, {"$set": {"tags": []}})
self.base_donnees.utilisateur.update_one({"nom": auteur}, {"$set": {"tags": []}})
# on parcourt chaque tag et on vire les mentions à id_contenu
for letag in tags:
if letag[0]['tag'] == tag:
......@@ -598,7 +598,7 @@ class ContenuDao:
# print(letag[1]['contenu'], type(letag[1]['contenu']))
# for contenu_associe in letag[1]:
# print(contenu_associe)
self.base_donnees.utilisateur.update({"nom": auteur}, {"$set": {"tags": tags}})
self.base_donnees.utilisateur.update_one({"nom": auteur}, {"$set": {"tags": tags}})
## Fonction permettant de récupérer tous les tags libres d'un auteur
# @param auteur l'auteur du nouveau tag
......@@ -632,13 +632,13 @@ class ContenuDao:
def noterContenuTiers(self, id_contenu, version, auteur, note):
# on vire le précédent
self.base_donnees.utilisateur.update({"nom": auteur},
self.base_donnees.utilisateur.update_one({"nom": auteur},
{"$pull": {
"tiers": [{"contenu": ObjectId(id_contenu)},
{"version": version}]}})
# et on ajoute la version maj
self.base_donnees.utilisateur.update({"nom": auteur},
self.base_donnees.utilisateur.update_one({"nom": auteur},
{"$push": {
"tiers": [{"contenu": ObjectId(id_contenu)},
{"version": version},
......@@ -685,10 +685,10 @@ class ContenuDao:
def modifierMoyenneContenu(self, id_contenu, version, note):
if version == self.get_version_courante(id_contenu):
versionEnCours = self.base_donnees.contenu.find_one({"_id": ObjectId(id_contenu)})["versionEnCours"]
self.base_donnees.contenu.update({"_id": ObjectId(id_contenu)}, {"$set": {"versionEnCours": []}})
self.base_donnees.contenu.update_one({"_id": ObjectId(id_contenu)}, {"$set": {"versionEnCours": []}})
versionEnCours['note'] = versionEnCours['note'] + note
versionEnCours['nbreNotes'] = versionEnCours['nbreNotes'] + 1
self.base_donnees.contenu.update({"_id": ObjectId(id_contenu)},
self.base_donnees.contenu.update_one({"_id": ObjectId(id_contenu)},
{"$set": {"versionEnCours": versionEnCours}})
return json.dumps([versionEnCours['note'], versionEnCours['nbreNotes']])
......@@ -697,10 +697,10 @@ class ContenuDao:
else:
print("Non, là")
contenus = self.base_donnees.contenu.find_one({"_id": ObjectId(id_contenu)})["historique"]
self.base_donnees.contenu.update({"_id": ObjectId(id_contenu)}, {"$set": {"historique": []}})
self.base_donnees.contenu.update_one({"_id": ObjectId(id_contenu)}, {"$set": {"historique": []}})
for cont in contenus:
if cont['numero'] == version:
cont['note'] = cont['note'] + note
cont['nbreNotes'] = cont['nbreNotes'] + 1
self.base_donnees.contenu.update({"_id": ObjectId(id_contenu)}, {"$set": {"historique": contenus}})
self.base_donnees.contenu.update_one({"_id": ObjectId(id_contenu)}, {"$set": {"historique": contenus}})
return json.dumps([cont['note'], cont['nbreNotes']])
This diff is collapsed.
#
# from testUtils import *
#
#
# def supprimer_les_contenus(client, id, id_en_cours):
# # suppression du contenu en_cours
#
# rv = client.delete("/en_cours/supprimerEnCoursParId/" + json.dumps(id_en_cours), headers=get_headers(client))
# assert rv.status_code == 200
#
# # suppression du contenu "intial"
# rv = client.delete("/contenus/deletePerso/" + json.dumps(id), headers=get_headers(client))
# assert rv.status_code == 200
#
#
# def test_en_cours(client):
# # on récupère l'id du contenu en cours créé
# # Dans un premier temps, créer un contenu
# login = creerUtilisateurRandom(client)
# id = creerContenuRandom(client, login)
#
#
# data = {"auteur": login, "id_contenu": json.dumps(id), "provenance": "perso", "version": 1}
# # création d'un contenu en_cours
# rv = client.post("/en_cours/newEnCours", json=data, headers=get_headers(client))
# assert rv.status_code == 201
#
# id_en_cours = json.loads(rv.data)["_id"]
#
# # récupération du texte (avant modif)
# rv = client.get("/en_cours/getTexteContenuEnCours/" + json.dumps(id_en_cours), headers=get_headers(client))
# assert rv.status_code == 200
# assert "Texte du contenu" == json.loads(rv.data)
#
# # modification du texte du contenu en cours
# data = {"nouveau_texte": "Nouveau Texte du contenu", "nouveau_titre": "nouveauTitreContenu"}
# rv = client.patch("/contenus/changerTexte/" + json.dumps(id_en_cours), json=data, headers=get_headers(client))
# assert rv.status_code == 200
#
# # récupération du texte (après modif)
# rv = client.get("/en_cours/getTexteContenuEnCours/" + json.dumps(id_en_cours), headers=get_headers(client))
# assert rv.status_code == 200
# assert "Nouveau Texte du contenu" == json.loads(rv.data)
#
# supprimer_les_contenus(client, id, id_en_cours)
# supprimerUtilisateur(client, login)
#
#
# def test_en_cours_provenance_tiers(client):
#
# login = creerUtilisateurRandom(client)
# id = creerContenuRandom(client, login)
#
#
# loginDeux = creerUtilisateurRandom(client)
# # création d'un tiers
# data = {"id_tiers": json.dumps(id), "auteur": loginDeux, "version": 1}
# rv = client.patch("/contenus/ajouterTiers", json=data, headers=get_headers(client))
# assert rv.status_code == 201
#
# # création d'un en_cours
# data = {"auteur": loginDeux, "id_contenu": json.dumps(id), "provenance": "tiers", "version": 1}
# # création d'un contenu en_cours
# rv = client.post("/en_cours/newEnCours", json=data, headers=get_headers(client))
# assert rv.status_code == 201
#
# id_en_cours = json.loads(rv.data)["_id"]
#
# supprimer_les_contenus(client, id, id_en_cours)
# rv = client.delete("/contenus/deleteTiers?id_tiers=" + json.dumps(id) + "&auteur=" + loginDeux + "&note=-",
# headers=get_headers(client))
# assert rv.status_code == 200
#
# supprimerUtilisateur(client, login)
# supprimerUtilisateur(client, loginDeux)
#
#
# def test_en_cours_directement_valide(client):
# # on récupère l'id du contenu en cours créé
# # Dans un premier temps, créer un contenu
# login = creerUtilisateurRandom(client)
# id = creerContenuRandom(client, login)
#
#
# data = {"auteur": login, "id_contenu": json.dumps(id), "provenance": "perso", "version": 1}
# # création d'un contenu en_cours
# rv = client.post("/en_cours/newEnCours", json=data, headers=get_headers(client))
# assert rv.status_code == 201
#
# id_en_cours = json.loads(rv.data)["_id"]
#
# # modification du texte du contenu en cours
# data = {"nouveau_texte": "Nouveau Texte du contenu", "nouveau_titre": "nouveauTitreContenu"}
# rv = client.patch("/contenus/changerTexte/" + json.dumps(id_en_cours), json=data, headers=get_headers(client))
# assert rv.status_code == 200
#
# data = {"auteur": "", "id_contenu_en_cours": json.dumps(id_en_cours)}
# rv = client.patch("/contenus/majContenu", json=data, headers=get_headers(client))
# assert rv.status_code == 200
#
# # test du texte sur le contenu d'id 'id'
# rv = client.get("/contenus/getTexteContenu/" + json.dumps(id), headers=get_headers(client))
# assert rv.status_code == 200
# assert "Nouveau Texte du contenu" == json.loads(rv.data)
#
#
# # suppression du contenu "intial"
# rv = client.delete("/contenus/deletePerso/" + json.dumps(id), headers=get_headers(client))
# assert rv.status_code == 200
#
# supprimerUtilisateur(client, login)
#
from testUtils import *
def supprimer_les_contenus(client, id, id_en_cours):
# suppression du contenu en_cours
rv = client.delete("/en_cours/supprimerEnCoursParId/" + json.dumps(id_en_cours), headers=get_headers(client))
assert rv.status_code == 200
# suppression du contenu "intial"
rv = client.delete("/contenus/deletePerso/" + json.dumps(id), headers=get_headers(client))
assert rv.status_code == 200
def test_en_cours(client):
# on récupère l'id du contenu en cours créé
# Dans un premier temps, créer un contenu
login = creerUtilisateurRandom(client)
id = creerContenuRandom(client, login)
data = {"auteur": login, "id_contenu": json.dumps(id), "provenance": "perso", "version": 1}
# création d'un contenu en_cours
rv = client.post("/en_cours/newEnCours", json=data, headers=get_headers(client))
assert rv.status_code == 201
id_en_cours = json.loads(rv.data)["_id"]
# récupération du texte (avant modif)
rv = client.get("/en_cours/getTexteContenuEnCours/" + json.dumps(id_en_cours), headers=get_headers(client))
assert rv.status_code == 200
assert "Texte du contenu" == json.loads(rv.data)
# modification du texte du contenu en cours
data = {"nouveau_texte": "Nouveau Texte du contenu", "nouveau_titre": "nouveauTitreContenu"}
rv = client.patch("/contenus/changerTexte/" + json.dumps(id_en_cours), json=data, headers=get_headers(client))
assert rv.status_code == 200
# récupération du texte (après modif)
rv = client.get("/en_cours/getTexteContenuEnCours/" + json.dumps(id_en_cours), headers=get_headers(client))
assert rv.status_code == 200
assert "Nouveau Texte du contenu" == json.loads(rv.data)
supprimer_les_contenus(client, id, id_en_cours)
supprimerUtilisateur(client, login)
def test_en_cours_provenance_tiers(client):
login = creerUtilisateurRandom(client)
id = creerContenuRandom(client, login)
loginDeux = creerUtilisateurRandom(client)
# création d'un tiers
data = {"id_tiers": json.dumps(id), "auteur": loginDeux, "version": 1}
rv = client.patch("/contenus/ajouterTiers", json=data, headers=get_headers(client))
assert rv.status_code == 201
# création d'un en_cours
data = {"auteur": loginDeux, "id_contenu": json.dumps(id), "provenance": "tiers", "version": 1}
# création d'un contenu en_cours
rv = client.post("/en_cours/newEnCours", json=data, headers=get_headers(client))
assert rv.status_code == 201
id_en_cours = json.loads(rv.data)["_id"]
supprimer_les_contenus(client, id, id_en_cours)
rv = client.delete("/contenus/deleteTiers?id_tiers=" + json.dumps(id) + "&auteur=" + loginDeux + "&note=-",
headers=get_headers(client))
assert rv.status_code == 200
supprimerUtilisateur(client, login)
supprimerUtilisateur(client, loginDeux)
def test_en_cours_directement_valide(client):
# on récupère l'id du contenu en cours créé
# Dans un premier temps, créer un contenu
login = creerUtilisateurRandom(client)
id = creerContenuRandom(client, login)
data = {"auteur": login, "id_contenu": json.dumps(id), "provenance": "perso", "version": 1}
# création d'un contenu en_cours
rv = client.post("/en_cours/newEnCours", json=data, headers=get_headers(client))
assert rv.status_code == 201
id_en_cours = json.loads(rv.data)["_id"]
# modification du texte du contenu en cours
data = {"nouveau_texte": "Nouveau Texte du contenu", "nouveau_titre": "nouveauTitreContenu"}
rv = client.patch("/contenus/changerTexte/" + json.dumps(id_en_cours), json=data, headers=get_headers(client))
assert rv.status_code == 200
data = {"auteur": "", "id_contenu_en_cours": json.dumps(id_en_cours)}
rv = client.patch("/contenus/majContenu", json=data, headers=get_headers(client))
assert rv.status_code == 200
# test du texte sur le contenu d'id 'id'
rv = client.get("/contenus/getTexteContenu/" + json.dumps(id), headers=get_headers(client))
assert rv.status_code == 200
assert "Nouveau Texte du contenu" == json.loads(rv.data)
# suppression du contenu "intial"
rv = client.delete("/contenus/deletePerso/" + json.dumps(id), headers=get_headers(client))
assert rv.status_code == 200
supprimerUtilisateur(client, login)
# from testUtils import *
#
#
# def test_new_user(client):
# login = genererRandom()
# data = {"login": login}
# rv = client.post("/utilisateurs/newUser", json=data)
# assert rv.status_code == 201
# rv = client.post("/utilisateurs/newUser", json=data)
# assert rv.status_code == 409
# rv = client.delete('/utilisateurs/supprimerUser/' + login, headers=get_headers(client))
# assert rv.status_code == 200
#
#
# def test_getAllUsers(client):
# rv = client.get('/utilisateurs/auteursExistants', headers=get_headers(client))
# assert rv.status_code == 200
#
#
# def test_isUserExistant(client):
# login = creerUtilisateurRandom(client)
# response = client.get("/utilisateurs/checkUser?login=" + login)
# assert 200 == response.status_code
# response = client.get("/utilisateurs/checkUser?login=" + genererRandom())
# assert 400 == response.status_code
# client.delete('/utilisateurs/supprimerUser/' + login, headers=get_headers(client))
#
#
# def test_change_password(client):
# pass
from testUtils import *
def test_new_user(client):
login = genererRandom()
data = {"login": login}
rv = client.post("/utilisateurs/newUser", json=data)
assert rv.status_code == 201
rv = client.post("/utilisateurs/newUser", json=data)
assert rv.status_code == 409
rv = client.delete('/utilisateurs/supprimerUser/' + login, headers=get_headers(client))
assert rv.status_code == 200
def test_getAllUsers(client):
rv = client.get('/utilisateurs/auteursExistants', headers=get_headers(client))
assert rv.status_code == 200
def test_isUserExistant(client):
login = creerUtilisateurRandom(client)
response = client.get("/utilisateurs/checkUser?login=" + login)
assert 200 == response.status_code
response = client.get("/utilisateurs/checkUser?login=" + genererRandom())
assert 400 == response.status_code
client.delete('/utilisateurs/supprimerUser/' + login, headers=get_headers(client))
def test_change_password(client):
pass
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment