def test_creating_user(self): with test_database(db, (Users,)): Users.create_user(username="******", password="******") self.assertTrue(Users.get_user(1)) self.assertTrue(Users.check_exists("konrad")) self.assertEquals(1, Users.select().count()) Users.create_user(username="******", password="******", real_name="Malgosia Samosia", description="test") self.assertEquals(2, Users.select().count()) self.assertRaises(IntegrityError, lambda: Users.create_user(username="******", password="******"))
def test_saving_and_deleting_categories(self): with test_database(db, (Users, Articles, Categories, ArticleCategories)): Users.create_user(username="******", password="******") user1 = Users.select().get() art = Articles.create_article(title="test article1", body="test", draft=True, author=user1) art2 = Articles.create_article(title="test article2", body="test", draft=True, author=user1) art.save_article_categories([u"cat1", u"cat2", u"cat3"]) self.assertIn("cat1", str(tuple(art.get_article_categories()))) self.assertIn("cat2", str(tuple(art.get_article_categories()))) self.assertIn("cat3", str(tuple(art.get_article_categories()))) art.save_article_categories(["cat1", "cat2", "cat3"]) cat = Categories.select().count() self.assertEquals(3, cat) cat4 = Categories.create(name="cat4") cat5 = Categories.create(name="cat5") cat6 = Categories.create(name="cat6") art.save_article_categories(["cat4"]) self.assertIn("cat4", str(tuple(art.get_article_categories()))) self.assertEquals(4, art.get_article_categories().count()) art2.save_article_categories(("cat1", "cat4", "cat7")) cats = Categories.select().group_by(Categories.name) self.assertIn("cat7", str(tuple(cats))) self.assertEquals(7, cats.count()) art.delete_instance(recursive=True) self.assertEquals(7, cats.count()) self.assertEquals( ArticleCategories.select().group_by( ArticleCategories.id).count(), 4) cat4.delete_instance(recursive=True) self.assertEquals( ArticleCategories.select().group_by( ArticleCategories.id).count(), 3)
def test_creating_user(self): with test_database(db, (Users, )): Users.create_user(username="******", password="******") self.assertTrue(Users.get_user(1)) self.assertTrue(Users.check_exists("konrad")) self.assertEquals(1, Users.select().count()) Users.create_user(username = "******",\ password = "******",\ real_name = "Malgosia Samosia", \ description = "test") self.assertEquals(2, Users.select().count()) self.assertRaises( IntegrityError, lambda: Users.create_user(username="******", password="******"))
def test_saving_and_deleting_categories(self): with test_database(db, (Users, Articles, Categories, ArticleCategories)): Users.create_user(username = "******", password = "******") user1 = Users.select().get() art = Articles.create_article(title = "test article1", body = "test", draft = True, author = user1) art2 = Articles.create_article(title = "test article2", body = "test", draft = True, author = user1) art.save_article_categories([u"cat1", u"cat2", u"cat3"]) self.assertIn("cat1", str(tuple(art.get_article_categories()))) self.assertIn("cat2", str(tuple(art.get_article_categories()))) self.assertIn("cat3", str(tuple(art.get_article_categories()))) art.save_article_categories(["cat1", "cat2", "cat3"]) cat = Categories.select().count() self.assertEquals(3, cat) cat4 = Categories.create(name = "cat4") cat5 = Categories.create(name = "cat5") cat6 = Categories.create(name = "cat6") art.save_article_categories(["cat4"]) self.assertIn("cat4", str(tuple(art.get_article_categories()))) self.assertEquals(4, art.get_article_categories().count()) art2.save_article_categories(("cat1", "cat4", "cat7")) cats = Categories.select().group_by(Categories.name) self.assertIn("cat7", str(tuple(cats))) self.assertEquals(7, cats.count()) art.delete_instance(recursive = True) self.assertEquals(7, cats.count()) self.assertEquals(ArticleCategories.select().group_by(ArticleCategories.id).count(), 4) cat4.delete_instance(recursive = True) self.assertEquals(ArticleCategories.select().group_by(ArticleCategories.id).count(), 3)
def test_test_gallery_methods(self): with test_database(db, (Users, UserImages)): Users.create_user(username = "******", password = "******") user1 = Users.select().get() UserImages.add_image(image_link = self.ADDRESS,\ description = "test",\ is_vertical = True, \ owner = user1,\ imgur_img = False,\ delete_hash = None) image = UserImages.select().get() self.assertFalse(image.gallery) UserImages.gallerify(image) self.assertTrue(image.gallery) UserImages.gallerify(image) self.assertFalse(image.gallery) for num in range(2, 10): UserImages.add_image(image_link = "test image %d" % num,\ description = "test %d" % num,\ owner = user1) self.assertEquals(9, UserImages.get_count()) paginated = UserImages.get_gallery_images(1, 2) self.assertEquals(2, len(tuple(paginated))) self.assertIn(self.ADDRESS, str(tuple(paginated))) self.assertNotIn("test image 3", str(tuple(paginated))) paginated = UserImages.get_gallery_images(5, 2) self.assertIn("test image 9", str(tuple(paginated))) self.assertEquals(1, len(tuple(paginated)))
def test_test_gallery_methods(self): with test_database(db, (Users, UserImages)): Users.create_user(username="******", password="******") user1 = Users.select().get() UserImages.add_image(image_link = self.ADDRESS,\ description = "test",\ is_vertical = True, \ owner = user1,\ imgur_img = False,\ delete_hash = None) image = UserImages.select().get() self.assertFalse(image.gallery) UserImages.gallerify(image) self.assertTrue(image.gallery) UserImages.gallerify(image) self.assertFalse(image.gallery) for num in range(2, 10): UserImages.add_image(image_link = "test image %d" % num,\ description = "test %d" % num,\ owner = user1) self.assertEquals(9, UserImages.get_count()) paginated = UserImages.get_gallery_images(1, 2) self.assertEquals(2, len(tuple(paginated))) self.assertIn(self.ADDRESS, str(tuple(paginated))) self.assertNotIn("test image 3", str(tuple(paginated))) paginated = UserImages.get_gallery_images(5, 2) self.assertIn("test image 9", str(tuple(paginated))) self.assertEquals(1, len(tuple(paginated)))
def test_creating_and_deleting_image(self): with test_database(db, (Users, UserImages)): Users.create_user(username = "******", password = "******") user1 = Users.select().get() UserImages.add_image(image_link = self.ADDRESS,\ description = "test",\ is_vertical = True, \ owner = user1,\ imgur_img = False,\ delete_hash = None) image = UserImages.select().get() self.assertEquals(self.ADDRESS ,image.image_link) self.assertEquals("test", image.description) self.assertEquals(user1, image.owner) UserImages.add_image(image_link = self.ADDRESS,\ description = "test",\ is_vertical = True, \ owner = user1,\ imgur_img = False,\ delete_hash = None) self.assertEquals(2, UserImages.get_count()) self.assertTrue(UserImages.check_exists(self.ADDRESS)) self.assertFalse(UserImages.check_exists(self.ADDRESS + "bam")) image = UserImages.get_image(2) UserImages.delete_image(image) self.assertEquals(1, UserImages.get_count()) image = UserImages.get_image(1) UserImages.delete_image(image) self.assertEquals(0, UserImages.get_count())
def test_creating_and_deleting_image(self): with test_database(db, (Users, UserImages)): Users.create_user(username="******", password="******") user1 = Users.select().get() UserImages.add_image(image_link = self.ADDRESS,\ description = "test",\ is_vertical = True, \ owner = user1,\ imgur_img = False,\ delete_hash = None) image = UserImages.select().get() self.assertEquals(self.ADDRESS, image.image_link) self.assertEquals("test", image.description) self.assertEquals(user1, image.owner) UserImages.add_image(image_link = self.ADDRESS,\ description = "test",\ is_vertical = True, \ owner = user1,\ imgur_img = False,\ delete_hash = None) self.assertEquals(2, UserImages.get_count()) self.assertTrue(UserImages.check_exists(self.ADDRESS)) self.assertFalse(UserImages.check_exists(self.ADDRESS + "bam")) image = UserImages.get_image(2) UserImages.delete_image(image) self.assertEquals(1, UserImages.get_count()) image = UserImages.get_image(1) UserImages.delete_image(image) self.assertEquals(0, UserImages.get_count())
def test_getting_similar_articles(self): with test_database(db, (Users, Articles, Categories, ArticleCategories)): Users.create_user(username = "******", password = "******") user1 = Users.select().get() for x in range(1, 8): globals()["article" + str(x)] = Articles.create_article(title = "test article" + str(x), body = "test", draft = True, author = user1) for y in range(1, 5): globals()["category" + str(y)] = Categories.create(name = "test" + str(y)) ArticleCategories.create(article = article1, category = category1) ArticleCategories.create(article = article1, category = category2) ArticleCategories.create(article = article1, category = category3) ArticleCategories.create(article = article2, category = category1) ArticleCategories.create(article = article2, category = category2) ArticleCategories.create(article = article2, category = category3) ArticleCategories.create(article = article3, category = category1) ArticleCategories.create(article = article3, category = category2) ArticleCategories.create(article = article3, category = category3) ArticleCategories.create(article = article4, category = category1) ArticleCategories.create(article = article4, category = category2) ArticleCategories.create(article = article5, category = category1) ArticleCategories.create(article = article5, category = category2) ArticleCategories.create(article = article5, category = category3) ArticleCategories.create(article = article6, category = category2) ArticleCategories.create(article = article7, category = category4) sel = article1.get_similar_articles() self.assertIn("test article2", str(tuple(sel))) self.assertIn("test article3", str(tuple(sel))) self.assertIn("test article5", str(tuple(sel))) self.assertNotIn("test article1", str(tuple(sel))) self.assertNotIn("test article4", str(tuple(sel))) sel = article1.get_similar_articles(limit = 4) self.assertIn("test article2", str(tuple(sel))) self.assertIn("test article3", str(tuple(sel))) self.assertIn("test article5", str(tuple(sel))) self.assertIn("test article4", str(tuple(sel))) self.assertNotIn("test article6", str(tuple(sel))) self.assertNotIn("test article1", str(tuple(sel))) sel = article1.get_similar_articles(common_categories = 3, limit = 5) self.assertIn("test article2", str(tuple(sel))) self.assertIn("test article3", str(tuple(sel))) self.assertIn("test article5", str(tuple(sel))) self.assertNotIn("test article1", str(tuple(sel))) self.assertNotIn("test article4", str(tuple(sel))) sel = article7.get_similar_articles() self.assertEquals(sel.wrapped_count(False), 0) # Test getting article categories while we're at it q = article1.get_article_categories() self.assertIn("test1",str(tuple(q)) ) self.assertIn("test2",str(tuple(q))) self.assertNotIn("test4", str(tuple(q))) q = article4.get_article_categories() self.assertIn("test1",str(tuple(q)) ) self.assertNotIn("test3", str(tuple(q))) q = article7.get_article_categories() self.assertIn("test4",str(tuple(q)) ) self.assertNotIn("test3", str(tuple(q)))
def test_getting_similar_articles(self): with test_database(db, (Users, Articles, Categories, ArticleCategories)): Users.create_user(username="******", password="******") user1 = Users.select().get() for x in range(1, 8): globals()["article" + str(x)] = Articles.create_article( title="test article" + str(x), body="test", draft=True, author=user1) for y in range(1, 5): globals()["category" + str(y)] = Categories.create(name="test" + str(y)) ArticleCategories.create(article=article1, category=category1) ArticleCategories.create(article=article1, category=category2) ArticleCategories.create(article=article1, category=category3) ArticleCategories.create(article=article2, category=category1) ArticleCategories.create(article=article2, category=category2) ArticleCategories.create(article=article2, category=category3) ArticleCategories.create(article=article3, category=category1) ArticleCategories.create(article=article3, category=category2) ArticleCategories.create(article=article3, category=category3) ArticleCategories.create(article=article4, category=category1) ArticleCategories.create(article=article4, category=category2) ArticleCategories.create(article=article5, category=category1) ArticleCategories.create(article=article5, category=category2) ArticleCategories.create(article=article5, category=category3) ArticleCategories.create(article=article6, category=category2) ArticleCategories.create(article=article7, category=category4) sel = article1.get_similar_articles() self.assertIn("test article2", str(tuple(sel))) self.assertIn("test article3", str(tuple(sel))) self.assertIn("test article5", str(tuple(sel))) self.assertNotIn("test article1", str(tuple(sel))) self.assertNotIn("test article4", str(tuple(sel))) sel = article1.get_similar_articles(limit=4) self.assertIn("test article2", str(tuple(sel))) self.assertIn("test article3", str(tuple(sel))) self.assertIn("test article5", str(tuple(sel))) self.assertIn("test article4", str(tuple(sel))) self.assertNotIn("test article6", str(tuple(sel))) self.assertNotIn("test article1", str(tuple(sel))) sel = article1.get_similar_articles(common_categories=3, limit=5) self.assertIn("test article2", str(tuple(sel))) self.assertIn("test article3", str(tuple(sel))) self.assertIn("test article5", str(tuple(sel))) self.assertNotIn("test article1", str(tuple(sel))) self.assertNotIn("test article4", str(tuple(sel))) sel = article7.get_similar_articles() self.assertEquals(sel.wrapped_count(False), 0) # Test getting article categories while we're at it q = article1.get_article_categories() self.assertIn("test1", str(tuple(q))) self.assertIn("test2", str(tuple(q))) self.assertNotIn("test4", str(tuple(q))) q = article4.get_article_categories() self.assertIn("test1", str(tuple(q))) self.assertNotIn("test3", str(tuple(q))) q = article7.get_article_categories() self.assertIn("test4", str(tuple(q))) self.assertNotIn("test3", str(tuple(q)))