Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OpenQuizz
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
10
Issues
10
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Weber Rodolphe
OpenQuizz
Commits
74a34fc7
Commit
74a34fc7
authored
Aug 27, 2021
by
Jérémie Passerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Tests note ok
parent
f2868d89
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
273 additions
and
168 deletions
+273
-168
app.py
app.py
+12
-0
contenu_dao.py
modele/contenu_dao.py
+24
-0
test_flask_contenu.py
tests/test_flask_contenu.py
+73
-4
test_flask_demande_publication.py
tests/test_flask_demande_publication.py
+164
-164
No files found.
app.py
View file @
74a34fc7
...
@@ -604,6 +604,7 @@ class noter_contenu(Resource):
...
@@ -604,6 +604,7 @@ class noter_contenu(Resource):
@
contenus
.
doc
(
params
=
{
'id_contenu'
:
"l'id du contenu déja noté"
})
@
contenus
.
doc
(
params
=
{
'id_contenu'
:
"l'id du contenu déja noté"
})
@
contenus
.
doc
(
params
=
{
'version'
:
"la version du contenu concernée par la note "
})
@
contenus
.
doc
(
params
=
{
'version'
:
"la version du contenu concernée par la note "
})
@
contenus
.
doc
(
params
=
{
'auteur'
:
"l'auteur de la note"
})
@
contenus
.
doc
(
params
=
{
'auteur'
:
"l'auteur de la note"
})
@
contenus
.
doc
(
description
=
"recuperer la note donnée par un auteur à un contenu"
)
class
RecupererNoteDonneAUnContenu
(
Resource
):
class
RecupererNoteDonneAUnContenu
(
Resource
):
@
contenus
.
response
(
200
,
"note du contenu"
)
@
contenus
.
response
(
200
,
"note du contenu"
)
@
jwt_required
()
@
jwt_required
()
...
@@ -612,6 +613,17 @@ class RecupererNoteDonneAUnContenu(Resource):
...
@@ -612,6 +613,17 @@ class RecupererNoteDonneAUnContenu(Resource):
return
str
(
ContenuDao
()
.
recupererNoteContenu
(
id_contenu
[
"$oid"
],
request
.
args
.
get
(
"version"
),
return
str
(
ContenuDao
()
.
recupererNoteContenu
(
id_contenu
[
"$oid"
],
request
.
args
.
get
(
"version"
),
request
.
args
.
get
(
"auteur"
))),
200
request
.
args
.
get
(
"auteur"
))),
200
@
contenus
.
route
(
"/recupererNoteGlobale"
)
@
contenus
.
doc
(
params
=
{
'id_contenu'
:
"l'id du contenu "
})
@
contenus
.
doc
(
params
=
{
'version'
:
"la version du contenu concernée par la note "
})
@
contenus
.
doc
(
description
=
"recuperer la note globale d'un contenu (dans une version donnée"
)
class
RecupererNoteDonneAUnContenu
(
Resource
):
@
contenus
.
response
(
200
,
"note du contenu"
)
@
jwt_required
()
def
get
(
self
):
id_contenu
=
json
.
loads
(
request
.
args
.
get
(
"id_contenu"
))
return
str
(
ContenuDao
()
.
recupererNoteGlobaleContenu
(
id_contenu
[
"$oid"
],
request
.
args
.
get
(
"version"
))),
200
## récupérer le texte de la version en cours du contenu
## récupérer le texte de la version en cours du contenu
@
contenus
.
route
(
"/getTexteContenu/<id_json>"
)
@
contenus
.
route
(
"/getTexteContenu/<id_json>"
)
...
...
modele/contenu_dao.py
View file @
74a34fc7
...
@@ -218,6 +218,8 @@ class ContenuDao:
...
@@ -218,6 +218,8 @@ class ContenuDao:
def
supprimer_contenu
(
self
,
id_contenu
):
def
supprimer_contenu
(
self
,
id_contenu
):
import
shutil
import
shutil
if
self
.
existe_en_tiers
(
id_contenu
)
!=
0
:
if
self
.
existe_en_tiers
(
id_contenu
)
!=
0
:
self
.
dissocier_contenu
(
id_contenu
)
self
.
dissocier_contenu
(
id_contenu
)
...
@@ -234,11 +236,13 @@ class ContenuDao:
...
@@ -234,11 +236,13 @@ class ContenuDao:
# @param la note associee au contenu
# @param la note associee au contenu
def
supprimer_tiers
(
self
,
id_tiers
,
auteur
,
version
,
note
):
def
supprimer_tiers
(
self
,
id_tiers
,
auteur
,
version
,
note
):
# on distingue le cas ou une note a été donnée ou non
# on distingue le cas ou une note a été donnée ou non
if
note
==
"-"
:
if
note
==
"-"
:
self
.
base_donnees
.
utilisateur
.
update
({
"nom"
:
auteur
},
self
.
base_donnees
.
utilisateur
.
update
({
"nom"
:
auteur
},
{
"$pull"
:
{
{
"$pull"
:
{
"tiers"
:
[{
"contenu"
:
ObjectId
(
id_tiers
)},
{
"version"
:
version
}]}})
"tiers"
:
[{
"contenu"
:
ObjectId
(
id_tiers
)},
{
"version"
:
version
}]}})
else
:
else
:
self
.
base_donnees
.
utilisateur
.
update
({
"nom"
:
auteur
},
self
.
base_donnees
.
utilisateur
.
update
({
"nom"
:
auteur
},
{
"$pull"
:
{
{
"$pull"
:
{
...
@@ -630,12 +634,32 @@ class ContenuDao:
...
@@ -630,12 +634,32 @@ class ContenuDao:
# @param version la version du contenu notée
# @param version la version du contenu notée
# @param auteur l'auteur qui met la note
# @param auteur l'auteur qui met la note
def
recupererNoteContenu
(
self
,
id_contenu
,
version
,
auteur
):
def
recupererNoteContenu
(
self
,
id_contenu
,
version
,
auteur
):
if
type
(
id_contenu
)
==
str
:
id_contenu
=
ObjectId
(
id_contenu
)
if
type
(
version
)
==
str
:
version
=
int
(
version
)
contenus_tiers
=
self
.
base_donnees
.
utilisateur
.
find_one
({
"nom"
:
auteur
})[
"tiers"
]
contenus_tiers
=
self
.
base_donnees
.
utilisateur
.
find_one
({
"nom"
:
auteur
})[
"tiers"
]
for
contenu
in
contenus_tiers
:
for
contenu
in
contenus_tiers
:
if
len
(
contenu
)
==
3
and
contenu
[
0
][
"contenu"
]
==
id_contenu
and
contenu
[
1
][
"version"
]
==
version
:
if
len
(
contenu
)
==
3
and
contenu
[
0
][
"contenu"
]
==
id_contenu
and
contenu
[
1
][
"version"
]
==
version
:
return
json
.
dumps
(
contenu
[
2
][
"note"
])
return
json
.
dumps
(
contenu
[
2
][
"note"
])
return
'-'
return
'-'
## Fonction permettant de récupérer une note globale pour une version d'un contenu
# @param id_contenu l'id du contenu concerné
# @param version la version du contenu notée
def
recupererNoteGlobaleContenu
(
self
,
id_contenu
,
version
):
if
int
(
version
)
==
self
.
get_version_courante
(
id_contenu
):
return
self
.
base_donnees
.
contenu
.
find_one
({
"_id"
:
ObjectId
(
id_contenu
)})[
"versionEnCours"
][
"note"
]
\
/
self
.
base_donnees
.
contenu
.
find_one
({
"_id"
:
ObjectId
(
id_contenu
)})[
"versionEnCours"
][
"nbreNotes"
]
else
:
historique
=
self
.
base_donnees
.
contenu
.
find_one
({
"_id"
:
ObjectId
(
id_contenu
)})[
"historique"
]
return
"popapopapa"
## Fonction permettant de changer la moyenne d'une version d'un contenu à l'insertion d'une nouvelle note
## Fonction permettant de changer la moyenne d'une version d'un contenu à l'insertion d'une nouvelle note
# @param id_contenu l'id du contenu concerné
# @param id_contenu l'id du contenu concerné
# @param version la version du contenu notée
# @param version la version du contenu notée
...
...
tests/test_flask_contenu.py
View file @
74a34fc7
# from testUtils import *
from
testUtils
import
*
#
#
#
# def test_contenu(client):
# def test_contenu(client):
# login = creerUtilisateurRandom(client)
# login = creerUtilisateurRandom(client)
# id = creerContenuRandom(client, login)
# id = creerContenuRandom(client, login)
#
#
#
# # get contenu par id
# # get contenu par id
# rv = client.get("/contenus/getContenu/" + json.dumps(id), headers=get_headers(client))
# rv = client.get("/contenus/getContenu/" + json.dumps(id), headers=get_headers(client))
# assert rv.status_code == 200
# assert rv.status_code == 200
...
@@ -61,7 +61,6 @@
...
@@ -61,7 +61,6 @@
# # on lui assigne un contenu
# # on lui assigne un contenu
# id = creerContenuRandom(client, login)
# id = creerContenuRandom(client, login)
#
#
#
# # on créée un second utilisateur quelconque et on lui donne le contenu ci dessus dans ses tiers
# # on créée un second utilisateur quelconque et on lui donne le contenu ci dessus dans ses tiers
# loginDeux = creerUtilisateurRandom(client)
# loginDeux = creerUtilisateurRandom(client)
# data = {"id_tiers": json.dumps(id), "auteur": loginDeux, "version": 1}
# data = {"id_tiers": json.dumps(id), "auteur": loginDeux, "version": 1}
...
@@ -118,3 +117,73 @@
...
@@ -118,3 +117,73 @@
# supprimerUtilisateur(client, login)
# supprimerUtilisateur(client, login)
# supprimerUtilisateur(client, loginDeux)
# supprimerUtilisateur(client, loginDeux)
# supprimerUtilisateur(client, loginTrois)
# supprimerUtilisateur(client, loginTrois)
def
test_notation_contenu
(
client
):
# on créée un utilisateur quelconque
login
=
creerUtilisateurRandom
(
client
)
# on lui assigne un contenu
id
=
creerContenuRandom
(
client
,
login
)
# on créée un second utilisateur quelconque et on lui donne le contenu ci dessus dans ses tiers
loginDeux
=
creerUtilisateurRandom
(
client
)
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
# login2 note le contenu
data
=
{
"auteur"
:
loginDeux
,
"id_contenu"
:
json
.
dumps
(
id
),
"version"
:
1
,
"note"
:
4
}
rv
=
client
.
patch
(
"/contenus/noterContenu"
,
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
# pour essai, on récupère la note juste mise
rv
=
client
.
get
(
"/contenus/recupererNote?id_contenu="
+
json
.
dumps
(
id
)
+
"&version=1&auteur="
+
loginDeux
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
# la note ressort en caracteres et non en entier
assert
json
.
loads
(
rv
.
data
)
==
'4'
# on teste la note globale du contenu
rv
=
client
.
get
(
"/contenus/recupererNoteGlobale?id_contenu="
+
json
.
dumps
(
id
)
+
"&version=1"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
print
(
"popapopapa : "
,
json
.
loads
(
rv
.
data
))
assert
json
.
loads
(
rv
.
data
)
==
'4.0'
# un troisieme utilisateur note
# login2 note le contenu
loginTrois
=
creerUtilisateurRandom
(
client
)
data
=
{
"auteur"
:
loginTrois
,
"id_contenu"
:
json
.
dumps
(
id
),
"version"
:
1
,
"note"
:
3
}
rv
=
client
.
patch
(
"/contenus/noterContenu"
,
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
# pour essai, on récupère la note juste mise
rv
=
client
.
get
(
"/contenus/recupererNote?id_contenu="
+
json
.
dumps
(
id
)
+
"&version=1&auteur="
+
loginTrois
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
# la note ressort en caracteres et non en entier
assert
json
.
loads
(
rv
.
data
)
==
'3'
# on teste la note globale du contenu
rv
=
client
.
get
(
"/contenus/recupererNoteGlobale?id_contenu="
+
json
.
dumps
(
id
)
+
"&version=1"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
print
(
"popapopapa : "
,
json
.
loads
(
rv
.
data
))
assert
json
.
loads
(
rv
.
data
)
==
'3.5'
# on supprime le tiers & le contenu
rv
=
client
.
delete
(
"/contenus/deleteTiers?id_tiers="
+
json
.
dumps
(
id
)
+
"&auteur="
+
loginDeux
+
"¬e=4"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
# on supprime le tiers & le contenu
rv
=
client
.
delete
(
"/contenus/deleteTiers?id_tiers="
+
json
.
dumps
(
id
)
+
"&auteur="
+
loginTrois
+
"¬e=3"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
rv
=
client
.
delete
(
"/contenus/deletePerso/"
+
json
.
dumps
(
id
),
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
# et les trois utilisateurs
supprimerUtilisateur
(
client
,
login
)
supprimerUtilisateur
(
client
,
loginDeux
)
supprimerUtilisateur
(
client
,
loginTrois
)
tests/test_flask_demande_publication.py
View file @
74a34fc7
from
testUtils
import
*
# from testUtils import *
from
test_flask_en_cours
import
*
# from test_flask_en_cours import *
#
#
# def test_creer_demande_publication_acceptee(client):
# # def test_creer_demande_publication_acceptee(client):
# # # 1. login créée un contenu
# # login = creerUtilisateurRandom(client)
# # id = creerContenuRandom(client, login)
# #
# # # 2. login2 le met dans ses tiers
# # loginDeux = creerUtilisateurRandom(client)
# # 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
# #
# # # 3. login2 modifie son contenu tiers
# # data = {"auteur": loginDeux, "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"]
# #
# # # 3. et y ajoute un nouveau titre
# # data = {"titre": "nouveauTitreContenu", "id_contenu_en_cours": json.dumps(id_en_cours)}
# # rv = client.patch("/en_cours/changerTitre", json=data, headers=get_headers(client))
# # assert rv.status_code == 201
# #
# # # loginDeux fait une demande de publication sur le contenu en cours qui vient d'être créé
# # data = {"id_contenu": json.dumps(id), "id_contenu_en_cours": json.dumps(id_en_cours), "auteur_en_cours": loginDeux,
# # "version": 1}
# # rv = client.post("/demande_pub/demandePublication", json=data, headers=get_headers(client))
# # assert rv.status_code == 201
# # id_publication = json.loads(rv.data)["_id"]
# #
# # # On controle les demandes de publication recues de login
# # rv = client.get("/demande_pub/demandePublication/" + login + "/False", headers=get_headers(client))
# # assert rv.status_code == 200
# # assert len(json.loads(rv.data)) == 1
# #
# # # On contrôle les demandes de publication proposées de loginDeux
# # rv = client.get("/demande_pub/demandePublication/" + loginDeux + "/True", headers=get_headers(client))
# # assert rv.status_code == 200
# # assert len(json.loads(rv.data)) == 1
# #
# # # Charles accepte la demande de publication
# # data = {"id_publication": json.dumps(id_publication), "reponse": 'o', "auteur": loginDeux}
# # rv = client.patch("/contenus/gererDemandePub", json=data, headers=get_headers(client))
# # assert rv.status_code == 200
# #
# # # On supprime le tiers chez LoginDeux
# # rv = client.delete("/contenus/deleteTiers?id_tiers=" + json.dumps(id) + "&auteur=" + loginDeux + "¬e=-",
# # headers=get_headers(client))
# # assert rv.status_code == 200
# #
# # supprimer_demande_publication(client, id, id_publication)
# # supprimerUtilisateur(client, login)
# # supprimerUtilisateur(client, loginDeux)
#
#
# def test_creer_demande_publication_refusee_creation_en_cours_refuse(client):
# # 1. login créée un contenu
# # 1. login créée un contenu
# login = creerUtilisateurRandom(client)
# login = creerUtilisateurRandom(client)
# id = creerContenuRandom(client, login)
# id = creerContenuRandom(client, login)
#
#
# print("id test_creer_demande_publication_refusee_creation_en_cours_refuse : ", id)
#
# # 2. login2 le met dans ses tiers
# # 2. login2 le met dans ses tiers
# loginDeux = creerUtilisateurRandom(client)
# loginDeux = creerUtilisateurRandom(client)
# data = {"id_tiers": json.dumps(id), "auteur": loginDeux, "version": 1}
# data = {"id_tiers": json.dumps(id), "auteur": loginDeux, "version": 1}
...
@@ -42,173 +99,116 @@ from test_flask_en_cours import *
...
@@ -42,173 +99,116 @@ from test_flask_en_cours import *
# assert rv.status_code == 200
# assert rv.status_code == 200
# assert len(json.loads(rv.data)) == 1
# assert len(json.loads(rv.data)) == 1
#
#
# # Charles
accept
e la demande de publication
# # Charles
refus
e la demande de publication
# data = {"id_publication": json.dumps(id_publication), "reponse": '
o', "auteur": loginDeux
}
# data = {"id_publication": json.dumps(id_publication), "reponse": '
n', "auteur": login
}
# rv = client.patch("/contenus/gererDemandePub", json=data, headers=get_headers(client))
# rv = client.patch("/contenus/gererDemandePub", json=data, headers=get_headers(client))
# assert rv.status_code == 200
# assert rv.status_code == 200
#
#
# # Jacques créée un en-cours refuse
# data = {"id_contenu_en_cours": json.dumps(id_en_cours)}
# rv = client.patch("/en_cours/newEnCoursRefuse", json=data, headers=get_headers(client))
# assert rv.status_code == 201
#
# rv = client.delete("/en_cours/supprimerEnCoursParId/" + json.dumps(id_en_cours), headers=get_headers(client))
# assert rv.status_code == 200
#
# # On supprime le tiers chez LoginDeux
# # On supprime le tiers chez LoginDeux
# rv = client.delete("/contenus/deleteTiers?id_tiers=" + json.dumps(id) + "&auteur=" + loginDeux + "¬e=-",
# rv = client.delete("/contenus/deleteTiers?id_tiers=" + json.dumps(id) + "&auteur=" + loginDeux + "¬e=-",
# headers=get_headers(client))
# headers=get_headers(client))
# assert rv.status_code == 200
# assert rv.status_code == 200
#
#
# supprimer_demande_publication(client, id, id_publication)
# supprimer_demande_publication(client, id, id_publication)
#
# supprimerUtilisateur(client, login)
# supprimerUtilisateur(client, login)
# supprimerUtilisateur(client, loginDeux)
# supprimerUtilisateur(client, loginDeux)
#
#
def
test_creer_demande_publication_refusee_creation_en_cours_refuse
(
client
):
# def test_creer_demande_publication_refusee_creation_nouveau_contenu(client):
# 1. login créée un contenu
# # 1. login créée un contenu
login
=
creerUtilisateurRandom
(
client
)
# login = creerUtilisateurRandom(client)
id
=
creerContenuRandom
(
client
,
login
)
# id = creerContenuRandom(client, login)
#
print
(
"id test_creer_demande_publication_refusee_creation_en_cours_refuse : "
,
id
)
# print("id test_creer_demande_publication_refusee_creation_nouveau_contenu : ", id)
#
# 2. login2 le met dans ses tiers
# # 2. login2 le met dans ses tiers
loginDeux
=
creerUtilisateurRandom
(
client
)
# loginDeux = creerUtilisateurRandom(client)
data
=
{
"id_tiers"
:
json
.
dumps
(
id
),
"auteur"
:
loginDeux
,
"version"
:
1
}
# data = {"id_tiers": json.dumps(id), "auteur": loginDeux, "version": 1}
rv
=
client
.
patch
(
"/contenus/ajouterTiers"
,
json
=
data
,
headers
=
get_headers
(
client
))
# rv = client.patch("/contenus/ajouterTiers", json=data, headers=get_headers(client))
assert
rv
.
status_code
==
201
# assert rv.status_code == 201
#
# 3. login2 modifie son contenu tiers
# # 3. login2 modifie son contenu tiers
data
=
{
"auteur"
:
loginDeux
,
"id_contenu"
:
json
.
dumps
(
id
),
"provenance"
:
"perso"
,
"version"
:
1
}
# data = {"auteur": loginDeux, "id_contenu": json.dumps(id), "provenance": "perso", "version": 1}
# création d'un contenu en_cours
# # création d'un contenu en_cours
rv
=
client
.
post
(
"/en_cours/newEnCours"
,
json
=
data
,
headers
=
get_headers
(
client
))
# rv = client.post("/en_cours/newEnCours", json=data, headers=get_headers(client))
assert
rv
.
status_code
==
201
# assert rv.status_code == 201
id_en_cours
=
json
.
loads
(
rv
.
data
)[
"_id"
]
# id_en_cours = json.loads(rv.data)["_id"]
#
# 3. et y ajoute un nouveau titre
# # 3. et y ajoute un nouveau titre
data
=
{
"titre"
:
"nouveauTitreContenu"
,
"id_contenu_en_cours"
:
json
.
dumps
(
id_en_cours
)}
# data = {"titre": "nouveauTitreContenu", "id_contenu_en_cours": json.dumps(id_en_cours)}
rv
=
client
.
patch
(
"/en_cours/changerTitre"
,
json
=
data
,
headers
=
get_headers
(
client
))
# rv = client.patch("/en_cours/changerTitre", json=data, headers=get_headers(client))
assert
rv
.
status_code
==
201
# assert rv.status_code == 201
#
# loginDeux fait une demande de publication sur le contenu en cours qui vient d'être créé
# # loginDeux fait une demande de publication sur le contenu en cours qui vient d'être créé
data
=
{
"id_contenu"
:
json
.
dumps
(
id
),
"id_contenu_en_cours"
:
json
.
dumps
(
id_en_cours
),
"auteur_en_cours"
:
loginDeux
,
# data = {"id_contenu": json.dumps(id), "id_contenu_en_cours": json.dumps(id_en_cours), "auteur_en_cours": loginDeux,
"version"
:
1
}
# "version": 1}
rv
=
client
.
post
(
"/demande_pub/demandePublication"
,
json
=
data
,
headers
=
get_headers
(
client
))
# rv = client.post("/demande_pub/demandePublication", json=data, headers=get_headers(client))
assert
rv
.
status_code
==
201
# assert rv.status_code == 201
id_publication
=
json
.
loads
(
rv
.
data
)[
"_id"
]
# id_publication = json.loads(rv.data)["_id"]
#
# On controle les demandes de publication recues de login
# # On controle les demandes de publication recues de login
rv
=
client
.
get
(
"/demande_pub/demandePublication/"
+
login
+
"/False"
,
headers
=
get_headers
(
client
))
# rv = client.get("/demande_pub/demandePublication/" + login + "/False", headers=get_headers(client))
assert
rv
.
status_code
==
200
# assert rv.status_code == 200
assert
len
(
json
.
loads
(
rv
.
data
))
==
1
# assert len(json.loads(rv.data)) == 1
#
# On contrôle les demandes de publication proposées de loginDeux
# # On contrôle les demandes de publication proposées de loginDeux
rv
=
client
.
get
(
"/demande_pub/demandePublication/"
+
loginDeux
+
"/True"
,
headers
=
get_headers
(
client
))
# rv = client.get("/demande_pub/demandePublication/" + loginDeux + "/True", headers=get_headers(client))
assert
rv
.
status_code
==
200
# assert rv.status_code == 200
assert
len
(
json
.
loads
(
rv
.
data
))
==
1
# assert len(json.loads(rv.data)) == 1
#
# Charles refuse la demande de publication
# # Charles refuse la demande de publication
data
=
{
"id_publication"
:
json
.
dumps
(
id_publication
),
"reponse"
:
'n'
,
"auteur"
:
login
}
# data = {"id_publication": json.dumps(id_publication), "reponse": 'n', "auteur": login}
rv
=
client
.
patch
(
"/contenus/gererDemandePub"
,
json
=
data
,
headers
=
get_headers
(
client
))
# rv = client.patch("/contenus/gererDemandePub", json=data, headers=get_headers(client))
assert
rv
.
status_code
==
200
# assert rv.status_code == 200
#
# Jacques créée un en-cours refuse
# # Du coup loginDeux doit avoir un contenu dans son panier
data
=
{
"id_contenu_en_cours"
:
json
.
dumps
(
id_en_cours
)}
# rv = client.get("/contenus/getContenuPanier/" + loginDeux + "?perso=True&tiers=True&en_cours=True",
rv
=
client
.
patch
(
"/en_cours/newEnCoursRefuse"
,
json
=
data
,
headers
=
get_headers
(
client
))
# headers=get_headers(client))
assert
rv
.
status_code
==
201
# assert rv.status_code == 200
# nombrePanier = len(json.loads(rv.data))
rv
=
client
.
delete
(
"/en_cours/supprimerEnCoursParId/"
+
json
.
dumps
(
id_en_cours
),
headers
=
get_headers
(
client
))
#
assert
rv
.
status_code
==
200
# # Jacques créée un nouveau contenu
# data = {"id_demande_pub": json.dumps(id_publication), "auteur": loginDeux}
# On supprime le tiers chez LoginDeux
# rv = client.post("/contenus/newContenu", json=data, headers=get_headers(client))
rv
=
client
.
delete
(
"/contenus/deleteTiers?id_tiers="
+
json
.
dumps
(
id
)
+
"&auteur="
+
loginDeux
+
"¬e=-"
,
# assert rv.status_code == 201
headers
=
get_headers
(
client
))
#
assert
rv
.
status_code
==
200
# id_nvo_perso = json.loads(rv.data)["_id"]
#
supprimer_demande_publication
(
client
,
id
,
id_publication
)
# # Du coup loginDeux doit avoir un contenu de plus dans son panier
# rv = client.get("/contenus/getContenuPanier/" + loginDeux + "?perso=True&tiers=True&en_cours=True",
supprimerUtilisateur
(
client
,
login
)
# headers=get_headers(client))
supprimerUtilisateur
(
client
,
loginDeux
)
# assert rv.status_code == 200
# assert len(json.loads(rv.data)) == nombrePanier + 1
#
def
test_creer_demande_publication_refusee_creation_nouveau_contenu
(
client
):
# # rv = client.delete("/en_cours/supprimerEnCoursParId/" + json.dumps(id_en_cours), headers=get_headers(client))
# 1. login créée un contenu
# # assert rv.status_code == 200
login
=
creerUtilisateurRandom
(
client
)
#
id
=
creerContenuRandom
(
client
,
login
)
# # On supprime le tiers chez LoginDeux
# rv = client.delete("/contenus/deleteTiers?id_tiers=" + json.dumps(id) + "&auteur=" + loginDeux + "¬e=-",
print
(
"id test_creer_demande_publication_refusee_creation_nouveau_contenu : "
,
id
)
# headers=get_headers(client))
# assert rv.status_code == 200
# 2. login2 le met dans ses tiers
#
loginDeux
=
creerUtilisateurRandom
(
client
)
# rv = client.delete("/contenus/deletePerso/" + json.dumps(id_nvo_perso), headers=get_headers(client))
data
=
{
"id_tiers"
:
json
.
dumps
(
id
),
"auteur"
:
loginDeux
,
"version"
:
1
}
# assert rv.status_code == 200
rv
=
client
.
patch
(
"/contenus/ajouterTiers"
,
json
=
data
,
headers
=
get_headers
(
client
))
#
assert
rv
.
status_code
==
201
# supprimer_demande_publication(client, id, id_publication)
#
# 3. login2 modifie son contenu tiers
# supprimerUtilisateur(client, login)
data
=
{
"auteur"
:
loginDeux
,
"id_contenu"
:
json
.
dumps
(
id
),
"provenance"
:
"perso"
,
"version"
:
1
}
# supprimerUtilisateur(client, loginDeux)
# création d'un contenu en_cours
#
rv
=
client
.
post
(
"/en_cours/newEnCours"
,
json
=
data
,
headers
=
get_headers
(
client
))
#
assert
rv
.
status_code
==
201
# def supprimer_demande_publication(client, id, id_publication):
id_en_cours
=
json
.
loads
(
rv
.
data
)[
"_id"
]
# rv = client.delete("/contenus/deletePerso/" + json.dumps(id), headers=get_headers(client))
# assert rv.status_code == 200
# 3. et y ajoute un nouveau titre
#
data
=
{
"titre"
:
"nouveauTitreContenu"
,
"id_contenu_en_cours"
:
json
.
dumps
(
id_en_cours
)}
# rv = client.delete("/demande_pub/demandePublication/" + json.dumps(id_publication), headers=get_headers(client))
rv
=
client
.
patch
(
"/en_cours/changerTitre"
,
json
=
data
,
headers
=
get_headers
(
client
))
# assert rv.status_code == 200
assert
rv
.
status_code
==
201
# loginDeux fait une demande de publication sur le contenu en cours qui vient d'être créé
data
=
{
"id_contenu"
:
json
.
dumps
(
id
),
"id_contenu_en_cours"
:
json
.
dumps
(
id_en_cours
),
"auteur_en_cours"
:
loginDeux
,
"version"
:
1
}
rv
=
client
.
post
(
"/demande_pub/demandePublication"
,
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
201
id_publication
=
json
.
loads
(
rv
.
data
)[
"_id"
]
# On controle les demandes de publication recues de login
rv
=
client
.
get
(
"/demande_pub/demandePublication/"
+
login
+
"/False"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
assert
len
(
json
.
loads
(
rv
.
data
))
==
1
# On contrôle les demandes de publication proposées de loginDeux
rv
=
client
.
get
(
"/demande_pub/demandePublication/"
+
loginDeux
+
"/True"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
assert
len
(
json
.
loads
(
rv
.
data
))
==
1
# Charles refuse la demande de publication
data
=
{
"id_publication"
:
json
.
dumps
(
id_publication
),
"reponse"
:
'n'
,
"auteur"
:
login
}
rv
=
client
.
patch
(
"/contenus/gererDemandePub"
,
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
# Du coup loginDeux doit avoir un contenu dans son panier
rv
=
client
.
get
(
"/contenus/getContenuPanier/"
+
loginDeux
+
"?perso=True&tiers=True&en_cours=True"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
nombrePanier
=
len
(
json
.
loads
(
rv
.
data
))
# Jacques créée un nouveau contenu
data
=
{
"id_demande_pub"
:
json
.
dumps
(
id_publication
),
"auteur"
:
loginDeux
}
rv
=
client
.
post
(
"/contenus/newContenu"
,
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
201
id_nvo_perso
=
json
.
loads
(
rv
.
data
)[
"_id"
]
# Du coup loginDeux doit avoir un contenu de plus dans son panier
rv
=
client
.
get
(
"/contenus/getContenuPanier/"
+
loginDeux
+
"?perso=True&tiers=True&en_cours=True"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
assert
len
(
json
.
loads
(
rv
.
data
))
==
nombrePanier
+
1
# rv = client.delete("/en_cours/supprimerEnCoursParId/" + json.dumps(id_en_cours), headers=get_headers(client))
# assert rv.status_code == 200
# On supprime le tiers chez LoginDeux
rv
=
client
.
delete
(
"/contenus/deleteTiers?id_tiers="
+
json
.
dumps
(
id
)
+
"&auteur="
+
loginDeux
+
"¬e=-"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
rv
=
client
.
delete
(
"/contenus/deletePerso/"
+
json
.
dumps
(
id_nvo_perso
),
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
supprimer_demande_publication
(
client
,
id
,
id_publication
)
supprimerUtilisateur
(
client
,
login
)
supprimerUtilisateur
(
client
,
loginDeux
)
def
supprimer_demande_publication
(
client
,
id
,
id_publication
):
rv
=
client
.
delete
(
"/contenus/deletePerso/"
+
json
.
dumps
(
id
),
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
rv
=
client
.
delete
(
"/demande_pub/demandePublication/"
+
json
.
dumps
(
id_publication
),
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment