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
0c0f316e
Commit
0c0f316e
authored
Jul 06, 2021
by
Jérémie Passerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Tests unitaires avec pytest
parent
586eae90
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
360 additions
and
97 deletions
+360
-97
app.py
app.py
+7
-4
contenu_dao.py
modele/contenu_dao.py
+1
-2
demande_pubDao.py
modele/demande_pubDao.py
+8
-1
test_flask_contenu.py
tests/test_flask_contenu.py
+99
-46
test_flask_demande_publication.py
tests/test_flask_demande_publication.py
+160
-0
test_flask_en_cours.py
tests/test_flask_en_cours.py
+54
-13
test_flask_utilisateur.py
tests/test_flask_utilisateur.py
+31
-31
No files found.
app.py
View file @
0c0f316e
...
@@ -254,11 +254,11 @@ class creer_nouveau_contenu(Resource):
...
@@ -254,11 +254,11 @@ class creer_nouveau_contenu(Resource):
@
contenus
.
route
(
"/majContenu"
)
@
contenus
.
route
(
"/majContenu"
)
@
contenus
.
doc
(
params
=
{
'id_contenu_en_cours'
:
"l'id du contenu en cours à mettre à jour"
})
@
contenus
.
doc
(
params
=
{
'id_contenu_en_cours'
:
"l'id du contenu en cours à mettre à jour"
})
@
contenus
.
doc
(
description
=
"mettre à jour un contenu (en cours - le changement de version d'un contenu se fait via "
@
contenus
.
doc
(
params
=
{
'auteur'
:
"l'auteur qui fait la mise à jour"
})
"gerer_demande_pub
)"
)
@
contenus
.
doc
(
description
=
"mettre à jour un contenu (via un contenu en cours directement
)"
)
class
maj_contenu
(
Resource
):
class
maj_contenu
(
Resource
):
@
contenus
.
response
(
200
,
"Contenu maj"
)
@
contenus
.
response
(
200
,
"Contenu maj"
)
## mettre à jour un contenu (
en cours - le changement de version d'un contenu se fait via gerer_demande_pub
)"
## mettre à jour un contenu (
via un contenu en cours directement
)"
@
jwt_required
()
@
jwt_required
()
def
patch
(
self
):
def
patch
(
self
):
id_contenu_en_cours
=
json
.
loads
(
request
.
json
[
"id_contenu_en_cours"
])
id_contenu_en_cours
=
json
.
loads
(
request
.
json
[
"id_contenu_en_cours"
])
...
@@ -532,7 +532,10 @@ class demande_de_publication(Resource):
...
@@ -532,7 +532,10 @@ class demande_de_publication(Resource):
auteur
=
en_cours_dao
.
get_auteur_origine_contenu_en_cours
(
id_contenu_en_cours
[
"$oid"
])
auteur
=
en_cours_dao
.
get_auteur_origine_contenu_en_cours
(
id_contenu_en_cours
[
"$oid"
])
demande_pub_Dao
.
creer_demande_publication
(
id_contenu
[
"$oid"
],
id_contenu_en_cours
[
"$oid"
],
demande_pub_Dao
.
creer_demande_publication
(
id_contenu
[
"$oid"
],
id_contenu_en_cours
[
"$oid"
],
request
.
json
[
'auteur_en_cours'
],
auteur
,
request
.
json
[
"version"
])
request
.
json
[
'auteur_en_cours'
],
auteur
,
request
.
json
[
"version"
])
return
"Demande de publication créée"
# return "Demande de publication créée", 201
return
json
.
loads
(
json
.
dumps
((
demande_pub_Dao
.
get_demande_pub_via_id
(
demande_pub_Dao
.
recuperer_dernier_id
())),
default
=
json_util
.
default
)),
201
@
demande_pub
.
route
(
"/demandePublication/<auteur>/<emise>"
)
@
demande_pub
.
route
(
"/demandePublication/<auteur>/<emise>"
)
...
...
modele/contenu_dao.py
View file @
0c0f316e
...
@@ -191,7 +191,7 @@ class ContenuDao:
...
@@ -191,7 +191,7 @@ class ContenuDao:
# on utilise la fonction déja existante pour créer le contenu
# on utilise la fonction déja existante pour créer le contenu
self
.
ajouter_contenu
(
auteur_en_cours
,
contenu_a_ecrire
)
self
.
ajouter_contenu
(
auteur_en_cours
,
contenu_a_ecrire
)
#et on détruit la demande de publication et le contenu en cours associé, pour finir
#
et on détruit la demande de publication et le contenu en cours associé, pour finir
DemandePubDao
()
.
supprimer_publication
(
id_demande_publication
)
DemandePubDao
()
.
supprimer_publication
(
id_demande_publication
)
EncoursDao
()
.
supprimer_contenu_en_cours_via_id
(
id_contenu_en_cours
)
EncoursDao
()
.
supprimer_contenu_en_cours_via_id
(
id_contenu_en_cours
)
...
@@ -240,7 +240,6 @@ class ContenuDao:
...
@@ -240,7 +240,6 @@ class ContenuDao:
else
:
else
:
id_contenu
=
DemandePubDao
()
.
get_id_contenu_associe_a_une_publication
(
id_contenu_en_cours
)
id_contenu
=
DemandePubDao
()
.
get_id_contenu_associe_a_une_publication
(
id_contenu_en_cours
)
id_contenu_en_cours
=
DemandePubDao
()
.
get_id_contenu_en_cours_associe_a_une_publication
(
id_contenu_en_cours
)
id_contenu_en_cours
=
DemandePubDao
()
.
get_id_contenu_en_cours_associe_a_une_publication
(
id_contenu_en_cours
)
...
...
modele/demande_pubDao.py
View file @
0c0f316e
...
@@ -89,7 +89,6 @@ class DemandePubDao:
...
@@ -89,7 +89,6 @@ class DemandePubDao:
if
type
(
id_dde_publication
)
==
str
:
if
type
(
id_dde_publication
)
==
str
:
id_dde_publication
=
ObjectId
(
id_dde_publication
)
id_dde_publication
=
ObjectId
(
id_dde_publication
)
print
(
"id dde publication"
,
id_dde_publication
,
" de type "
,
type
(
id_dde_publication
))
return
self
.
base_donnees
.
demandesPub
.
find_one
({
"_id"
:
id_dde_publication
})[
"idContenu"
]
return
self
.
base_donnees
.
demandesPub
.
find_one
({
"_id"
:
id_dde_publication
})[
"idContenu"
]
## Récupérer lid du contenu en cours associé à une demande de publication
## Récupérer lid du contenu en cours associé à une demande de publication
...
@@ -111,3 +110,11 @@ class DemandePubDao:
...
@@ -111,3 +110,11 @@ class DemandePubDao:
return
self
.
base_donnees
.
demandesPub
.
find
({
"auteurDemande"
:
auteur
})
return
self
.
base_donnees
.
demandesPub
.
find
({
"auteurDemande"
:
auteur
})
else
:
else
:
return
self
.
base_donnees
.
demandesPub
.
find
({
"auteurContenu"
:
auteur
})
return
self
.
base_donnees
.
demandesPub
.
find
({
"auteurContenu"
:
auteur
})
## récupérer le dernier id inséré dans encours
# @return l'id de la derniere insertion dans encours.
def
recuperer_dernier_id
(
self
):
dernier_id_insere
=
self
.
base_donnees
.
demandesPub
.
find
()
.
sort
(
"_id"
,
-
1
)
.
limit
(
1
)
record
=
next
(
dernier_id_insere
,
None
)
return
str
(
record
.
get
(
"_id"
))
tests/test_flask_contenu.py
View file @
0c0f316e
# from testUtils import *
from
testUtils
import
*
#
#
# def test_contenu(client):
def
test_contenu
(
client
):
# data = {"auteur": "Charles", "contenu_a_ecrire": "Texte du contenu"}
data
=
{
"auteur"
:
"Charles"
,
"contenu_a_ecrire"
:
"Texte du contenu"
}
# # création d'un contenu
# création d'un contenu
# rv = client.post("/contenus/addContenu", json=data, headers=get_headers(client))
rv
=
client
.
post
(
"/contenus/addContenu"
,
json
=
data
,
headers
=
get_headers
(
client
))
# assert rv.status_code == 201
assert
rv
.
status_code
==
201
# # on récupère l'id
# on récupère l'id
# id = json.loads(rv.data)["_id"]
id
=
json
.
loads
(
rv
.
data
)[
"_id"
]
# # 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
# # on récupère le texte
# on récupère le texte
# rv = client.get("/contenus/getTexteContenu/" + json.dumps(id), headers=get_headers(client))
rv
=
client
.
get
(
"/contenus/getTexteContenu/"
+
json
.
dumps
(
id
),
headers
=
get_headers
(
client
))
# assert rv.status_code == 200
assert
rv
.
status_code
==
200
# assert "Texte du contenu" == json.loads(rv.data)
assert
"Texte du contenu"
==
json
.
loads
(
rv
.
data
)
# # on créée un tiers avec Jacques
# on créée un tiers avec Jacques
# # print("id : ", id["$oid"])
# print("id : ", id["$oid"])
# data = {"id_tiers": json.dumps(id), "auteur": "Jacques", "version": 1}
data
=
{
"id_tiers"
:
json
.
dumps
(
id
),
"auteur"
:
"Jacques"
,
"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
#
# # get Contenu Panier (chez Charles)
# get Contenu Panier (chez Charles)
# rv = client.get("/contenus/getContenuPanier/Charles?perso=True&tiers=True&en_cours=True",
rv
=
client
.
get
(
"/contenus/getContenuPanier/Charles?perso=True&tiers=True&en_cours=True"
,
# headers=get_headers(client))
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
#
# # get Contenu Banque (chez Valery)
# get Contenu Banque (chez Valery)
# rv = client.get("/contenus/getContenuBanque/Valery", headers=get_headers(client))
rv
=
client
.
get
(
"/contenus/getContenuBanque/Valery"
,
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
#
# # get All Contenus
# get All Contenus
# rv = client.get("/contenus/allContenus", headers=get_headers(client))
rv
=
client
.
get
(
"/contenus/allContenus"
,
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 supprime le tiers
# on supprime le tiers
# rv = client.delete("/contenus/deleteTiers?id_tiers=" + json.dumps(id) + "&auteur=Jacques",
rv
=
client
.
delete
(
"/contenus/deleteTiers?id_tiers="
+
json
.
dumps
(
id
)
+
"&auteur=Jacques"
,
# headers=get_headers(client))
headers
=
get_headers
(
client
))
# assert rv.status_code == 200
assert
rv
.
status_code
==
200
# # on le supprime
# on le supprime
# rv = client.delete("/contenus/deletePerso/" + json.dumps(id), headers=get_headers(client))
rv
=
client
.
delete
(
"/contenus/deletePerso/"
+
json
.
dumps
(
id
),
headers
=
get_headers
(
client
))
# assert rv.status_code == 200
assert
rv
.
status_code
==
200
def
test_supprimer_contenu_en_tiers_chez_qqun_autre
(
client
):
data
=
{
"auteur"
:
"Charles"
,
"contenu_a_ecrire"
:
"Texte du contenu"
}
# création d'un contenu
rv
=
client
.
post
(
"/contenus/addContenu"
,
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
201
# on récupère l'id
id
=
json
.
loads
(
rv
.
data
)[
"_id"
]
# on créée un tiers avec Jacques
# print("id : ", id["$oid"])
data
=
{
"id_tiers"
:
json
.
dumps
(
id
),
"auteur"
:
"Jacques"
,
"version"
:
1
}
rv
=
client
.
patch
(
"/contenus/ajouterTiers"
,
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
201
# On supprime le contenu perso avec Charles
rv
=
client
.
delete
(
"/contenus/deletePerso/"
+
json
.
dumps
(
id
),
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
# get Contenu Panier (chez jacques)
rv
=
client
.
get
(
"/contenus/getContenuPanier/Jacques?perso=True&tiers=True&en_cours=True"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
assert
len
(
json
.
loads
(
rv
.
data
))
==
1
# On vérifie que le contenu est tjrs dispo (chez Valery) et que son auteur est Aucun
rv
=
client
.
get
(
"/contenus/getContenuBanque/Valery"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
assert
len
(
json
.
loads
(
rv
.
data
))
==
1
assert
json
.
loads
(
rv
.
data
)[
0
][
"auteur"
]
==
"Aucun"
data
=
{
"auteur"
:
"Jacques"
,
"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"
]
data
=
{
"auteur"
:
"Jacques"
,
"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
# On vérifie que le contenu est tjrs dispo (chez Valery) et que son auteur est Jacques
rv
=
client
.
get
(
"/contenus/getContenuBanque/Valery"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
assert
len
(
json
.
loads
(
rv
.
data
))
==
1
assert
json
.
loads
(
rv
.
data
)[
0
][
"auteur"
]
==
"Jacques"
rv
=
client
.
delete
(
"/contenus/deletePerso/"
+
json
.
dumps
(
id
),
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
tests/test_flask_demande_publication.py
View file @
0c0f316e
from
testUtils
import
*
from
test_flask_en_cours
import
*
def
test_creer_demande_publication_acceptee
(
client
):
data
=
{
"auteur"
:
"Charles"
,
"contenu_a_ecrire"
:
"Texte du contenu"
}
# création d'un contenu
rv
=
client
.
post
(
"/contenus/addContenu"
,
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
201
# on récupère l'id du contenu créé
id
=
json
.
loads
(
rv
.
data
)[
"_id"
]
data
=
{
"auteur"
:
"Charles"
,
"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"
]
data
=
{
"id_contenu"
:
json
.
dumps
(
id
),
"id_contenu_en_cours"
:
json
.
dumps
(
id_en_cours
),
"auteur_en_cours"
:
"Jacques"
,
"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 Charles
rv
=
client
.
get
(
"/demande_pub/demandePublication/Charles/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 Jacques
rv
=
client
.
get
(
"/demande_pub/demandePublication/Jacques/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"
:
"Jacques"
}
rv
=
client
.
patch
(
"/contenus/gererDemandePub"
,
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
rv
=
client
.
delete
(
"/contenus/deleteTiers?id_tiers="
+
json
.
dumps
(
id
)
+
"&auteur=Jacques"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
supprimer_demande_publication
(
client
,
id
,
id_publication
)
def
test_creer_demande_publication_refusee_creation_en_cours_refuse
(
client
):
data
=
{
"auteur"
:
"Charles"
,
"contenu_a_ecrire"
:
"Texte du contenu"
}
# création d'un contenu
rv
=
client
.
post
(
"/contenus/addContenu"
,
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
201
# on récupère l'id du contenu créé
id
=
json
.
loads
(
rv
.
data
)[
"_id"
]
data
=
{
"auteur"
:
"Charles"
,
"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"
]
data
=
{
"id_contenu"
:
json
.
dumps
(
id
),
"id_contenu_en_cours"
:
json
.
dumps
(
id_en_cours
),
"auteur_en_cours"
:
"Jacques"
,
"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 Charles
rv
=
client
.
get
(
"/demande_pub/demandePublication/Charles/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 Jacques
rv
=
client
.
get
(
"/demande_pub/demandePublication/Jacques/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"
:
"Charles"
}
rv
=
client
.
patch
(
"/contenus/gererDemandePub"
,
json
=
data
,
headers
=
get_headers
(
client
))
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
supprimer_demande_publication
(
client
,
id
,
id_publication
)
rv
=
client
.
delete
(
"/en_cours/supprimerEnCoursParId/"
+
json
.
dumps
(
id_en_cours
),
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
def
test_creer_demande_publication_refusee_creation_nouveau_contenu
(
client
):
data
=
{
"auteur"
:
"Charles"
,
"contenu_a_ecrire"
:
"Texte du contenu"
}
# création d'un contenu
rv
=
client
.
post
(
"/contenus/addContenu"
,
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
201
# on récupère l'id du contenu créé
id
=
json
.
loads
(
rv
.
data
)[
"_id"
]
data
=
{
"auteur"
:
"Charles"
,
"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"
]
data
=
{
"id_contenu"
:
json
.
dumps
(
id
),
"id_contenu_en_cours"
:
json
.
dumps
(
id_en_cours
),
"auteur_en_cours"
:
"Jacques"
,
"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 Charles
rv
=
client
.
get
(
"/demande_pub/demandePublication/Charles/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 Jacques
rv
=
client
.
get
(
"/demande_pub/demandePublication/Jacques/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"
:
"Charles"
}
rv
=
client
.
patch
(
"/contenus/gererDemandePub"
,
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
# Jacques créée un nouveau contenu
data
=
{
"id_demande_pub"
:
json
.
dumps
(
id_publication
),
"auteur"
:
"Jacques"
}
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 jacques doit avoir un contenu dans son panier
rv
=
client
.
get
(
"/contenus/getContenuPanier/Jacques?perso=True&tiers=True&en_cours=True"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
assert
len
(
json
.
loads
(
rv
.
data
))
==
1
supprimer_demande_publication
(
client
,
id
,
id_publication
)
rv
=
client
.
delete
(
"/contenus/deletePerso/"
+
json
.
dumps
(
id_nvo_perso
),
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
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
tests/test_flask_en_cours.py
View file @
0c0f316e
import
json
from
testUtils
import
*
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
):
def
test_en_cours
(
client
):
# on récupère l'id du contenu en cours créé
# Dans un premier temps, créer un contenu
# Dans un premier temps, créer un contenu
data
=
{
"auteur"
:
"Charles"
,
"contenu_a_ecrire"
:
"Texte du contenu"
}
data
=
{
"auteur"
:
"Charles"
,
"contenu_a_ecrire"
:
"Texte du contenu"
}
# création d'un contenu
# création d'un contenu
...
@@ -17,27 +28,24 @@ def test_en_cours(client):
...
@@ -17,27 +28,24 @@ def test_en_cours(client):
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
# on récupère l'id du contenu en cours créé
id_en_cours
=
json
.
loads
(
rv
.
data
)[
"_id"
]
id
=
json
.
loads
(
rv
.
data
)[
"_id"
]
# récupération du texte (avant modif)
# récupération du texte (avant modif)
rv
=
client
.
get
(
"/en_cours/getTexteContenuEnCours/"
+
json
.
dumps
(
id
),
headers
=
get_headers
(
client
))
rv
=
client
.
get
(
"/en_cours/getTexteContenuEnCours/"
+
json
.
dumps
(
id
_en_cours
),
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
assert
rv
.
status_code
==
200
assert
"Texte du contenu"
==
json
.
loads
(
rv
.
data
)
assert
"Texte du contenu"
==
json
.
loads
(
rv
.
data
)
# modification du texte du contenu en cours
# modification du texte du contenu en cours
data
=
{
"nouveau_texte"
:
"Nouveau Texte du contenu"
}
data
=
{
"nouveau_texte"
:
"Nouveau Texte du contenu"
}
rv
=
client
.
patch
(
"/contenus/changerTexte/"
+
json
.
dumps
(
id
),
json
=
data
,
headers
=
get_headers
(
client
))
rv
=
client
.
patch
(
"/contenus/changerTexte/"
+
json
.
dumps
(
id
_en_cours
),
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
assert
rv
.
status_code
==
200
# récupération du texte (après modif)
# récupération du texte (après modif)
rv
=
client
.
get
(
"/en_cours/getTexteContenuEnCours/"
+
json
.
dumps
(
id
),
headers
=
get_headers
(
client
))
rv
=
client
.
get
(
"/en_cours/getTexteContenuEnCours/"
+
json
.
dumps
(
id
_en_cours
),
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
assert
rv
.
status_code
==
200
assert
"Nouveau Texte du contenu"
==
json
.
loads
(
rv
.
data
)
assert
"Nouveau Texte du contenu"
==
json
.
loads
(
rv
.
data
)
# suppression du contenu en_cours
supprimer_les_contenus
(
client
,
id
,
id_en_cours
)
rv
=
client
.
delete
(
"/en_cours/supprimerEnCoursParId/"
+
json
.
dumps
(
id
),
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
def
test_en_cours_provenance_tiers
(
client
):
def
test_en_cours_provenance_tiers
(
client
):
...
@@ -61,13 +69,46 @@ def test_en_cours_provenance_tiers(client):
...
@@ -61,13 +69,46 @@ def test_en_cours_provenance_tiers(client):
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"
]
supprimer_les_contenus
(
client
,
id
,
id_en_cours
)
rv
=
client
.
delete
(
"/contenus/deleteTiers?id_tiers="
+
json
.
dumps
(
id
)
+
"&auteur=Jacques"
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
def
test_en_cours_directement_valide
(
client
):
# on récupère l'id du contenu en cours créé
# on récupère l'id du contenu en cours créé
# Dans un premier temps, créer un contenu
data
=
{
"auteur"
:
"Charles"
,
"contenu_a_ecrire"
:
"Texte du contenu"
}
# création d'un contenu
rv
=
client
.
post
(
"/contenus/addContenu"
,
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
201
# on récupère l'id du contenu créé
id
=
json
.
loads
(
rv
.
data
)[
"_id"
]
id
=
json
.
loads
(
rv
.
data
)[
"_id"
]
# suppression du contenu en_cours
data
=
{
"auteur"
:
"Charles"
,
"id_contenu"
:
json
.
dumps
(
id
),
"provenance"
:
"perso"
,
"version"
:
1
}
rv
=
client
.
delete
(
"/en_cours/supprimerEnCoursParId/"
+
json
.
dumps
(
id
),
headers
=
get_headers
(
client
))
# 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"
}
rv
=
client
.
patch
(
"/contenus/changerTexte/"
+
json
.
dumps
(
id_en_cours
),
json
=
data
,
headers
=
get_headers
(
client
))
assert
rv
.
status_code
==
200
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
def
test_en_cours_directement_valide
(
client
):
# test du texte sur le contenu d'id 'id'
pass
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
tests/test_flask_utilisateur.py
View file @
0c0f316e
#
from testUtils import *
from
testUtils
import
*
#
#
#
def test_test(client):
def
test_test
(
client
):
#
rv = client.get('/test')
rv
=
client
.
get
(
'/test'
)
#
assert b'hello world' in rv.data
assert
b
'hello world'
in
rv
.
data
#
assert rv.status_code == 200
assert
rv
.
status_code
==
200
#
#
#
def test_new_user(client):
def
test_new_user
(
client
):
#
data = {"login": "Georges"}
data
=
{
"login"
:
"Georges"
}
#
rv = client.post("/utilisateurs/newUser", json=data)
rv
=
client
.
post
(
"/utilisateurs/newUser"
,
json
=
data
)
#
assert rv.status_code == 201
assert
rv
.
status_code
==
201
#
rv = client.post("/utilisateurs/newUser", json=data)
rv
=
client
.
post
(
"/utilisateurs/newUser"
,
json
=
data
)
#
assert rv.status_code == 409
assert
rv
.
status_code
==
409
#
rv = client.delete('/utilisateurs/supprimerUser/Georges', headers=get_headers(client))
rv
=
client
.
delete
(
'/utilisateurs/supprimerUser/Georges'
,
headers
=
get_headers
(
client
))
#
assert rv.status_code == 200
assert
rv
.
status_code
==
200
#
#
#
def test_getAllUsers(client):
def
test_getAllUsers
(
client
):
#
rv = client.get('/utilisateurs/auteursExistants', headers=get_headers(client))
rv
=
client
.
get
(
'/utilisateurs/auteursExistants'
,
headers
=
get_headers
(
client
))
#
assert rv.status_code == 200
assert
rv
.
status_code
==
200
#
#
#
def test_addMessage(client):
def
test_addMessage
(
client
):
#
response = client.get("/utilisateurs/checkUser?login=Charles")
response
=
client
.
get
(
"/utilisateurs/checkUser?login=Charles"
)
#
assert 200 == response.status_code
assert
200
==
response
.
status_code
#
#
#
def test_change_password(client):
def
test_change_password
(
client
):
#
pass
pass
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