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)
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."
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)
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('/')
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())
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('/')
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")
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")
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")
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('/')
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])
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")
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])