Exemple #1
0
 def testItem(self):
     name = "test"
     email ="*****@*****.**"
     user = User(name=name, email=email, password="******")
     user.put()
     
     Item(user=user, name="item1", content="content1").put()
     Item(user=user, name="item2", content="content2").put()
     
     self.assertEqual(len(Item.all().fetch(10)), 2)
     self.assertEqual(len(user.items.fetch(10)), 2)
Exemple #2
0
def valid_signup(self, email, password, verify, user_name):
    if not valid_email(email):
        return "That's not a valid email."
    if not valid_password(password):
        return "That's nat a valid password."
    if password != verify:
        return "Your passwords didn't match."
    if not valid_user_name(user_name):
        return "That's not a valid username."
    if User.get_by_name(user_name):
        return "This user already exists."
    if User.get_by_email(email):
        return "This email already registered."
Exemple #3
0
 def testLike(self):
     user = User(name="test1", email="*****@*****.**", password="******")
     user.put()
     
     ranking_json = '{"title": "ranking", "itemNames": ["item1", "item2", "item3"], "itemContents": ["content1", "content2", "content3"], "ranks": [0, 1, 2]}'
     ranking_form = RankingForm(ranking_json) 
     ranking = Ranking.create(user, ranking_form)
     
     self.assertEqual(ranking.number_of_likes, 0)
     ranking.like(user)
     self.assertEqual(ranking.number_of_likes, 1)
     ranking.like(user)
     self.assertEqual(ranking.number_of_likes, 0)
Exemple #4
0
def valid_signup(self, email, password, verify, user_name):
    if not valid_email(email):
        return "That's not a valid email."
    if not valid_password(password):
        return "That's nat a valid password."
    if password != verify:
        return "Your passwords didn't match."
    if not valid_user_name(user_name):
        return "That's not a valid username."
    if User.get_by_name(user_name):
        return "This user already exists."
    if User.get_by_email(email):
        return "This email already registered."
Exemple #5
0
    def post(self):
        
        user_name = self.request.get('user_name')
        password = self.request.get('password')
        verify = self.request.get('verify')
        email = self.request.get('email')

        error_login = valid_signup(self, email, password, verify, user_name)
        
        if error_login:
            self.render('signup.html', error_login=error_login, email=email, password=password, verify=verify, user_name=user_name)
        else:
            user = User(name=user_name, password=password, email=email)
            user.put()
            self.set_current_user(user)
            time.sleep(0.2)
            self.redirect('/')
Exemple #6
0
 def testUser(self):
     name = "test"
     email ="*****@*****.**"
     user = User(name=name, email=email, password="******")
     user.put()
     self.assertEqual(user.key(), User.get_by_name(name).key())
     self.assertEqual(user.key(), User.get_by_email(email).key())
Exemple #7
0
 def post(self):
     email = self.request.get('email')
     password = self.request.get('password')
     user = User.get_by_email(email)
     if (not user) or (password != user.password):
         self.render('signin.html', error_login = "******", email=email, password=password)
     else:
         self.set_current_user(user)
         self.redirect('/')
Exemple #8
0
 def testCreateRanking(self):
     name = "test"
     email ="*****@*****.**"
     user = User(name=name, email=email, password="******")
     user.put()
     
     ranking_json = '{"title": "ranking", "itemNames": ["item1", "item2", "item3"], "itemContents": ["content1", "content2", "content3"], "ranks": [0, 1, 2]}'
     ranking_form = RankingForm(ranking_json) 
     ranking = Ranking.create(user, ranking_form)
     
     votes = user.rankings.fetch(10)
     self.assertEqual(len(votes), 1)
     self.assertListEqual(ranking.get_ranks(), [[0, 1, 2]])
     
     items = ranking.get_items()
     self.assertEqual(len(items), 3)
     
     self.assertTrue(ranking.is_sorted_by(user), "Ranking should be sorted by user")
Exemple #9
0
    def get(self, user_name):
        
        user = User.get_by_name(user_name)
        if not user:
            self.error(404)

        if self.get_current_user():
            self.render_user_page(user)
        else:
            self.redirect("/signup")
Exemple #10
0
    def post(self, user_name, ranking_id):

        user = User.get_by_name(user_name)
        ranking = Ranking.get_by_id(int(ranking_id))
        ranking.like(user)

        if not user:
            self.error(404)
        if self.get_current_user():
            self.write(str(ranking.number_of_likes))
        else:
            self.redirect("/signup")
Exemple #11
0
 def post(self, user_name, ranking_id): 
     
     user = User.get_by_name(user_name)
     ranking = Ranking.get_by_id(int(ranking_id))
     ranking.like(user)
     
     if not user:
         self.error(404)
     if self.get_current_user():
         self.write(str(ranking.number_of_likes))
     else:
         self.redirect("/signup")
Exemple #12
0
 def post(self):
     email = self.request.get('email')
     password = self.request.get('password')
     user = User.get_by_email(email)
     if (not user) or (password != user.password):
         self.render('signin.html',
                     error_login="******",
                     email=email,
                     password=password)
     else:
         self.set_current_user(user)
         self.redirect('/')
Exemple #13
0
    def post(self):

        user_name = self.request.get('user_name')
        password = self.request.get('password')
        verify = self.request.get('verify')
        email = self.request.get('email')

        error_login = valid_signup(self, email, password, verify, user_name)

        if error_login:
            self.render('signup.html',
                        error_login=error_login,
                        email=email,
                        password=password,
                        verify=verify,
                        user_name=user_name)
        else:
            user = User(name=user_name, password=password, email=email)
            user.put()
            self.set_current_user(user)
            time.sleep(0.2)
            self.redirect('/')
Exemple #14
0
 def get_current_user(self):
     user_name = self.request.cookies.get('user_name')
     user_name = check_secure_val(user_name)
     if not user_name:
         return None
     return User.get_by_name(user_name.split('|')[0])
Exemple #15
0
 def testUpdateRanking(self):
     user1 = User(name="test1", email="*****@*****.**", password="******")
     user1.put()
     
     user2 = User(name="test2", email="*****@*****.**", password="******")
     user2.put()
     
     user3 = User(name="test3", email="*****@*****.**", password="******")
     user3.put()
     
     ranking_json = '{"title": "ranking", "itemNames": ["item1", "item2", "item3"], "itemContents": ["content1", "content2", "content3"], "ranks": [0, 1, 2]}'
     ranking_form = RankingForm(ranking_json) 
     ranking = Ranking.create(user1, ranking_form)
     self.assertEqual(ranking.number_of_votes, 1)
     
     vote2 = Vote(parent=ranking, user=user2, ranks=[2,1,0])
     vote2.put()
     ranking.update(vote2)
     self.assertEqual(ranking.number_of_votes, 2)
     
     vote3 = Vote(parent=ranking, user=user3, ranks=[2,1,0])
     vote3.put()
     ranking.update(vote3)
     self.assertEqual(ranking.number_of_votes, 3)
     
     self.assertListEqual(ranking.get_ranks(), [[0, 1, 2], [2, 1, 0], [2, 1, 0]])
     self.assertListEqual(ranking.ranks, [2, 1, 0])
     self.assertEqual(ranking.user, user1)
     self.assertListEqual([user.key() for user in ranking.get_users()], [user.key() for user in User.all()])
     
     self.assertTrue(ranking.is_sorted_by(user1), "Ranking should be sorted by user")
     self.assertTrue(ranking.is_sorted_by(user2), "Ranking should be sorted by user")
     self.assertTrue(ranking.is_sorted_by(user3), "Ranking should be sorted by user")
Exemple #16
0
 def get_current_user(self):
     user_name = self.request.cookies.get("user_name")
     user_name = check_secure_val(user_name)
     if not user_name:
         return None
     return User.get_by_name(user_name.split("|")[0])