Пример #1
0
    def test_update_field(self):
        self.add_message()
        self.add_usage()
        aa = MUsage.query_recent(self.userid, '1')
        tf = False
        for i in aa:
            if i.user_id == self.userid:
                self.uid = i.uid
                assert i.post_id == self.postid
                tf = True

        assert tf

        p = {'post_id': self.postid2}
        self.add_message(**p)
        a = MPost.get_by_uid(self.postid2)
        MUsage.update_field(self.uid, post_id=self.postid2)
        aa = MUsage.query_recent(self.userid, '1')
        tf = False
        for i in aa:
            if i.user_id == self.userid:
                assert i.post_id == self.postid2
                tf = True
        assert tf
        MUsage.update_field(self.uid, self.postid)
        aa = MUsage.query_recent(self.userid, '1')
        tf = False
        for i in aa:
            if i.user_id == self.userid:
                assert i.post_id == self.postid
                tf = True
        assert tf
        MPost.delete(self.postid2)
        self.tearDown()
Пример #2
0
    def test_query_random(self):
        MPost.delete(self.uid)
        kwargs = {
            'limit': 300,
            'kind': '2',
        }
        ff = MPost.query_random(**kwargs)
        f = ff.count()

        gg = {
            'user_name': '7788',
            'kind': '2',
        }
        self.add_message(**gg)

        pp = MPost.query_random(**kwargs)
        TF = False
        for i in range(pp.count()):
            if pp[i].uid == self.uid:
                assert pp[i].user_name == '7788'
                TF = True

            else:
                continue
        assert TF == True
        assert pp.count() == f + 1
        self.tearDown()
Пример #3
0
    def tearDown(self):
        MCategory.delete(self.tag_id)
        MPost.delete(self.post_id2)
        MPost.delete(self.post_id)

        MPost2Catalog.remove_relation(self.post_id, self.tag_id)

        MRelation.delete(self.uid)
Пример #4
0
 def tearDown(self):
     print("function teardown")
     tt = MPostHist.get_by_uid(self.uid)
     if tt:
         MPostHist.delete(tt.uid)
     tt = MPost.get_by_uid(self.post_id)
     if tt:
         MPost.delete(tt.uid)
Пример #5
0
    def tearDown(self):
        print("function teardown")

        MCategory.delete(self.tag_id)

        MPost.delete(self.postid)

        MPost2Catalog.remove_relation(self.postid, self.tag_id)
Пример #6
0
    def tearDown(self):
        print("function teardown")
        tt = MCategory.get_by_uid(self.uid)
        if tt:
            MCategory.delete(self.uid)
        tt = MPost.get_by_uid(self.postid)
        if tt:
            MPost.delete(self.postid)

            MPost2Catalog.remove_relation(self.postid, self.uid)
Пример #7
0
    def tearDown(self):
        print("function teardown")

        tt = self.uu.get_by_uid(self.postid)
        if tt:
            MCategory.delete(self.tag_id)

            MPost.delete(self.postid)

            MPost2Catalog.remove_relation(self.postid, self.tag_id)
            print('545456365635653')
Пример #8
0
    def tearDown(self):
        print("function teardown")

        self.uu.delete(self.uid)
        MCategory.delete(self.tag_id)
        MPost.delete(self.post_id2)
        MPost.delete(self.post_id)
        MPost2Catalog.remove_relation(self.post_id, self.tag_id)
        tt = MLabel.get_by_slug(self.slug)
        if tt:
            MLabel.delete(tt.uid)
Пример #9
0
    def tearDown(self):
        print("function teardown")

        tt = MPost.get_by_uid(self.post_id)
        if tt:
            print('777777777777')
            MPost.delete(self.post_id)

        tt = MLabel.get_by_slug(self.tag_id)
        if tt:
            print('8888888888')
            MLabel.delete(tt.uid)
Пример #10
0
    def test_insert2(self):
        uid = self.uid
        post_data = {
            'title': '',
            'keywords': 'sd,as',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'logo': '/static/',
            'user_name': 'ss',
            'kind': '9',
            'extinfo': ''
        }
        extinfo = {}

        MPost.add_meta(uid, post_data, extinfo)
        tt = MPost.get_by_uid(uid)

        assert tt.uid == uid
        MPost.delete(uid)

        post_data = {
            'title': '1',
            'keywords': 'sd,as',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'logo': '/static/',
            'user_name': 'ss',
            'kind': '9',
            'extinfo': ''
        }
        uu = MPost.add_meta(self.uid, post_data)

        assert uu == uid
        MPost.delete(uid)

        post_data = {
            'title': '天',
            'keywords': 'sd,as',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'logo': '/static/',
            'user_name': 'ss',
            'kind': '2',
            'extinfo': ''
        }
        uu = MPost.add_meta(self.uid, post_data)
        assert uu == uid
        MPost.delete(uid)

        post_data = {
            'title': self.title,
            'keywords': 'sd,as',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'logo': '/static/',
            'user_name': 'ss',
            'kind': '2',
            'extinfo': ''
        }
        uu = MPost.add_meta(self.uid, post_data)
        tt = MPost.get_by_uid(uid)

        assert tt.uid == uu
        MPost.delete(uid)
Пример #11
0
    def tearDown(self):
        print("function teardown")
        tt = self.uu.get_by_slug(self.tmpl_uid)
        if tt:
            print('99999999')
            self.uu.delete(self.tmpl_uid)
        tt = self.uu.get_by_slug(self.uid)
        if tt:
            print('444444444')
            self.uu.delete(self.uid)

        tt = MPost.get_by_uid(self.post_id)
        if tt:
            print('0000000000')
            MPost.delete(self.post_id)
Пример #12
0
    def _delete(self, *args, **kwargs):
        '''
        delete the post.
        :param args:
        :param kwargs:
        :return:
        '''
        _ = kwargs
        uid = args[0]
        current_infor = MPost.get_by_uid(uid)

        if self.check_post_role()['DELETE']:
            pass
        else:
            return False

        if MPost.delete(uid):

            tslug = MCategory.get_by_uid(current_infor.extinfo['def_cat_uid'])

            MCategory.update_count(current_infor.extinfo['def_cat_uid'])

            if router_post[self.kind] == 'info':
                url = "filter"
                id_dk8 = current_infor.extinfo['def_cat_uid']

            else:
                url = "category"
                id_dk8 = tslug.slug

            self.redirect('/{0}/{1}'.format(url, id_dk8))

        else:
            self.redirect('/{0}/{1}'.format(router_post[self.kind], uid))
Пример #13
0
    def j_delete(self, *args):
        '''
        Delete the post, but return the JSON.
        :param uid:
        :return:
        '''

        uid = args[0]
        if self.check_post_role()['DELETE']:
            pass
        else:
            return False

        current_infor = MPost.get_by_uid(uid)
        tslug = MCategory.get_by_uid(current_infor.extinfo['def_cat_uid'])
        is_deleted = MPost.delete(uid)
        MCategory.update_count(current_infor.extinfo['def_cat_uid'])

        if is_deleted:
            output = {
                'del_info': 1,
                'cat_slug': tslug.slug,
                'cat_id': tslug.uid,
                'kind': current_infor.kind
            }
        else:
            output = {
                'del_info': 0,
            }
        return json.dump(output, self)
Пример #14
0
    def tearDown(self):
        print("function teardown")

        tt = self.uu.get_by_uid(self.app_f)
        if tt:
            MPost2Catalog.remove_relation(self.app_t, self.tag_id)
            MPost2Catalog.remove_relation(self.app_f, self.tag_id)
            MCategory.delete(self.tag_id)

            MPost.delete(self.app_f)
            MPost.delete(self.app_t)

        MRelation.delete(self.uid)
        tt = MLabel.get_by_slug(self.slug)
        if tt:
            MLabel.delete(tt.uid)
Пример #15
0
class PostAjaxHandler(PostHandler):
    def initialize(self):
        self.init()
        self.mpost = MPost()
        self.mcat = MCategory()
        self.cats = self.mcat.query_all()
        self.mpost_hist = MPostHist()
        self.mpost2catalog = MPost2Catalog()
        # self.mpost2reply = MPost2Reply()
        self.mpost2label = MPost2Label()
        self.mrel = MRelation()
        self.tmpl_dir = 'admin'
        self.tmpl_router = 'post_ajax'

    @tornado.web.authenticated
    def delete(self, del_id):
        if self.check_post_role(self.userinfo)['DELETE']:
            pass
        else:
            return False
        is_deleted = self.mpost.delete(del_id)

        if is_deleted:
            output = {
                'del_info ': 1,
            }
        else:
            output = {
                'del_info ': 0,
            }
        return json.dump(output, self)
Пример #16
0
 def tearDown(self):
     print("function teardown")
     tt = MCategory.get_by_uid(self.uid)
     if tt:
         MCategory.delete(self.uid)
     tt = MPost.get_by_uid(self.postid)
     if tt:
         MPost.delete(self.postid)
         # a=MPost2Catalog.query_by_post(self.postid)
         # a=MPost2Catalog.query_by_entity_uid(self.postid)
         # print(a.count())
         #
         # MPost2Catalog.del_by_uid(a[0].uid)
     tt = MPost2Catalog.query_by_id(self.uid)
     if tt:
         MPost2Catalog.del_by_uid(self.uid)
Пример #17
0
    def j_delete(self, *args):
        '''
        Delete the post, but return the JSON.
        '''

        uid = args[0]

        current_infor = MPost.get_by_uid(uid)
        tslug = MCategory.get_by_uid(current_infor.extinfo['def_cat_uid'])
        is_deleted = MPost.delete(uid)
        MCategory.update_count(current_infor.extinfo['def_cat_uid'])

        if is_deleted:
            output = {
                'del_info': 1,
                'cat_slug': tslug.slug,
                'cat_id': tslug.uid,
                'kind': current_infor.kind

            }
        else:
            output = {
                'del_info': 0,
            }
        return json.dump(output, self)
Пример #18
0
    def _delete(self, *args, **kwargs):
        '''
        delete the post.
        '''
        _ = kwargs
        uid = args[0]
        current_infor = MPost.get_by_uid(uid)

        if MPost.delete(uid):

            tslug = MCategory.get_by_uid(current_infor.extinfo['def_cat_uid'])

            MCategory.update_count(current_infor.extinfo['def_cat_uid'])

            if router_post[self.kind] == 'info':
                url = "filter"
                id_dk8 = current_infor.extinfo['def_cat_uid']

            else:
                url = "list"
                id_dk8 = tslug.slug

            self.redirect('/{0}/{1}'.format(url, id_dk8))

        else:
            self.redirect('/{0}/{1}'.format(router_post[self.kind], uid))
Пример #19
0
    def test_get_app_relations(self, **kwargs):
        MPost.delete(self.uid)
        MPost.delete(self.uid2)
        # 添加post
        post_data = {
            'title': 'test1',
            'cnt_md': '## test',
            'user_name': 'test',
            'view_count': 1,
            'logo': ' ',
            'keywords': 'test',
            'kind': '1'
        }

        uu1 = MPost.create_post(self.uid, post_data)

        post_data2 = {
            'title': 'test2',
            'cnt_md': '## test2',
            'user_name': 'test2',
            'view_count': 1,
            'logo': ' ',
            'keywords': 'test2',
            'kind': '1'
        }

        uu2 = MPost.create_post(self.uid2, post_data2)

        # 添加category
        cat_data = {
            'name': kwargs.get('name', 'category'),
            'slug': kwargs.get('slug', 'slug1'),
            'order': kwargs.get('order', '0'),
            'kind': kwargs.get('kind1', '1'),
            'pid': kwargs.get('pid', '0000'),
        }
        MCategory.add_or_update(self.tag_id, cat_data)

        MPost2Catalog.add_record(uu1, self.tag_id)

        MRelation.add_relation(uu1, uu2)

        MRelation.get_app_relations(uu1)

        assert True
Пример #20
0
    def tearDown(self):
        print("function teardown")
        tt = MCategory.get_by_uid(self.tag_id)
        if tt:
            MCategory.delete(self.tag_id)
        tt = MPost.get_by_uid(self.post_id)
        if tt:
            MPost.delete(self.post_id)

            MPost2Catalog.remove_relation(self.post_id, self.tag_id)
        tt = MPost.get_by_uid(self.post_id2)
        if tt:
            MPost.delete(self.post_id2)

            MPost2Catalog.remove_relation(self.post_id2, self.tag_id)

        tt = MLabel.get_by_slug(self.slug)
        if tt:
            print('8888888888')
            MLabel.delete(self.slug)
Пример #21
0
    def tearDown(self):
        print("function teardown")
        tt = self.uu.get_by_uid(self.uid)

        if tt:
            print('翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻3')
            self.uu.delete(self.uid)
        tt = MCategory.get_by_uid(self.tag_id)
        if tt:
            MCategory.delete(self.tag_id)
        tt = self.uu.get_by_uid(self.post_id)
        if tt:
            MCategory.delete(self.tag_id)

            MPost.delete(self.post_id2)
            MPost.delete(self.post_id)

            MPost2Catalog.remove_relation(self.post_id, self.tag_id)
            print('545456365635653')

        tt = MLabel.get_by_slug(self.slug)
        if tt:
            print('8888888888')
            MLabel.delete(tt.uid)
Пример #22
0
    def delete(self, *args, **kwargs):
        '''
        delete the post.
        :param args:
        :param kwargs:
        :return:
        '''
        uid = args[0]
        current_infor = MPost.get_by_uid(uid)

        if self.check_post_role()['DELETE']:
            pass
        else:
            return False

        if MPost.delete(uid):
            self.redirect('/list/{0}'.format(current_infor.extinfo['def_cat_uid']))
        else:
            self.redirect('/{0}/{1}'.format(router_post[self.kind], uid))
Пример #23
0
    def j_delete(self, uid):
        '''
        Delete the post, but return the JSON.
        :param uid:
        :return:
        '''

        if self.check_post_role()['DELETE']:
            pass
        else:
            return False
        is_deleted = MPost.delete(uid)

        if is_deleted:
            output = {
                'del_info ': 1,
            }
        else:
            output = {
                'del_info ': 0,
            }
        return json.dump(output, self)
Пример #24
0
    def delete(self, *args):
        '''
        Delete the post via Ajax request.
        :param args:
        :return:
        '''
        uid = args[0]
        if self.check_post_role()['DELETE']:
            pass
        else:
            return False
        is_deleted = MPost.delete(uid)

        if is_deleted:
            output = {
                'del_info ': 1,
            }
        else:
            output = {
                'del_info ': 0,
            }
        return json.dump(output, self)
Пример #25
0
class PostHandler(BaseHandler):
    def initialize(self):
        self.init()
        self.mpost = MPost()
        self.mcat = MCategory()
        self.cats = self.mcat.query_all()
        self.mpost_hist = MPostHist()
        self.mpost2catalog = MPost2Catalog()
        self.mpost2label = MPost2Label()
        self.mrel = MRelation()
        self.tmpl_dir = 'doc'
        self.kind = '1'
        self.tmpl_router = 'post'

    def get(self, url_str=''):
        url_arr = self.parse_url(url_str)

        if url_str == '':
            self.recent()
        elif len(url_arr) == 1 and url_str.endswith('.html'):
            self.view_or_add(url_str.split('.')[0])
        elif url_str == 'add_document':
            self.to_add_document()
        elif url_arr[0] == 'add_document':
            self.to_add_document()
        elif url_str == 'recent':
            self.recent()
        elif url_str == 'refresh':
            self.refresh()
        elif url_arr[0] in ['modify', 'edit']:
            self.to_modify(url_arr[1])
        elif url_arr[0] == 'delete':
            self.delete(url_arr[1])
        elif url_arr[0] == 'ajax_count_plus':
            self.ajax_count_plus(url_arr[1])
        elif len(url_arr) == 1:
            self.view_or_add(url_str)
        else:
            kwd = {
                'info': '页面未找到',
            }
            self.render(
                'html/404.html',
                kwd=kwd,
                userinfo=self.userinfo,
            )

    def post(self, url_str=''):
        if url_str == '':
            return
        url_arr = self.parse_url(url_str)

        if url_arr[0] in ['modify', 'edit']:
            self.update(url_arr[1])
        elif url_arr[0] in ['add_document', '_add']:
            self.user_add_post()
        elif len(url_arr) == 1 and url_str.endswith('.html'):
            self.add_post(url_str)
        else:
            self.redirect('html/404.html')

    def ajax_count_plus(self, uid):
        output = {
            'status': 1 if self.mpost.update_view_count_by_uid(uid) else 0,
        }
        return json.dump(output, self)

    def recent(self, with_catalog=True, with_date=True):
        kwd = {
            'pager': '',
            'unescape': tornado.escape.xhtml_unescape,
            'title': '最近文档',
            'with_catalog': with_catalog,
            'with_date': with_date,
        }
        self.render(
            '{1}/{0}/post_list.html'.format(self.tmpl_router, self.tmpl_dir),
            kwd=kwd,
            view=self.mpost.query_recent(),
            view_all=self.mpost.query_all(),
            format_date=tools.format_date,
            userinfo=self.userinfo,
            cfg=config.cfg,
        )

    @tornado.web.authenticated
    def __could_edit(self, postid):

        post_rec = self.mpost.get_by_uid(postid)
        if not post_rec:
            return False
        if self.check_post_role(
                self.userinfo
        )['EDIT'] or post_rec.user_name == self.userinfo.user_name:
            return True
        else:
            return False

    def refresh(self):

        kwd = {
            'pager': '',
            'title': '最近文档',
        }
        self.render(
            'doc/post/post_list.html',
            kwd=kwd,
            userinfo=self.userinfo,
            view=self.mpost.query_dated(10),
            format_date=tools.format_date,
            unescape=tornado.escape.xhtml_unescape,
            cfg=config.cfg,
        )

    # def get_random(self):
    #     return self.mpost.query_random()

    def view_or_add(self, uid):
        if self.mpost.get_by_id(uid):
            self.view_post(uid)
        else:
            self.to_add(uid)

    @tornado.web.authenticated
    def to_add_document(self, ):
        if self.check_post_role(self.userinfo)['ADD']:
            pass
        else:
            return False
        kwd = {
            'pager': '',
            'cats': self.cats,
            'uid': '',
        }
        self.render(
            '{1}/{0}/post_add.html'.format(self.tmpl_router, self.tmpl_dir),
            kwd=kwd,
            tag_infos=self.mcat.query_all(),
            userinfo=self.userinfo,
            cfg=config.cfg,
        )

    @tornado.web.authenticated
    def to_add(self, uid):
        if self.check_post_role(self.userinfo)['ADD']:
            pass
        else:
            return False
        kwd = {
            'cats': self.cats,
            'uid': uid,
            'pager': '',
        }
        self.render(
            'doc/post/post_add.html',
            kwd=kwd,
            tag_infos=self.mcat.query_all(),
            cfg=config.cfg,
            userinfo=self.userinfo,
        )

    @tornado.web.authenticated
    def update(self, uid):
        if self.__could_edit(uid):
            pass
        else:
            return False

        post_data = self.get_post_data()

        post_data['user_name'] = self.get_current_user()
        is_update_time = True  # if post_data['is_update_time'][0] == '1' else False

        self.mpost_hist.insert_data(self.mpost.get_by_id(uid))
        self.mpost.update(uid, post_data, update_time=is_update_time)
        self.update_catalog(uid)
        self.update_tag(uid)
        self.redirect('/post/{0}.html'.format(uid))

    @tornado.web.authenticated
    def update_tag(self, signature):
        current_tag_infos = self.mpost2label.get_by_id(signature,
                                                       kind=self.kind + '1')
        post_data = self.get_post_data()
        if 'tags' in post_data:
            pass
        else:
            return False

        print('tags: {0}'.format(post_data['tags']))
        tags_arr = [x.strip() for x in post_data['tags'].split(',')]
        for tag_name in tags_arr:
            if tag_name == '':
                pass
            else:
                self.mpost2label.add_record(signature,
                                            tag_name,
                                            1,
                                            kind=self.kind + '1')

        for cur_info in current_tag_infos:
            print(cur_info.tag.name)
            if cur_info.tag.name in tags_arr:
                pass
            else:
                self.mpost2label.remove_relation(signature, cur_info.tag)

    @tornado.web.authenticated
    def update_catalog(self, uid):
        post_data = self.get_post_data()

        current_infos = self.mpost2catalog.query_by_entity_uid(uid,
                                                               kind=self.kind +
                                                               '0')
        new_tag_arr = []
        # HTML中预定义的
        def_cate_arr = ['gcat{0}'.format(x) for x in range(10)]
        # todo: next line should be deleted. keep here for historical reason.
        def_cate_arr.append('def_cat_uid')

        for key in def_cate_arr:
            if key in post_data:
                pass
            else:
                continue
            print('a' * 4)
            print(post_data[key])
            if post_data[key] == '' or post_data[key] == '0':
                continue
            # if len(post_data[key]) != 4:
            #     continue
            print(post_data[key])
            print(new_tag_arr)
            # 有可能选重复了。保留前面的
            if post_data[key] in new_tag_arr:
                continue

            new_tag_arr.append(post_data[key] + ' ' *
                               (4 - len(post_data[key])))

        for idx, val in enumerate(new_tag_arr):
            self.mpost2catalog.add_record(uid, val, idx)

        # 对原来的进行处理,如果不在现有中,则删除
        for cur_info in current_infos:
            if str(cur_info.tag.uid).strip() not in new_tag_arr:
                self.mpost2catalog.remove_relation(uid, cur_info.tag)

    @tornado.web.authenticated
    def to_modify(self, id_rec):
        if self.__could_edit(id_rec):
            pass
        else:
            return False

        kwd = {
            'pager': '',
            'cats': self.cats,
        }
        self.render(
            'doc/post/post_edit.html',
            kwd=kwd,
            unescape=tornado.escape.xhtml_unescape,
            tag_infos=self.mcat.query_all(kind=constant['cate_post']),
            app2label_info=self.mpost2label.get_by_id(
                id_rec, kind=constant['tag_post']),
            app2tag_info=self.mpost2catalog.query_by_entity_uid(
                id_rec, kind=constant['cate_post']),
            dbrec=self.mpost.get_by_id(id_rec),
            userinfo=self.userinfo,
            cfg=config.cfg,
        )

    def get_cat_str(self, cats):
        cat_arr = cats.split(',')
        out_str = ''
        for xx in self.cats:
            if str(xx.uid) in cat_arr:
                tmp_str = '''<li><a href="/category/{0}" style="margin:10px auto;"> {1} </a></li>
                '''.format(xx.slug, tornado.escape.xhtml_escape(xx.name))
                out_str += tmp_str

        return (out_str)

    def get_cat_name(self, id_cat):
        for x in self.cats:
            if x['id_cat'] == id_cat:
                return (x['name'])

    def __gen_last_current_relation(self, post_id):
        '''
        Generate the relation for the post and last post viewed.
        :param post_id:
        :return:
        '''
        last_post_id = self.get_secure_cookie('last_post_uid')
        if last_post_id:
            last_post_id = last_post_id.decode('utf-8')
        self.set_secure_cookie('last_post_uid', post_id)

        if last_post_id and self.mpost.get_by_id(last_post_id):
            self.add_relation(last_post_id, post_id)

    def view_post(self, post_id):
        self.__gen_last_current_relation(post_id)

        cats = self.mpost2catalog.query_by_entity_uid(post_id)
        # replys = self.mpost2reply.get_by_id(post_id)
        tag_info = self.mpost2label.get_by_id(post_id)

        rec = self.mpost.get_by_id(post_id)

        if not rec:
            kwd = {
                'info': '您要查看的页面不存在。',
            }
            self.render('html/404.html', kwd=kwd, userinfo=self.userinfo)
            return False

        if cats.count() == 0:
            cat_id = ''
        else:
            cat_id = cats.get().tag
        kwd = {'pager': '', 'editable': self.editable(), 'cat_id': cat_id}

        rel_recs = self.mrel.get_app_relations(rec.uid, 4)

        rand_recs = self.mpost.query_random(4 - rel_recs.count() + 2)

        self.render(
            'doc/post/post_view.html',
            view=rec,
            postinfo=rec,
            unescape=tornado.escape.xhtml_unescape,
            kwd=kwd,
            userinfo=self.userinfo,
            tag_info=tag_info,
            relations=rel_recs,
            rand_recs=rand_recs,
            replys=[],
            cfg=config.cfg,
        )

    def add_relation(self, f_uid, t_uid):
        if self.mpost.get_by_id(t_uid) is False:
            return False
        if f_uid == t_uid:
            '''
            关联其本身
            '''
            return False
        # 双向关联,但权重不一样.
        self.mrel.add_relation(f_uid, t_uid, 2)
        self.mrel.add_relation(t_uid, f_uid, 1)
        return True

    @tornado.web.authenticated
    def add_post(self, url_str):
        url_arr = url_str.split('.')
        if len(url_arr) == 2:
            id_post = url_arr[0]
            if len(id_post) == 5:
                pass
            else:
                return False
        else:
            return False

        if self.check_post_role(self.userinfo)['ADD']:
            pass
        else:
            return False
        post_data = self.get_post_data()

        post_data['user_name'] = self.userinfo.user_name

        cur_post_rec = self.mpost.get_by_id(id_post)
        if cur_post_rec is None:
            uid = self.mpost.insert_data(id_post, post_data)
            self.update_tag(uid)
            self.update_catalog(uid)
        self.redirect('/post/{0}.html'.format(id_post))

    @tornado.web.authenticated
    def user_add_post(self):
        if self.check_post_role(self.userinfo)['ADD']:
            pass
        else:
            return False
        post_data = self.get_post_data()

        if not ('title' in post_data):
            self.set_status(400)
            return False
        else:
            pass

        post_data['user_name'] = self.get_current_user()

        cur_uid = tools.get_uu5d()
        while self.mpost.get_by_id(cur_uid):
            cur_uid = tools.get_uu5d()

        uid = self.mpost.insert_data(cur_uid, post_data)
        self.update_tag(uid)
        self.update_catalog(uid)
        self.redirect('/post/{0}.html'.format(cur_uid))

    @tornado.web.authenticated
    def delete(self, del_id):
        if self.check_post_role(self.userinfo)['DELETE']:
            pass
        else:
            return False
        is_deleted = self.mpost.delete(del_id)
        if is_deleted:
            self.redirect('/post/recent')
        else:
            return False
Пример #26
0
class TestMReply():
    def setup(self):
        print('setup 方法执行于本类中每条用例之前')
        self.post = MPost()
        self.user = MUser()
        self.reply = MReply()

        self.post_title = 'ccc'
        self.username = '******'
        self.uid = tools.get_uu4d()

    # def test_insert_post(self):
    #     # raw_count = self.post.get_counts()
    #
    #     post_data = {
    #         'title': self.post_title,
    #         'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
    #         'user_name': 'Tome',
    #         'view_count': 1,
    #         'logo': '/static/',
    #         'keywords': 'sdf',
    #
    #     }
    #     self.post.insert_data(self.uid, post_data)
    #
    #
    #     tt = self.post.get_by_uid(self.uid)

    def test_insert_user(self):

        post_data = {
            'user_name': self.username,
            'user_pass': '******',
            'user_email': '*****@*****.**',
        }

        tt = self.user.create_user(post_data)

        print('=' * 20)
        print(tt)
        assert tt['success'] == True
        self.tearDown()

    def test_insert_reply(self):

        post_data = {
            'user_name': self.username,
            'user_pass': '******',
            'user_email': '*****@*****.**',
        }

        # tt=self.user.create_user(post_data)

        # u_id = self.user.get_by_name(self.username)
        #
        #
        # self.userid = u_id.uid
        #
        # print("*" * 50)
        # print(self.userid)
        # print("*" * 50)
        # post_data = {
        #     'user_name':[self.username],
        #     'create_user_id':[self.userid],
        #     'timestamp':['2'],
        #     'date':['1'],
        #     'cnt_md':['###adfafasf/sdf'],
        #     'cnt_html':['###adfafasf/sdf'],
        #     'vote':0,
        # }

        self.tearDown()

    #
    # def test_update_vote(self):
    #     self.reply.update_vote()
    #     assert True
    #
    #
    # def test_delete_by_uid(self):
    #     self.reply.delete_by_uid()
    #     assert True
    #
    #
    # def test_modify_by_uid(self):
    #     self.reply.modify_by_uid()
    #     assert True
    #

    def test_query_pager(self):
        self.reply.query_pager()
        assert True

    def test_total_number(self):
        self.reply.total_number()
        assert True

    def test_count_of_certain(self):
        self.reply.count_of_certain()
        assert True

    #
    # def test_delete(self):
    #     self.reply.delete()
    #     assert True
    #
    # def test_query_all(self):
    #     self.reply.query_all()
    #     assert True
    #
    # def test_get_by_zan(self):
    #     self.reply.get_by_zan()
    #     assert True
    #
    # def test_query_by_post(self):
    #     self.reply.query_by_post()
    #     assert True
    #
    # def test_create_reply(self):
    #     self.reply.create_reply()
    #     assert True
    #
    # def test_get_by_uid(self):
    #     self.reply.get_by_uid()
    #     assert True

    def tearDown(self):
        print("function teardown")
        tt = self.post.get_by_uid(self.uid)
        if tt:
            self.post.delete(tt.uid)
        self.user.delete_by_user_name(self.username)
Пример #27
0
class TestMPost():
    def setup(self):
        print('setup 方法执行于本类中每条用例之前')
        self.uu = MPost()
        self.m2c = MPost2Catalog()
        self.ml = MLabel()
        self.m2l = MPost2Label()
        self.labeluid = '9999'
        self.raw_count = self.uu.get_counts()
        self.post_title = 'ccc'
        self.uid = tools.get_uu4d()
        self.post_id = '66565'
        self.tag_id = '2342'
        self.post_id2 = '89898'
        self.slug = 'huio'

    def test_insert(self):
        raw_count = self.uu.get_counts()

        post_data = {
            'title': self.post_title,
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',
        }
        self.uu.create_post(self.uid, post_data)
        new_count = self.uu.get_counts()

        tt = self.uu.get_by_uid(self.uid)
        assert tt.title == post_data['title']
        assert tt.cnt_md == tornado.escape.xhtml_unescape(post_data['cnt_md'])
        assert tt.cnt_html == tools.markdown2html(post_data['cnt_md'])
        assert raw_count + 1 == new_count
        self.tearDown()

    def test_insert_2(self):
        '''Wiki insert: Test invalid title'''

        post_data = {
            'title': '',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',
        }
        uu = self.uu.create_post(self.uid, post_data)
        assert uu == False

        post_data = {
            'title': '1',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',
        }
        uu = self.uu.create_post(self.uid, post_data)
        assert uu == False

        post_data = {
            'title': '天',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',
        }
        uu = self.uu.create_post(self.uid, post_data)
        self.tearDown()
        assert uu == False

    def add_message(self, **kwargs):
        post_data = {
            'name': kwargs.get('name', 'category'),
            'slug': kwargs.get('slug', self.slug),
            'order': kwargs.get('order', '0'),
            'kind': kwargs.get('kind1', '1'),
            'pid': kwargs.get('pid', '0000'),
        }
        MCategory.add_or_update(self.tag_id, post_data)

        p_d = {
            'title': kwargs.get('title', 'iiiii'),
            'cnt_md': kwargs.get('cnt_md', 'grgr'),
            'time_create': kwargs.get('time_create', '1992'),
            'time_update': kwargs.get('time_update', '1996070600'),
            'user_name': kwargs.get('user_name', 'yuanyuan'),
            'view_count': kwargs.get('view_count', 1),
            'logo': kwargs.get('logo', 'prprprprpr'),
            'memo': kwargs.get('memo', ''),
            'order': kwargs.get('order', '1'),
            'keywords': kwargs.get('keywords', ''),
            'extinfo': kwargs.get('extinfo', {}),
            'kind': kwargs.get('kind2', '1'),
            'valid': kwargs.get('valid', 1),
        }
        post_id = kwargs.get('post_id', self.post_id)
        MPost.get_by_uid(post_id)

        MPost.create_post(post_id, p_d)

        MPost2Catalog.add_record(self.post_id, self.tag_id)

    def test_get_by_title(self):

        post_data = {
            'title': self.post_title,
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',
        }
        uid = self.uu.create_post(self.uid, post_data)

        ss = self.uu.get_by_uid(uid)
        assert ss.title == post_data['title']

        self.tearDown()

    def test_get_by_title2(self):
        '''Test Wiki title with SPACE'''

        post_data = {
            'title': '  ' + self.post_title + '  ',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',
        }
        uid = self.uu.create_post(self.uid, post_data)

        ss = self.uu.get_by_uid(uid)
        assert ss.title == self.post_title

        self.tearDown()

    def test_query_cat_random(self):
        self.add_message()
        p = {'limit': 300}
        TF = False
        qq = self.uu.query_cat_random(self.tag_id, **p)
        for i in qq:

            if i.uid == self.post_id:
                TF = True
        self.tearDown()
        assert TF

    def test_query_recent_most(self):
        self.add_message()
        qq = self.uu.query_recent_most(num=300)
        TF = False
        for i in qq:

            if i.uid == self.post_id:

                TF = True
        self.tearDown()
        assert TF

    def test_query_recent(self):
        self.add_message()
        qq = self.uu.query_recent(num=300)
        TF = False
        for i in qq:

            if i.uid == self.post_id:
                TF = True
        self.tearDown()
        assert TF

    def test_query_all(self):
        self.add_message()
        kwargs = {
            'limit': 300,
        }
        pp = self.uu.query_all(**kwargs)
        TF = False
        for i in pp:

            if i.uid == self.post_id:
                TF = True
        self.tearDown()
        assert TF

    def test_query_keywords_empty(self):
        self.add_message()
        pp = self.uu.query_keywords_empty()
        TF = False
        for i in pp:

            if i.uid == self.post_id:
                TF = True
        self.tearDown()
        assert TF

    def test_query_dated(self):
        self.add_message()
        qq = self.uu.query_dated(num=2000)

        TF = False
        for i in qq:

            if i.uid == self.post_id:
                TF = True
        self.tearDown()
        assert TF

    def test_query_most_pic(self):
        self.add_message()
        qq = self.uu.query_most_pic(300)
        TF = False
        for i in qq:

            if i.uid == self.post_id:
                TF = True
        self.tearDown()
        assert TF

    def test_query_cat_recent(self):
        self.add_message()
        qq = self.uu.query_cat_recent(self.tag_id, num=300)
        TF = False

        for i in qq:

            if i.uid == self.post_id:
                TF = True
        self.tearDown()
        assert TF

    def test_query_most(self):
        self.add_message()
        qq = self.uu.query_most(num=300)
        TF = False
        for i in qq:

            if i.uid == self.post_id:
                TF = True
        self.tearDown()
        assert TF

    def test_delete(self):
        self.add_message()
        qq = self.uu.delete(self.post_id)

        assert qq

        self.tearDown()

    def test_update_view_count_by_uid(self):

        post_data = {
            'title': self.post_title,
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',
        }
        self.uu.create_post(self.uid, post_data)

        rec = self.uu.get_by_uid(self.uid)

        viewcount0 = rec.view_count
        assert viewcount0 >= 1
        for x in range(100):
            self.uu.update_misc(rec.uid, count=True)

        viewcount1 = self.uu.get_by_uid(self.uid).view_count

        self.tearDown()
        assert viewcount1 >= 101

    def test_upate(self):
        y = {'logo': '123123'}
        self.add_message(**y)
        qq = {
            'title': 'oppssss',
            'logo': 'fffff',
            'cnt_md': 'iiii',
            'user_name': 'yy'
        }
        self.uu.update(self.post_id, qq)
        aa = self.uu.get_by_uid(self.post_id)
        assert aa.logo == qq['logo']
        assert aa.title == qq['title']

        self.tearDown()

    def test_get_by_uid(self):
        y = {'logo': '123123'}
        self.add_message(**y)
        a = self.uu.get_by_uid(self.post_id)
        assert a.logo == y['logo']
        self.tearDown()

    def test_get_counts(self):
        a = self.uu.get_counts()
        self.add_message()
        b = self.uu.get_counts()
        assert a + 1 >= b

        self.tearDown()

    def test_update_field(self):
        y = {'logo': '123123'}
        self.add_message(**y)
        self.uu.update_field(self.post_id, self.post_id2)
        bb = self.uu.get_by_uid(self.post_id)
        aa = self.uu.get_by_uid(self.post_id2)

        assert bb == None
        assert aa.logo == y['logo']

        self.tearDown()

    def test_update_cnt(self):
        self.add_message()
        qq = {'cnt_md': 'iiii', 'user_name': ' yy  '}
        self.uu.update_cnt(self.post_id, qq)
        bb = self.uu.get_by_uid(self.post_id)
        assert bb.cnt_md == qq['cnt_md']

        self.tearDown()

    def test_update_order(self):
        self.add_message()

        self.uu.update_order(self.post_id, '1')
        bb = self.uu.get_by_uid(self.post_id)
        assert bb.order == '1'

        self.tearDown()

    def test_add_or_update(self):
        bb = self.uu.get_by_uid(self.post_id)

        assert bb == None
        p_d = {
            'title': 'iiiii',
            'cnt_md': 'grgr',
            'time_create': '1992',
            'time_update': '1996070600',
            'user_name': 'yuanyuan',
            'view_count': '1',
            'logo': 'prprprprpr',
            'memo': '',
            'order': '1',
            'keywords': '',
            'extinfo': {},
            'kind': '1',
            'valid': '1',
        }
        self.uu.add_or_update(self.post_id, p_d)
        bb = self.uu.get_by_uid(self.post_id)
        assert bb.title == p_d['title']
        qq = {
            'title': 'oppssss',
            'logo': 'fffff',
            'cnt_md': 'iiii',
            'user_name': 'yy'
        }
        self.uu.add_or_update(self.post_id, qq)
        aa = self.uu.get_by_uid(self.post_id)
        self.tearDown()
        assert aa.logo == qq['logo']
        assert aa.title == qq['title']
        self.tearDown()

    def test_query_random(self):
        self.add_message()
        q = {'num': 300}
        qq = self.uu.query_random(**q)

        TF = False
        for i in qq:

            if i.uid == self.post_id:
                TF = True
        self.tearDown()
        assert TF

    def test_query_recent_edited(self):
        self.add_message()
        qq = self.uu.query_recent_edited(1555)

        TF = False
        for i in qq:

            if i.uid == self.post_id:
                TF = True
        self.tearDown()
        assert TF

    def test_query_by_tag(self):
        TF = False
        self.add_message()
        qq = self.uu.query_by_tag(self.tag_id)
        print(qq.count())

        for i in qq:
            print(i.title)
            if i.uid == self.post_id:
                TF = True
        self.tearDown()
        assert TF

    def test_query_cat_recent_with_label(self):
        name = 'kkkk'
        p_d = {'extinfo': {'def_tag_arr': name}}
        self.add_message(**p_d)

        self.uu.query_cat_recent_with_label(self.tag_id, label=name, num=300)
        qq = self.uu.get_by_uid(self.post_id)
        assert qq.extinfo == p_d['extinfo']
        self.tearDown()

    def test_query_cat_recent_no_label(self):
        self.add_message()

        qq = self.uu.query_cat_recent_no_label(self.tag_id, num=300)
        print(qq.count())
        print(qq)

        assert qq[0].uid == self.post_id
        self.tearDown()

    def test_query_total_cat_recent(self):
        name = 'kkkk'
        p_d = {'extinfo': {'def_tag_arr': name}}
        self.add_message(**p_d)
        qq = self.uu.query_total_cat_recent([self.tag_id, '9090'],
                                            label=name,
                                            num=300)
        assert qq[0].uid == self.post_id
        self.tearDown()

    def test_query_total_cat_recent_no_label(self):
        self.add_message()
        qq = self.uu.query_total_cat_recent_no_label([self.tag_id], num=300)

        assert qq[0].uid == self.post_id
        self.tearDown()

    def test_get_next_record(self):
        self.add_message()

        q = {
            'post_id': self.post_id2,
            'title': '90909090',
            'cnt_md': 'oosdfsfofsf',
            'time_create': '1996'
        }
        self.add_message(**q)
        qq = self.uu.get_next_record(self.post_id2)
        print(qq)
        assert qq.uid == self.post_id
        self.tearDown()

    def test_get_previous_record(self):
        self.add_message()
        q = {
            'post_id': self.post_id2,
            'title': '90909090',
            'cnt_md': 'oosdfsfofsf',
            'time_create': '1996'
        }
        self.add_message(**q)
        qq = self.uu.get_previous_record(self.post_id)
        assert qq.uid == self.post_id2
        self.tearDown()

    def test_get_all(self):
        ose = self.uu.get_all(kind='1')
        TF = True
        for i in ose:
            if self.post_id == i.uid:
                TF = False
        assert TF

        self.add_message()
        eee = self.uu.get_all(kind='1')
        TF = False
        for i in eee:
            if self.post_id == i.uid:
                TF = True
        self.tearDown()
        assert TF

    def test_update_jsonb(self):
        p = {'ii': 'ii00ii'}
        self.add_message()
        self.uu.update_jsonb(self.post_id, p)
        aa = self.uu.get_by_uid(self.post_id)

        assert aa.extinfo == p

        self.tearDown()

    def test_modify_meta(self):
        self.add_message()
        p_d = {
            'title': 'qqqii',
            'cnt_md': 'qwqwqw',
            'time_create': '1999',
            'time_update': '2019',
            'user_name': 'max',
            'view_count': '1',
            'logo': 'opps',
            'memo': '',
            'order': '1',
            'extinfo': {},
            'kind': '1',
            'valid': '1',
        }
        self.uu.modify_meta(self.post_id, p_d)
        aa = self.uu.get_by_uid(self.post_id)
        self.tearDown()
        assert aa.title == p_d['title']

    def test_modify_init(self):
        self.add_message()
        p_d = {'keywords': 'io'}
        self.uu.modify_init(self.post_id, p_d)
        aa = self.uu.get_by_uid(self.post_id)
        assert aa.keywords == p_d['keywords']

        self.tearDown()

    def test_get_view_count(self):

        p_d = {'view_count': 3}
        self.add_message(**p_d)
        qq = self.uu.get_view_count(self.post_id)

        assert qq == p_d['view_count']
        self.tearDown()

    def test_query_most_by_cat(self):
        self.add_message()
        a = self.uu.query_most_by_cat(catid=self.tag_id, kind='1')
        assert a[0].uid == self.post_id
        self.tearDown()

    def test_query_least_by_cat(self):
        self.add_message()
        a = self.uu.query_least_by_cat(cat_str=self.tag_id, kind='1')
        assert a[0].uid == self.post_id
        self.tearDown()

    def test_get_by_keyword(self):
        p_d = {'title': 'yyyyy'}
        self.add_message(**p_d)
        aa = self.uu.get_by_keyword(p_d['title'], kind='1')
        assert aa[0].uid == self.post_id
        self.tearDown()

    def test_query_extinfo_by_cat(self):
        oo = 'd99s9s'
        p_d = {'extinfo': {'def_cat_uid': oo}}
        self.add_message(**p_d)
        aa = self.uu.query_extinfo_by_cat(oo, kind='1')
        assert aa[0].uid == self.post_id
        self.tearDown()

    def test_query_by_tagname(self):
        oo = 'd99s9s'
        p_d = {'extinfo': {'def_tag_arr': oo}}
        self.add_message(**p_d)
        aa = self.uu.query_by_tagname(oo, kind='1')
        assert aa[0].uid == self.post_id
        self.tearDown()

    def test_query_pager_by_tag(self):
        oo = 'd99s9s'
        p_d = {'extinfo': {'def_tag_arr': oo}}
        self.add_message(**p_d)
        aa = self.uu.query_pager_by_tag(oo, kind='1')
        assert aa[0].uid == self.post_id
        self.tearDown()

    def test_add_meta(self):
        p_d = {
            'title': 'qqqii',
            'cnt_md': 'qwqwqw',
            'time_create': '1999',
            'time_update': '2019',
            'user_name': 'max',
            'view_count': '1',
            'logo': 'opps',
            'memo': '',
            'order': '1',
            'kind': '1',
            'valid': 1,
        }
        self.uu.add_meta(self.post_id, p_d)

        aa = self.uu.get_by_uid(self.post_id)
        self.tearDown()
        assert aa.title == p_d['title']

    def test_query_under_condition(self):
        oo = {'def_tag_arr': 'd99s9s'}
        p_d = {'extinfo': oo}
        self.add_message(**p_d)
        aa = self.uu.query_under_condition(oo, kind='1')
        print(aa.count())
        assert aa[0].uid == self.post_id
        self.tearDown()

    def test_addata_init(self):
        p_d = {
            'sig': self.post_id,
            'title': 'qqq4ii',
            'cnt_md': 'qwqwqw',
            'user_name': 'max',
            'view_count': '1',
            'logo': 'opps',
            'memo': '',
            'order': '1',
            'cnt_html': 'dddd',
            'kind': '2',
            'valid': 1,
        }
        print('fddfsfdsfdsfd')
        self.uu.addata_init(p_d)
        print('fddfsfdsfdsfd')

        aa = self.uu.get_by_uid(self.post_id)
        print(aa)
        assert aa.title == p_d['title']

        self.tearDown()

    def test_query_list_pager(self):
        oo = {'def_tag_arr': 'd99s9s'}
        p_d = {'extinfo': oo}
        self.add_message(**p_d)
        qq = self.uu.query_list_pager(oo, 1, kind='1')
        print(qq[0])
        assert qq[0].uid == self.post_id

        self.tearDown()

    def test_count_of_certain_kind(self):
        a = self.uu.count_of_certain_kind(1)
        self.add_message()
        b = self.uu.count_of_certain_kind(1)
        assert a + 1 <= b

        self.tearDown()

    def test_total_number(self):
        a = self.uu.total_number(1)
        self.add_message()
        b = self.uu.total_number(1)
        assert a + 1 <= b

        self.tearDown()

    def tearDown(self):
        print("function teardown")
        tt = self.uu.get_by_uid(self.uid)

        if tt:
            print('翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻3')
            self.uu.delete(self.uid)
        tt = MCategory.get_by_uid(self.tag_id)
        if tt:
            MCategory.delete(self.tag_id)
        tt = self.uu.get_by_uid(self.post_id)
        if tt:
            MCategory.delete(self.tag_id)

            MPost.delete(self.post_id2)
            MPost.delete(self.post_id)

            MPost2Catalog.remove_relation(self.post_id, self.tag_id)
            print('545456365635653')

        tt = MLabel.get_by_slug(self.slug)
        if tt:
            print('8888888888')
            MLabel.delete(tt.uid)
Пример #28
0
class TestMPost():
    def setup(self):
        print('setup 方法执行于本类中每条用例之前')
        self.uu = MPost()
        self.raw_count = self.uu.get_counts()
        self.post_title = 'ccc'
        self.uid = tools.get_uu4d()

    def test_insert(self):
        raw_count = self.uu.get_counts()

        post_data = {
            'title': self.post_title,
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',

        }
        self.uu.create_post(self.uid, post_data)
        new_count = self.uu.get_counts()

        tt = self.uu.get_by_uid(self.uid)

        assert tt.title == post_data['title']
        assert tt.cnt_md == tornado.escape.xhtml_unescape(post_data['cnt_md'])
        assert tt.cnt_html == tools.markdown2html(post_data['cnt_md'])
        assert raw_count + 1 == new_count

    def test_insert_2(self):
        '''Wiki insert: Test invalid title'''

        post_data = {
            'title': '',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',
        }
        uu = self.uu.create_post(self.uid, post_data)
        assert uu == False

        post_data = {
            'title': '1',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',
        }
        uu = self.uu.create_post(self.uid, post_data)
        assert uu == False

        post_data = {
            'title': '天',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',
        }
        uu = self.uu.create_post(self.uid, post_data)
        assert uu == False

    def test_get_by_title(self):

        post_data = {

            'title': self.post_title,
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',
        }
        uid = self.uu.create_post(self.uid, post_data)

        ss = self.uu.get_by_uid(uid)
        assert ss.title == post_data['title']

    def test_get_by_title2(self):

        '''Test Wiki title with SPACE'''

        post_data = {

            'title': '  ' + self.post_title + '  ',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',
        }
        uid = self.uu.create_post(self.uid, post_data)

        ss = self.uu.get_by_uid(uid)
        assert ss.title == self.post_title

    def test_update_by_uid(self):
        uid = self.uid
        post_data = {
            'title': 'a123sdf',
            'cnt_md': '1212sadf',
            'user_name': 'asdf',
            'logo': 'asqwef',
            'keywords': 'aseef',
        }
        self.uu.create_post(uid, post_data)
        new_count = self.uu.get_counts()

        # assert self.raw_count + 1 == new_count

        post_data2 = {

            'title': 'a123sdf',
            'cnt_md': '1212sadf',
            'user_name': 'asdf',
            'logo': '1111asqwef',
            'keywords': '111aseef',
        }

        self.uu.update(uid, post_data2)

        new_count = self.uu.get_counts()

        # assert self.raw_count + 1 == new_count

        tt = self.uu.get_by_uid(uid)

        # assert tt.title != post_data['title'][0]
        # assert tt.cnt_md != post_data['cnt_md'][0]
        # assert tt.user_name != int(post_data['user_name'][0])
        # assert tt.logo != post_data['logo'][0]
        # assert tt.keywords != post_data['keywords'][0]

    #
    # assert tt.title == post_data['title'][0]
    # assert tt.cnt_md == post_data['cnt_md'][0]
    # assert tt.user_name == int(post_data['user_name'][0])
    # assert tt.logo == post_data['logo'][0]
    # assert tt.keywords == post_data['keywords'][0]

    def test_query_cat_random(self):
        self.uu.query_cat_random('')
        assert True

    def test_query_recent(self):
        self.uu.query_recent()
        assert True

    def test_query_all(self):
        self.uu.query_all()
        assert True

    def test_query_keywords_empty(self):
        self.uu.query_keywords_empty()
        assert True

    def test_query_dated(self):
        self.uu.query_dated()
        assert True

    def test_query_most_pic(self):
        self.uu.query_most_pic(3)
        assert True

    def test_query_cat_recent(self):
        self.uu.query_cat_recent(3, 3)
        assert True

    def test_query_most(self):
        self.uu.query_most()
        assert True

    def test_update_keywords(self):
        self.uu.update_misc(self.uid, keywords='adf')
        assert True

    def test_update_view_count_by_uid(self):
        uid = tools.get_uu4d()
        post_data = {

            'title': self.post_title,
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',
        }
        self.uu.create_post(uid, post_data)

        rec = self.uu.get_by_uid(uid)

        viewcount0 = rec.view_count
        assert viewcount0 == 1
        for x in range(100):
            self.uu.update_misc(rec.uid, count=True)

        viewcount1 = self.uu.get_by_uid(uid).view_count

        assert viewcount1 == 101

    def test_upate(self):
        assert True

    def tearDown(self):
        print("function teardown")
        tt = self.uu.get_by_uid(self.uid)
        if tt:
            self.uu.delete(tt.uid)
Пример #29
0
class TestPost():
    def setup(self):
        print('setup 方法执行于本类中每条用例之前')
        self.post = MPost()
        self.user = MUser()
        self.reply = MReply()

        self.post_title = 'ccc'
        self.username = '******'
        self.uid = tools.get_uu4d()

    def test_insert_post(self):
        raw_count = self.post.get_counts()

        post_data = {
            'title': self.post_title,
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'user_name': 'Tome',
            'view_count': 1,
            'logo': '/static/',
            'keywords': 'sdf',
        }
        self.post.insert_data(self.uid, post_data)

        tt = self.post.get_by_uid(self.uid)

    def test_insert_user(self):

        post_data = {
            'user_name': self.username,
            'user_pass': '******',
            'user_email': '*****@*****.**',
        }

        tt = self.user.insert_data(post_data)

        print('=' * 20)
        print(tt)
        assert tt['success'] == True

    def test_insert_reply(self):

        post_data = {
            'user_name': self.username,
            'user_pass': '******',
            'user_email': '*****@*****.**',
        }

        tt = self.user.insert_data(post_data)

        # u_id = self.user.get_by_name(self.username)
        #
        #
        # self.userid = u_id.uid
        #
        # print("*" * 50)
        # print(self.userid)
        # print("*" * 50)
        # post_data = {
        #     'user_name':[self.username],
        #     'create_user_id':[self.userid],
        #     'timestamp':['2'],
        #     'date':['1'],
        #     'cnt_md':['###adfafasf/sdf'],
        #     'cnt_html':['###adfafasf/sdf'],
        #     'vote':0,
        # }

    def test_upate(self):
        assert True

    def tearDown(self):
        print("function teardown")
        tt = self.post.get_by_uid(self.uid)
        if tt:
            self.post.delete(tt.uid)
        self.user.delete_by_user_name(self.username)
Пример #30
0
 def tearDown(self):
     print("function teardown")
     MUser.delete_by_user_name(self.username)
     MPost.delete(self.post_id)
     MReply2User.delete(self.reply_uid)
     MReply.delete_by_uid(self.reply_uid)