def test_validate_register(self): self.assertEquals( 0, len(BlogUser.objects.filter(email='*****@*****.**'))) response = self.client.post( reverse('account:register'), { 'username': '******', 'email': '*****@*****.**', 'password1': 'password123!q@wE#R$T', 'password2': 'password123!q@wE#R$T', }) self.assertEquals( 1, len(BlogUser.objects.filter(email='*****@*****.**'))) user = BlogUser.objects.filter(email='*****@*****.**')[0] sign = get_md5(get_md5(settings.SECRET_KEY + str(user.id))) path = reverse('accounts:result') url = '{path}?type=validation&id={id}&sign={sign}'.format(path=path, id=user.id, sign=sign) response = self.client.get(url) self.assertEqual(response.status_code, 200) self.client.login(username='******', password='******') user = BlogUser.objects.filter(email='*****@*****.**')[0] user.is_superuser = True user.is_staff = True user.save() delete_sidebar_cache(user.username) category = Category() category.name = "categoryaaa" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() article = Article() article.category = category article.title = "nicetitle333" article.body = "nicecontentttt" article.author = user article.type = 'a' article.status = 'p' article.save() response = self.client.get(article.get_admin_url()) self.assertEqual(response.status_code, 200) response = self.client.get(reverse('account:logout')) self.assertIn(response.status_code, [301, 302, 200]) response = self.client.get(article.get_admin_url()) self.assertIn(response.status_code, [301, 302, 200]) response = self.client.post(reverse('account:login'), { 'username': '******', 'password': '******' }) self.assertIn(response.status_code, [301, 302, 200]) response = self.client.get(article.get_admin_url()) self.assertIn(response.status_code, [301, 302, 200])
def test_validate_comment(self): site = Site.objects.get_current().domain user = BlogUser.objects.create_superuser(email="*****@*****.**", username="******", password="******") self.client.login(username='******', password='******') c = Category() c.name = "categoryccc" c.created_time = datetime.datetime.now() c.last_mod_time = datetime.datetime.now() c.save() article = Article() article.title = "nicetitleccc" article.body = "nicecontentccc" article.author = user article.category = c article.type = 'a' article.status = 'p' article.save() s = TextMessage([]) s.content = "nicetitleccc" rsp = search(s, None) self.assertTrue(rsp != '没有找到相关文章。') rsp = category(None, None) self.assertIsNotNone(rsp) rsp = recents(None, None) self.assertTrue(rsp != '暂时还没有文章') cmd = commands() cmd.title = "test" cmd.command = "ls" cmd.describe = "test" cmd.save() cmdhandler = CommandHandler() rsp = cmdhandler.run('test') self.assertIsNotNone(rsp) s.source = 'u' s.content = 'test' msghandler = MessageHandler(s, {}) #msghandler.userinfo.isPasswordSet = True #msghandler.userinfo.isAdmin = True msghandler.handler() s.content = 'y' msghandler.handler() s.content = 'idcard:12321233' msghandler.handler() s.content = 'weather:上海' msghandler.handler() s.content = 'admin' msghandler.handler() s.content = '123' msghandler.handler() s.content = 'exit' msghandler.handler()
def test_validate_account(self): site = get_current_site().domain user = BlogUser.objects.create_superuser( email="*****@*****.**", username="******", password="******") testuser = BlogUser.objects.get(username='******') loginresult = self.client.login(username='******', password='******') self.assertEqual(loginresult, True) response = self.client.get('/admin/') self.assertEqual(response.status_code, 200) category = Category() category.name = "categoryaaa" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() article = Article() article.title = "nicetitleaaa" article.body = "nicecontentaaa" article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() response = self.client.get(article.get_admin_url()) self.assertEqual(response.status_code, 200)
def test_validate_account(self): site = Site.objects.get_current().domain user = BlogUser.objects.create_superuser(email="*****@*****.**", username="******", password="******") self.client.login(username='******', password='******') response = self.client.get('/admin/') self.assertEqual(response.status_code, 200) category = Category() category.name = "categoryaaa" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() article = Article() article.title = "nicetitleaaa" article.body = "nicecontentaaa" article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() response = self.client.get(article.get_admin_url()) self.assertEqual(response.status_code, 200)
def test_validate_account(self): site = Site.objects.get_current().domain user = BlogUser.objects.create_superuser(email="*****@*****.**", username="******", password="******") self.client.login(username='******', password='******') response = self.client.get('/admin/') self.assertEqual(response.status_code, 200) category = Category() category.name = "categoryaaa" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() article = Article() article.title = "nicetitleaaa" article.body = "nicecontentaaa" article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() response = self.client.get(article.get_admin_url()) self.assertEqual(response.status_code, 200)
def test_validate_article(self): from accounts.models import BlogUser site = Site.objects.get_current().domain user = BlogUser() user.email = "*****@*****.**" user.username = "******" user.password = "******" user.set_password("liangliangyy") user.save() response = self.client.get(user.get_absolute_url()) self.assertEqual(response.status_code, 200) category = Category() category.name = "category" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() response = self.client.get(category.get_absolute_url()) self.assertEqual(response.status_code, 200) article = Article() article.title = "nicetitle" article.body = "nicecontent" article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() response = self.client.get(article.get_absolute_url()) self.assertEqual(response.status_code, 200)
def test_validate_comment(self): site = Site.objects.get_current().domain user = BlogUser.objects.create_superuser(email="*****@*****.**", username="******", password="******") self.client.login(username='******', password='******') c = Category() c.name = "categoryccc" c.created_time = datetime.datetime.now() c.last_mod_time = datetime.datetime.now() c.save() article = Article() article.title = "nicetitleccc" article.body = "nicecontentccc" article.author = user article.category = c article.type = 'a' article.status = 'p' article.save() s = TextMessage([]) s.content = "nicetitleccc" rsp = search(s, None) self.assertTrue(rsp != '没有找到相关文章。') rsp = category(None, None) self.assertIsNotNone(rsp) rsp = recents(None, None) self.assertTrue(rsp != '暂时还没有文章') cmd = commands() cmd.title = "test" cmd.command = "ls" cmd.describe = "test" cmd.save() cmdhandler = CommandHandler() rsp = cmdhandler.run('test') self.assertIsNotNone(rsp) s.source = 'u' s.content = 'test' msghandler = MessageHandler(s, {}) #msghandler.userinfo.isPasswordSet = True #msghandler.userinfo.isAdmin = True msghandler.handler() s.content = 'y' msghandler.handler() s.content='idcard:12321233' msghandler.handler() s.content='weather:上海' msghandler.handler() s.content='admin' msghandler.handler() s.content='123' msghandler.handler() s.content = 'exit' msghandler.handler()
def AddArticle(request): """ Add a new blog. """ if not request.user.is_authenticated(): return render_to_response("user/login.html", RequestContext(request)) if request.method == 'POST': title = request.POST.get('title', '') body = request.POST.get('body', '') status = request.POST.get('status', '') abstract = request.POST.get('abstract', '') keywords = request.POST.get('keywords', '') en_keywords = request.POST.get('en_keywords', '') topped = request.POST.get('topped', '') price = request.POST.get('price', '') attachment = request.POST.get('attachment', '') category = request.POST.get('category', '') tag = request.POST.get('tag', '') myFile = request.FILES.get("attachment", None) if not myFile: return HttpResponse('Please upload file.') destination = open(os.path.join(settings.MEDIA_ROOT, myFile.name), 'wb+') for chunk in myFile.chunks(): destination.write(chunk) destination.close() attachedFile = Attachment() attachedFile.name = myFile.name attachedFile.attachment = myFile.name newFile = attachedFile.save() article = Article() article.title = title article.body = body article.status = status article.abstract = abstract article.keywords = keywords article.en_keywords = en_keywords article.topped = topped article.price = price article.attachment = Attachment.objects.filter(name=myFile.name)[0] article.category = Category.objects.filter(id=category)[0] article.tag = Tag.objects.filter(id=tag)[0] article.user = User.objects.filter(id=request.user.id)[0] article.save() article_id = Article.objects.filter(title=title, status=article.status, category=article.category, tag=article.tag)[0] url = "article/" + str(article_id.id) return HttpResponseRedirect(url)
def test_validate_comment(self): site = get_current_site().domain user = BlogUser.objects.create_superuser( email="*****@*****.**", username="******", password="******") self.client.login(username='******', password='******') c = Category() c.name = "categoryccc" c.created_time = timezone.now() c.last_mod_time = timezone.now() c.save() article = Article() article.title = "nicetitleccc" article.body = "nicecontentccc" article.author = user article.category = c article.type = 'a' article.status = 'p' article.save() s = TextMessage([]) s.content = "nice" rsp = search(s, None) rsp = category(None, None) self.assertIsNotNone(rsp) rsp = recents(None, None) self.assertTrue(rsp != 'No articles yet') cmd = commands() cmd.title = "test" cmd.command = "ls" cmd.describe = "test" cmd.save() cmdhandler = CommandHandler() rsp = cmdhandler.run('test') self.assertIsNotNone(rsp) s.source = 'u' s.content = 'test' msghandler = MessageHandler(s, {}) # msghandler.userinfo.isPasswordSet = True # msghandler.userinfo.isAdmin = True msghandler.handler() s.content = 'y' msghandler.handler() s.content = 'idcard:12321233' msghandler.handler() s.content = 'weather:
def test_validate_register(self): self.assertEquals( 0, len(BlogUser.objects.filter(email='*****@*****.**'))) response = self.client.post( reverse('account:register'), { 'username': '******', 'email': '*****@*****.**', 'password1': 'password123!q@wE#R$T', 'password2': 'password123!q@wE#R$T', }) self.assertEquals( 1, len(BlogUser.objects.filter(email='*****@*****.**'))) self.client.login(username='******', password='******') user = BlogUser.objects.filter(email='*****@*****.**')[0] user.is_superuser = True user.is_staff = True user.save() delete_view_cache(user.username) category = Category() category.name = "categoryaaa" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() article = Article() article.category = category article.title = "nicetitle333" article.body = "nicecontentttt" article.author = user article.type = 'a' article.status = 'p' article.save() response = self.client.get(article.get_admin_url()) self.assertEqual(response.status_code, 200) response = self.client.get(reverse('account:logout')) self.assertIn(response.status_code, [301, 302, 200]) response = self.client.get(article.get_admin_url()) self.assertIn(response.status_code, [301, 302, 200]) response = self.client.post(reverse('account:login'), { 'username': '******', 'password': '******' }) self.assertIn(response.status_code, [301, 302, 200]) response = self.client.get(article.get_admin_url()) self.assertIn(response.status_code, [301, 302, 200])
def test_validate_register(self): self.assertEquals(0, len(BlogUser.objects.filter(email='*****@*****.**'))) response = self.client.post(reverse('account:register'), { 'username': '******', 'email': '*****@*****.**', 'password1': 'password123', 'password2': 'password123', }) self.assertEquals(1, len(BlogUser.objects.filter(email='*****@*****.**'))) self.client.login(username='******', password='******') user = BlogUser.objects.filter(email='*****@*****.**')[0] user.is_superuser = True user.is_staff = True user.save() category = Category() category.name = "categoryaaa" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() article = Article() article.category = category article.title = "nicetitle333" article.body = "nicecontentttt" article.author = user article.type = 'a' article.status = 'p' article.save() response = self.client.get(article.get_admin_url()) self.assertEqual(response.status_code, 200) response = self.client.get(reverse('account:logout')) self.assertIn(response.status_code, [301, 302]) response = self.client.get(article.get_admin_url()) self.assertIn(response.status_code, [301, 302]) response = self.client.post(reverse('account:login'), { 'username': '******', 'password': '******' }) self.assertIn(response.status_code, [301, 302]) response = self.client.get(article.get_admin_url()) self.assertEqual(response.status_code, 200)
def test_validate_article(self): site = Site.objects.get_current().domain user = BlogUser.objects.get_or_create(email="*****@*****.**", username="******")[0] user.set_password("liangliangyy") user.save() response = self.client.get(user.get_absolute_url()) self.assertEqual(response.status_code, 200) category = Category() category.name = "category" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() tag = Tag() tag.name = "nicetag" tag.save() article = Article() article.title = "nicetitle" article.body = "nicecontent" article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() self.assertEqual(0, article.tags.count()) article.tags.add(tag) article.save() self.assertEqual(1, article.tags.count()) response = self.client.get(article.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get(tag.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get(category.get_absolute_url()) self.assertEqual(response.status_code, 200) from DjangoBlog.spider_notify import SpiderNotify SpiderNotify.baidu_notify([article.get_full_url()])
def test_validate_comment(self): site = Site.objects.get_current().domain user = BlogUser.objects.create_superuser( email="*****@*****.**", username="******", password="******") self.client.login(username='******', password='******') category = Category() category.name = "categoryccc" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() article = Article() article.title = "nicetitleccc" article.body = "nicecontentccc" article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() commenturl = reverse('comments:postcomment', kwargs={'article_id': article.id}) response = self.client.post(commenturl, {'body': '123ffffffffff'}) self.assertEqual(response.status_code, 200) article = Article.objects.get(pk=article.pk) self.assertEqual(len(article.comment_list()), 0) response = self.client.post(commenturl, { 'body': '123ffffffffff', 'email': user.email, 'name': user.username }) self.assertEqual(response.status_code, 302) article = Article.objects.get(pk=article.pk) self.assertEqual(len(article.comment_list()), 1)
def test_validate_register(self): self.assertEquals(0, len(BlogUser.objects.filter(email='*****@*****.**'))) response = self.client.post(reverse('account:register'), { 'username': '******', 'email': '*****@*****.**', 'password1': 'password123', 'password2': 'password123', }) self.assertEquals(1, len(BlogUser.objects.filter(email='*****@*****.**'))) self.client.login(username='******', password='******') user = BlogUser.objects.filter(email='*****@*****.**')[0] user.is_superuser = True user.is_staff = True user.save() article = Article() article.title = "nicetitle333" article.body = "nicecontentttt" article.author = user article.type = 'a' article.status = 'p' article.save() response = self.client.get(article.get_admin_url()) self.assertEqual(response.status_code, 200) response = self.client.get(reverse('account:logout')) self.assertIn(response.status_code, [301, 302]) response = self.client.get(article.get_admin_url()) self.assertIn(response.status_code, [301, 302]) response = self.client.post(reverse('account:login'), { 'username': '******', 'password': '******' }) self.assertIn(response.status_code, [301, 302]) response = self.client.get(article.get_admin_url()) self.assertEqual(response.status_code, 200)
def articleAdd(request): if request.method == "POST": title = request.POST.get("title") category_id = request.POST.get("category_id") excerpt = request.POST.get("excerpt") tags = request.POST.get("tags") cover_img = request.POST.get("cover_img") img = str(cover_img).split("media/")[1] content = request.POST.get("content") article_type = request.POST.get("type") recommended = request.POST.get("recommended") try: article = Article() article.title = title article.excerpt = excerpt article.img = img article.body = content article.author_id = request.user.id article.category_id = category_id article.is_recommend = recommended if article_type == 'release': article.is_release = 1 elif article_type == 'save': article.is_release = 0 article.save() article.tags.add(*list(Tag.objects.filter(id__in=tags.split(',')))) result = { "code": "1", "msg": "提交成功!", } except Exception as e: print(e) result = { "code": "0", "msg": "提交失败!", } return JsonResponse(result) else: category_all = Category.objects.all() tag_all = Tag.objects.all() return render(request, 'layui-mini/management/articleAdd.html', locals())
def test_validate_article(self): site = Site.objects.get_current().domain user = BlogUser.objects.get_or_create(email="*****@*****.**", username="******")[0] user.set_password("systemsgt.cn") user.is_staff = True user.is_superuser = True user.save() response = self.client.get(user.get_absolute_url()) self.assertEqual(response.status_code, 200) category = Category() category.name = "category" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() tag = Tag() tag.name = "nicetag" tag.save() article = Article() article.title = "nicetitle" article.body = "nicecontent" article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() self.assertEqual(0, article.tags.count()) article.tags.add(tag) article.save() self.assertEqual(1, article.tags.count()) response = self.client.get(article.get_absolute_url()) self.assertEqual(response.status_code, 200) from DjangoBlog.spider_notify import SpiderNotify SpiderNotify.notify(article.get_absolute_url()) response = self.client.get(tag.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get(category.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get('/search', {'q': 'django'}) self.assertEqual(response.status_code, 200) s = load_articletags(article) self.assertIsNotNone(s) p = Paginator(Article.objects.all(), 2) s = load_pagination_info(p.page(1), '', '') self.assertIsNotNone(s) p = Paginator(Tag.objects.all(), 2) s = load_pagination_info(p.page(1), '分类标签归档', 'tagname') self.assertIsNotNone(s) p = Paginator(BlogUser.objects.all(), 2) s = load_pagination_info(p.page(1), '作者文章归档', 'username') self.assertIsNotNone(s) p = Paginator(Category.objects.all(), 2) s = load_pagination_info(p.page(1), '分类目录归档', 'categoryname') self.assertIsNotNone(s) f = BlogSearchForm() f.search() self.client.login(username='******', password='******') from DjangoBlog.spider_notify import SpiderNotify SpiderNotify.baidu_notify([article.get_full_url()]) rsp = self.client.get('/refresh/') self.assertEqual(rsp.status_code, 200) from blog.templatetags.blog_tags import gravatar_url, gravatar u = gravatar_url('*****@*****.**') u = gravatar('*****@*****.**')
def test_validate_article(self): site = get_current_site().domain user = BlogUser.objects.get_or_create(email="*****@*****.**", username="******")[0] user.set_password("superstrongz") user.is_staff = True user.is_superuser = True user.save() response = self.client.get(user.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get('admin/admin/logentry/') s = SideBar() s.sequence = 1 s.name = 'test' s.content = 'test content' s.is_enable = True s.save() category = Category() category.name = "category" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() tag = Tag() tag.name = "nicetag" tag.save() article = Article() article.title = "nicetitle" article.body = "nicecontent" article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() self.assertEqual(0, article.tags.count()) article.tags.add(tag) article.save() self.assertEqual(1, article.tags.count()) for i in range(20): article = Article() article.title = "nicetitle" + str(i) article.body = "nicetitle" + str(i) article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() article.tags.add(tag) article.save() response = self.client.get(article.get_absolute_url()) self.assertEqual(response.status_code, 200) from DjangoBlog.spider_notify import SpiderNotify SpiderNotify.notify(article.get_absolute_url()) response = self.client.get(tag.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get(category.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get('/search', {'q': 'django'}) self.assertEqual(response.status_code, 200) s = load_articletags(article) self.assertIsNotNone(s) rsp = self.client.get('/refresh') self.assertEqual(rsp.status_code, 302) self.client.login(username='******', password='******') rsp = self.client.get('/refresh') self.assertEqual(rsp.status_code, 200) response = self.client.get(reverse('blog:archives')) self.assertEqual(response.status_code, 200) p = Paginator(Article.objects.all(), 2) self.__check_pagination__(p, '', '') p = Paginator(Article.objects.filter(tags=tag), 2) self.__check_pagination__(p, '分类标签归档', tag.slug) p = Paginator(Article.objects.filter(author__username='******'), 2) self.__check_pagination__(p, '作者文章归档', 'superstrongz') p = Paginator(Article.objects.filter(category=category), 2) self.__check_pagination__(p, '分类目录归档', category.slug) f = BlogSearchForm() f.search() self.client.login(username='******', password='******') from DjangoBlog.spider_notify import SpiderNotify SpiderNotify.baidu_notify([article.get_full_url()]) from blog.templatetags.blog_tags import gravatar_url, gravatar u = gravatar_url('*****@*****.**') u = gravatar('*****@*****.**')
def test_validate_article(self): site = Site.objects.get_current().domain user = BlogUser.objects.get_or_create(email="*****@*****.**", username="******")[0] user.set_password("liangliangyy") user.save() response = self.client.get(user.get_absolute_url()) self.assertEqual(response.status_code, 200) category = Category() category.name = "category" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() tag = Tag() tag.name = "nicetag" tag.save() article = Article() article.title = "nicetitle" article.body = "nicecontent" article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() self.assertEqual(0, article.tags.count()) article.tags.add(tag) article.save() self.assertEqual(1, article.tags.count()) response = self.client.get(article.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get(tag.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get(category.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get('/search', {'q': 'django'}) self.assertEqual(response.status_code, 200) s = load_articletags(article) self.assertIsNotNone(s) p = Paginator(Article.objects.all(), 2) s = load_pagination_info(p.page(1), '', '') self.assertIsNotNone(s) p = Paginator(Tag.objects.all(), 2) s = load_pagination_info(p.page(1), '分类标签归档', 'tagname') self.assertIsNotNone(s) p = Paginator(BlogUser.objects.all(), 2) s = load_pagination_info(p.page(1), '作者文章归档', 'username') self.assertIsNotNone(s) p = Paginator(Category.objects.all(), 2) s = load_pagination_info(p.page(1), '分类目录归档', 'categoryname') self.assertIsNotNone(s) f = BlogSearchForm() f.search() from DjangoBlog.spider_notify import SpiderNotify SpiderNotify.baidu_notify([article.get_full_url()])
def test_validate_comment(self): site = get_current_site().domain user = BlogUser.objects.create_superuser( email="*****@*****.**", username="******", password="******") self.client.login(username='******', password='******') category = Category() category.name = "categoryccc" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() article = Article() article.title = "nicetitleccc" article.body = "nicecontentccc" article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() commenturl = reverse('comments:postcomment', kwargs={'article_id': article.id}) response = self.client.post(commenturl, {'body': '123ffffffffff'}) self.assertEqual(response.status_code, 200) article = Article.objects.get(pk=article.pk) self.assertEqual(len(article.comment_list()), 0) response = self.client.post(commenturl, { 'body': '123ffffffffff', 'email': user.email, 'name': user.username }) self.assertEqual(response.status_code, 302) article = Article.objects.get(pk=article.pk) self.assertEqual(len(article.comment_list()), 1) parent_comment_id = article.comment_list()[0].id response = self.client.post( commenturl, { 'body': ''' # Title1 ```python import os ``` [url](https://www.lylinux.net/) [ddd](http://www.baidu.com) ''', 'email': user.email, 'name': user.username, 'parent_comment_id': parent_comment_id }) self.assertEqual(response.status_code, 302) article = Article.objects.get(pk=article.pk) self.assertEqual(len(article.comment_list()), 2) comment = Comment.objects.get(id=parent_comment_id) tree = parse_commenttree(article.comment_list(), comment) self.assertEqual(len(tree), 1) data = show_comment_item(comment, True) self.assertIsNotNone(data) s = get_max_articleid_commentid() self.assertIsNotNone(s)
def test_validate_article(self): site = Site.objects.get_current().domain user = BlogUser.objects.get_or_create(email="*****@*****.**", username="******")[0] user.set_password("liangliangyy") user.is_staff = True user.is_superuser = True user.save() response = self.client.get(user.get_absolute_url()) self.assertEqual(response.status_code, 200) s = SideBar() s.sequence = 1 s.name = 'test' s.content = 'test content' s.is_enable = True s.save() category = Category() category.name = "category" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() tag = Tag() tag.name = "nicetag" tag.save() article = Article() article.title = "nicetitle" article.body = "nicecontent" article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() self.assertEqual(0, article.tags.count()) article.tags.add(tag) article.save() self.assertEqual(1, article.tags.count()) for i in range(20): article = Article() article.title = "nicetitle" + str(i) article.body = "nicetitle" + str(i) article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() article.tags.add(tag) article.save() response = self.client.get(article.get_absolute_url()) self.assertEqual(response.status_code, 200) from DjangoBlog.spider_notify import SpiderNotify SpiderNotify.notify(article.get_absolute_url()) response = self.client.get(tag.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get(category.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get('/search', {'q': 'django'}) self.assertEqual(response.status_code, 200) s = load_articletags(article) self.assertIsNotNone(s) rsp = self.client.get('/refresh') self.assertEqual(rsp.status_code, 302) self.client.login(username='******', password='******') rsp = self.client.get('/refresh') self.assertEqual(rsp.status_code, 200) response = self.client.get(reverse('blog:archives')) self.assertEqual(response.status_code, 200) p = Paginator(Article.objects.all(), 2) self.__check_pagination__(p, '', '') p = Paginator(Article.objects.filter(tags=tag), 2) self.__check_pagination__(p, '分类标签归档', tag.slug) p = Paginator(Article.objects.filter(author__username='******'), 2) self.__check_pagination__(p, '作者文章归档', 'liangliangyy') p = Paginator(Article.objects.filter(category=category), 2) self.__check_pagination__(p, '分类目录归档', category.slug) f = BlogSearchForm() f.search() self.client.login(username='******', password='******') from DjangoBlog.spider_notify import SpiderNotify SpiderNotify.baidu_notify([article.get_full_url()]) from blog.templatetags.blog_tags import gravatar_url, gravatar u = gravatar_url('*****@*****.**') u = gravatar('*****@*****.**')
def test_validate_article(self): # site = get_current_site().domain user = BlogUser.objects.get_or_create(email="*****@*****.**", username="******")[0] user.set_password("liangliangyy") user.is_staff = True user.is_superuser = True user.save() response = self.client.get(user.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get('/admin/servermanager/emailsendlog/') response = self.client.get('admin/admin/logentry/') s = SideBar() s.sequence = 1 s.name = 'test' s.content = 'test content' s.is_enable = True s.save() category = Category() category.name = "category" category.created_time = datetime.datetime.now() category.last_mod_time = datetime.datetime.now() category.save() tag = Tag() tag.name = "nicetag" tag.save() article = Article() article.title = "nicetitle" article.body = "nicecontent" article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() self.assertEqual(0, article.tags.count()) article.tags.add(tag) article.save() self.assertEqual(1, article.tags.count()) for i in range(20): article = Article() article.title = "nicetitle" + str(i) article.body = "nicetitle" + str(i) article.author = user article.category = category article.type = 'a' article.status = 'p' article.save() article.tags.add(tag) article.save() response = self.client.get(article.get_absolute_url()) self.assertEqual(response.status_code, 200) SpiderNotify.notify(article.get_absolute_url()) response = self.client.get(tag.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get(category.get_absolute_url()) self.assertEqual(response.status_code, 200) response = self.client.get('/search', {'q': 'django'}) self.assertEqual(response.status_code, 200) s = load_articletags(article) self.assertIsNotNone(s) rsp = self.client.get('/refresh') self.assertEqual(rsp.status_code, 302) self.client.login(username='******', password='******') rsp = self.client.get('/refresh') self.assertEqual(rsp.status_code, 200) response = self.client.get(reverse('blog:archives')) self.assertEqual(response.status_code, 200) p = Paginator(Article.objects.all(), 2) self.__check_pagination__(p, '', '') p = Paginator(Article.objects.filter(tags=tag), 2) self.__check_pagination__(p, '分类标签归档', tag.slug) p = Paginator(Article.objects.filter(author__username='******'), 2) self.__check_pagination__(p, '作者文章归档', 'liangliangyy') p = Paginator(Article.objects.filter(category=category), 2) self.__check_pagination__(p, '分类目录归档', category.slug) f = BlogSearchForm() f.search() self.client.login(username='******', password='******') SpiderNotify.baidu_notify([article.get_full_url()]) # u = gravatar_url('*****@*****.**') u = gravatar('*****@*****.**') link = Links(sequence=1, name="lylinux", link='https://wwww.lylinux.net') link.save() response = self.client.get('/links.html') self.assertEqual(response.status_code, 200)
def parse_md_to_article(file_path): """ 解析 md文件 :param file_path: md文件路径 :return: Article 文章对象 """ with open(file_path) as f: print(file_path) content = f.read() head = re.findall(r"---[.\\n\s\S]*---", content) # print(re.findall(r"---[.\\n\s\S]*---", content)) title = re.findall( r"^title: .*$", content, re.M)[0].split(": ")[1] if not title: print(file_path, "-------") created_time = re.findall( r"^date: .*$", content, re.M)[0].split(": ")[1] tags = re.findall( r"^tags: .*$", content, re.M)[0].split(": ")[1] tags = list(filter(None, re.split(r"[\[ ,\]]", tags, re.M))) try: category_id = re.findall( r"^category: .*$", content, re.M)[0].split(": ")[1] except IndexError: category_id = re.findall( r"^categories: .*$", content, re.M)[0].split(": ")[1] body = content.split(head[0])[1].strip() abstract = body.split("<!--more-->")[0] last_modified_time = created_time status = 'p' views = 0 likes = 0 topped = 0 article = None try: article = Article.objects.get(title=title) except Exception: pass if not article: article = Article() article.title = title print("----------", title) if title is 'Android Debug Bridge': print("true") if created_time: p = parse_datetime(created_time.strip()).replace(tzinfo=utc) naive = p article.created_time = naive article.last_modified_time = naive else: print("----------error create time is null:", title) article.body = body article.abstract = abstract article.status = status article.views = views article.likes = likes article.topped = topped article.save() save_tags(tags=tags) for tag in tags: article.tags.add(Tag.objects.get(name=tag)) c = None save_category(category_id) try: c = Category.objects.get(name=category_id) except Exception: pass if not c: c = Category(name=category_id) article.category_id = c.id # print(article.title, article.created_time, article.tags, article.category_id) return article