def test_delete_comment(post_num): _post = post.read(GALL_NAME_EN, post_num=post_num) comment.delete(_post, GALL_NAME_EN, COMMENT_NUM, PASSWORD) _post = post.read(GALL_NAME_EN, post_num=post_num) cmts = comment.read(_post) l = [True for cmt in cmts if parse_int(cmt['reply_num']) == COMMENT_NUM] assert not any(l) # Delete post post.delete(GALL_NAME_EN, post_num, PASSWORD)
def test_create_comment(post_num): global COMMENT_NUM _post = post.read(GALL_NAME_EN, post_num=post_num) memo = make_random_str(10) r = comment.create(_post, NAME, PASSWORD, memo) COMMENT_NUM = parse_int(r.text) assert '[이름] 항목은 최대 12자 이하로 입력해 주시기 바랍니다.' not in r.text assert '[내용] 항목은 최대 400자 이하로 입력해 주시기 바랍니다.' not in r.text assert 'false' not in r.text
def parse_td(td_list): post_number = get_number_from_lxml_elem(td_list[0]) author = [i for i in td_list[2].itertext()][0] return dict(post_num=post_number, subject=pq(td_list[1])('a')[0].text_content(), reply_num=parse_int(pq(td_list[1])('em').text()), post_type=pq(td_list[1])('a')[0].get('class'), author=author, user_id=pq(td_list[2])[0].get('user_id'), date=datetime.strptime(td_list[3].text_content(), '%Y.%m.%d'), views=get_number_from_lxml_elem(td_list[4]), recommended_num=get_number_from_lxml_elem(td_list[5]))
def _parse_comments_count(d): css_selector = 'div.w_top_left dd.dd_num' found = d(css_selector) views = found.text() _ = views.split(' ')[1] return parse_int(_)
def _parse_upvote(d): text = d('#recommend_vote_up').text() return parse_int(text)
def _parse_mandu(d): text = d('a.btn_md_spt').text() return parse_int(text)
def test_read_comment(post_num): _post = post.read(GALL_NAME_EN, post_num=post_num) cmts = comment.read(_post) l = [True for cmt in cmts if parse_int(cmt['reply_num']) == COMMENT_NUM] assert any(l)