コード例 #1
0
    def test_partisans(self):
        u1 = Utilisateur(nom='patate', courriel='*****@*****.**')
        u2 = Utilisateur(nom='tomate', courriel='*****@*****.**')
        db.session.add(u1)
        db.session.add(u2)
        db.session.commit()

        self.assertEqual(u1.les_partisans.all(), [])
        self.assertEqual(u1.partisans.all(), [])

        u1.devenir_partisan(u2)
        db.session.commit()

        self.assertTrue(u1.est_partisan(u2))
        self.assertEqual(u1.les_partisans.count(), 1)

        self.assertTrue(u1.est_partisan(u2))
        self.assertEqual(u1.les_partisans.count(), 1)
        self.assertEqual(u1.les_partisans.first().nom, 'tomate')
        self.assertEqual(u2.partisans.count(), 1)
        self.assertEqual(u2.partisans.first().nom, 'patate')

        u1.ne_plus_etre_partisan(u2)
        db.session.commit()

        self.assertFalse(u1.est_partisan(u2))
        self.assertEqual(u1.les_partisans.count(), 0)
        self.assertEqual(u2.partisans.count(), 0)
コード例 #2
0
ファイル: routes.py プロジェクト: FASanterre/projetReact
def enregistrer():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    formulaire = FormulaireEnregistrement()
    if formulaire.validate_on_submit():
        utilisateur = Utilisateur(nom=formulaire.nom.data,
                                  courriel=formulaire.courriel.data)
        utilisateur.enregistrer_mot_de_passe(formulaire.mot_de_passe.data)
        fnt = ImageFont.load_default()
        image = Image.new('RGB', (128, 128), color='black')
        for i in range(20):
            x = random.randint(0, 128)
            y = random.randint(0, 128)
            r = random.randint(0, 255)
            g = random.randint(0, 255)
            b = random.randint(0, 255)
            h = random.randint(10, 20)
            fnt = ImageFont.load_default()
            d = ImageDraw.Draw(image)
            d.text((x, y), utilisateur.nom, font=fnt, fill=(r, g, g))

        tampon = BytesIO()

        db.session.add(utilisateur)
        db.session.commit()
        flash('Félicitations, vous êtes maintenant enregistré!')
        return redirect(url_for('etablir_session'))
    return render_template('enregistrement.html',
                           title='Enregistrer',
                           formulaire=formulaire)
コード例 #3
0
    def test_subbedPubs(self):
        usertb = []
        for i in range(4):
            usertb.append(
                Utilisateur(nom='u' + str(i),
                            email='u' + str(i) + '@info.cgg'))

        db.session.add_all(usertb)

        now = datetime.utcnow()
        pubstb = []
        for u in usertb:
            pubstb.append(
                Publication(body='Publication de ' + u.nom,
                            auteur=u,
                            creation=now + timedelta(seconds=1)))

        db.session.add_all(pubstb)

        usertb[0].userSub(usertb[1])
        usertb[0].userSub(usertb[3])
        usertb[1].userSub(usertb[2])
        usertb[2].userSub(usertb[3])

        db.session.commit()

        substb = []
        for u in usertb:
            substb.append(u.getPartisansPubs().all())

        self.assertEqual(substb[0], [pubstb[0], pubstb[1], pubstb[3]])
        self.assertEqual(substb[1], [pubstb[1], pubstb[2]])

        self.assertEqual(substb[2], [pubstb[2], pubstb[3]])
        self.assertEqual(substb[3], [pubstb[3]])
コード例 #4
0
    def test_publications_suivies(self):
        # create four users
        u1 = Utilisateur(nom='patate', courriel='*****@*****.**')
        u2 = Utilisateur(nom='tomate', courriel='*****@*****.**')
        u3 = Utilisateur(nom='salade', courriel='*****@*****.**')
        u4 = Utilisateur(nom='radis', courriel='*****@*****.**')
        db.session.add_all([u1, u2, u3, u4])

        # create four posts
        maintenant = datetime.utcnow()
        p1 = Publication(corps="publication from patate",
                         auteur=u1,
                         horodatage=maintenant + timedelta(seconds=1))
        p2 = Publication(corps="publication from tomate",
                         auteur=u2,
                         horodatage=maintenant + timedelta(seconds=4))
        p3 = Publication(corps="publication from salade",
                         auteur=u3,
                         horodatage=maintenant + timedelta(seconds=3))
        p4 = Publication(corps="publication from radis",
                         auteur=u4,
                         horodatage=maintenant + timedelta(seconds=2))
        db.session.add_all([p1, p2, p3, p4])
        db.session.commit()

        # setup the followers
        u1.devenir_partisan(u2)  # john follows susan
        u1.devenir_partisan(u4)  # john follows david
        u2.devenir_partisan(u3)  # susan follows mary
        u3.devenir_partisan(u4)  # mary follows david
        db.session.commit()

        # check the followed posts of each user
        f1 = u1.liste_publications_dont_je_suis_partisan().all()
        f2 = u2.liste_publications_dont_je_suis_partisan().all()
        f3 = u3.liste_publications_dont_je_suis_partisan().all()
        f4 = u4.liste_publications_dont_je_suis_partisan().all()
        self.assertEqual(f1, [p2, p4, p1])
        self.assertEqual(f2, [p2, p3])
        self.assertEqual(f3, [p3, p4])
        self.assertEqual(f4, [p4])
コード例 #5
0
    def test_Subs(self):
        u1 = Utilisateur(nom='patate', email='*****@*****.**')
        u2 = Utilisateur(nom='tomate', email='*****@*****.**')
        db.session.add_all([u1, u2])
        db.session.commit()

        self.assertEqual(u1.partisans.all(), [])
        self.assertEqual(u1.tbpartisans.all(), [])

        u1.userSub(u2)
        db.session.commit()

        self.assertTrue(u1.isPartisan(u2))
        self.assertEqual(u1.partisans.count(), 1)
        self.assertEqual(u1.partisans.first().nom, 'tomate')
        self.assertEqual(u2.tbpartisans.count(), 1)
        self.assertEqual(u2.tbpartisans.first().nom, 'patate')

        u1.userUnsub(u2)
        db.session.commit()

        self.assertFalse(u1.isPartisan(u2))
        self.assertEqual(u1.partisans.count(), 0)
        self.assertEqual(u2.tbpartisans.count(), 0)
コード例 #6
0
 def test_pwdHashing(self):
     u = Utilisateur(nom='patate')
     pwd = 'Password1'
     u.enregisrter_mot_de_passe(pwd)
     self.assertFalse(u.valider_mot_de_passe(pwd[::-1]))
     self.assertTrue(u.valider_mot_de_passe(pwd))
コード例 #7
0
 def test_mot_de_passe_hashing(self):
     u = Utilisateur(nom='patate')
     u.enregistrer_mot_de_passe('Password1')
     self.assertFalse(u.valider_mot_de_passe('Mot de passe invalide'))
     self.assertTrue(u.valider_mot_de_passe('Password1'))