-
Notifications
You must be signed in to change notification settings - Fork 160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Affichage des comptes sur un même réseau IPV6 dans la page de multi-comptes (#4103) #6120
Conversation
En terme de QA, il ne faut pas aussi donner à deux utilisateurs deux IPv6 différentes mais du même réseau (même préfixe) dans la base, et vérifier qu'iels sont listés ensemble sur la page de multi ? |
Effectivement, en plus je l'ai fait pendant mes tests, et j'ai oublié que c'était facile et faisable en instance de dev :| J'ai (encore) édité la QA. |
Pas de souci ! Merci |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✔️ QA OK ! Merci pour cette amélioration. Quelques remarques d'amélioration, à toi de voir ce que tu en penses.
Si jamais tu as aussi des commentaires sur les tests unitaires, ça me plairait, c'était la première fois que j'en écrivais. Ou même des trucs plus bêtes comme les commentaires de code, s'ils sont bien écrits et compréhensibles. |
Je vais regarder ça de près alors :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tu voulais des commentaires sur tes tests. Rien de bien méchant, mais j'espère que tu les trouveras utiles pour réfléchir à ta pratique. :-)
Merci pour les conseils @Arnaud-D :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quelques petits commentaires sur les tests, vu que tu en voulais plein !
zds/member/tests/tests_views.py
Outdated
|
||
def test_access_rights_to_ip_page_as_non_user(self) -> None: | ||
response = self.client.get(reverse(member_from_ip, args=["0.0.0.0"])) | ||
self.assertEqual(response.status_code, 302) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Si on voulait vraiment être tranquille, on pourrait vouloir vérifier qu'on redirige bien vers la page de connexion. Mais c'est peut-être un peu overkill ^^ .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je savais pas comment faire alors j'ai fait comme ça x) Sinon, il aurait fallu que je fouille pour faire un reverse qui fonctionne, et j'ai toujours du mal à comprendre la fonction reverse...
zds/member/tests/tests_views.py
Outdated
def test_template_used_by_ip_page(self) -> None: | ||
self.client.force_login(self.staff) | ||
response = self.client.get(reverse(member_from_ip, args=["0.0.0.0"])) | ||
self.assertTemplateUsed(response, "member/admin/memberip.html") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
C'est amusant, c'est pas un test qu'on fait souvent ça, ayant tendance à “faire confiance” à Django pour les cas simples. Mais pourquoi pas !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
En fait, j'ai cherché comment faire un test pour un render Django, et je suis tombé sur un StackOverflox où la réponse proposait ça en partie (et les 2 autres types de test que j'ai mis). J'ai trouvé ça pas si bête, et je me suis dit que ça coûtait rien d'être sûr.
D'ailleurs j'ai une question, je ne sais pas si vous avez lancé les tests en local, mais comme je teste une 403, j'ai des erreurs Django dans la ligne de commande puisqu'il refuse l'accès à la page. C'est normal, mais est-ce que c'est voulu, est-ce qu'il y a moyen de ne pas les afficher pour éviter de polluer l'affichage des tests ? |
C'est normal d'avoir de voir des erreurs s'afficher dans les logs quand on teste des choses qui génèrent des erreurs. Ce qu'on veut éviter, ce sont les erreurs correspondant aux échecs de test, mais ce ne sont pas les mêmes. ;-) Si les tests passent, peu importe ce qui affiché dans la console lors du déroulement des tests. Je ne m'en sers que quand les tests ne passent pas, pour investiguer le problème. |
Modification de la fonction member_from_ip afin qu'elle retourne tous les membres sur un même bloc IPV6. Adaption du template associé. Ajout de tests fonctionnels et d'autorisation.
Numéro du ticket concerné :
#4103
Contrôle qualité
Exemple, 2 comptes sur un même réseau IPV6 chez moi :