def test_delete_non_empty_cate(self):
        with self.app.test_request_context():
            cate = Category.create(id='testcate', name='testcate')
            Article.create(id='testart', title='testart',
                           text_type='md', source_text='# hello',
                           category=cate)

        resp = self.client.delete(self.api_url_base + '/category/' + cate.id)
        self.assertResponseRestful(resp)
        self.assertResponseErrorInField(resp, 'not_empty')
Example #2
0
    def test_get_an_article_src_without_permission(self):
        with self.app.test_request_context():
            article = Article.create(id='testart',
                                     title='testart',
                                     text_type='md',
                                     source_text='# hello',
                                     is_commentable=False)

        resp = self.client.get(self.api_url_base + '/article/' + article.id,
                               query_string={'with_src': 'true'})
        self.assertResponseErrorInField(resp, 'permission')
Example #3
0
 def post_an_article(self, public=True, author=None):
     with self.app.test_request_context():
         cate = self.insert_a_category() if public else None
         return Article.create(id='testarticle',
                               title='testarticle',
                               text_type='md',
                               source_text='# hello world',
                               is_commentable='false',
                               public=public,
                               category=cate,
                               author=author)
Example #4
0
    def setUp(self):
        self.reset_database()
        self.enable_comment_review(True)
        self.logout()
        self.login_as_author()

        with self.app.test_request_context():
            self.art = Article.create(id='testart',
                                      title='',
                                      text_type='',
                                      source_text='',
                                      author='author')
        self.path_prefix = self.api_url_base + '/article/' + self.art.id
Example #5
0
    def test_write_a_comment_reply_to_mismatch_article_comment(self):
        with self.app.test_request_context(), self.db.atomic():
            article = Article.create(id='testart_',
                                     title='',
                                     text_type='',
                                     source_text='')

        payload = {'nickname': 'author_test', 'content': 'test comment'}
        resp = self.client.patch(self.api_url_base + '/article/' + article.id +
                                 '/comment/' + '10010',
                                 content_type='application/json',
                                 data=json_dumps(payload))
        self.assertResponseErrorInField(resp, 'comment_id')
Example #6
0
    def test_get_a_comment_mismatch_article(self):
        with self.app.test_request_context(), self.db.atomic():
            article = Article.create(id='testart_',
                                     title='',
                                     text_type='',
                                     source_text='')
            comment = Comment.create(content='comment_test',
                                     article=self.art,
                                     nickname='tester',
                                     reviewed=True)

        resp = self.client.get(self.api_url_base + '/article/' + article.id +
                               '/comment/' + str(comment.id))
        self.assertResponseErrorInField(resp, 'comment_id')
Example #7
0
    def test_get_a_private_article_without_permission(self):
        self.login_as_author()
        with self.app.test_request_context():
            article = Article.create(id='testart',
                                     title='testart',
                                     text_type='md',
                                     source_text='# hello',
                                     is_commentable=False,
                                     public=False)

        self.logout()
        self.login_as_su()
        resp = self.client.get(self.api_url_base + '/article/' + article.id)
        self.assertResponseErrorInField(resp, 'permission')
Example #8
0
    def test_get_a_private_article(self):
        self.login_as_author()
        with self.app.test_request_context():
            article = Article.create(id='testart',
                                     title='testart',
                                     text_type='md',
                                     source_text='# hello',
                                     is_commentable=False,
                                     author='author',
                                     public=False)

        resp = self.client.get(self.api_url_base + '/article/' + article.id)
        self.assertResponseRestfulAndSuccess(resp)

        result_article = self.get_json(resp)['article']
        self.assertEqual(result_article['id'], article.id)
Example #9
0
    def test_get_an_article_src(self):
        with self.app.test_request_context():
            article = Article.create(id='testart',
                                     title='testart',
                                     text_type='md',
                                     source_text='# hello',
                                     is_commentable=False)

        self.login_as_su()
        resp = self.client.get(self.api_url_base + '/article/' + article.id,
                               query_string={'with_src': 'true'})
        self.assertResponseRestfulAndSuccess(resp)

        result_article = self.get_json(resp)['article']
        self.assertEqual(result_article['id'], article.id)
        self.assertIn('text_type', result_article)
        self.assertIn('source_text', result_article)