Beispiel #1
0
def delete_linkbacks_on_blacklist():
    """
    Delete all rejected, broken and pending linkbacks whose URL on in the blacklist
    """
    linkbacks = list(get_all_linkbacks(status=CFG_WEBLINKBACK_STATUS['PENDING']))
    linkbacks.extend(list(get_all_linkbacks(status=CFG_WEBLINKBACK_STATUS['REJECTED'])))
    linkbacks.extend(list(get_all_linkbacks(status=CFG_WEBLINKBACK_STATUS['BROKEN'])))

    for linkback in linkbacks:
        if infix_exists_for_url_in_list(linkback[1], CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST']):
            remove_linkback(linkback[0])
    def test_create_linkback1(self):
        """weblinkback - create linkback"""
        recid = 42
        argd = {'url': 'URL',
                'title': CFG_WEBLINKBACK_SUBSCRIPTION_DEFAULT_ARGUMENT_NAME,
                'excerpt': CFG_WEBLINKBACK_SUBSCRIPTION_DEFAULT_ARGUMENT_NAME,
                'blog_name': 'Test Blog',
                'id': CFG_WEBLINKBACK_SUBSCRIPTION_DEFAULT_ARGUMENT_NAME,
                'source': CFG_WEBLINKBACK_SUBSCRIPTION_DEFAULT_ARGUMENT_NAME,
                }

        linkbackid = create_trackback(recid, argd['url'], argd['title'], argd['excerpt'], argd['blog_name'], argd['id'], argd['source'], self.user_info)
        self.assertEqual(10 + self._max_id_lnkENTRY, linkbackid)

        linkback = get_all_linkbacks(recid=recid)[5]
        self.assertEqual(linkbackid, linkback[0])
        self.assertEqual(argd['url'], linkback[1])
        self.assertEqual(recid, linkback[2])
        self.assertEqual(str({'blog_name': argd['blog_name']}), linkback[3])
        self.assertEqual(CFG_WEBLINKBACK_TYPE['TRACKBACK'], linkback[4])
        self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback[5])

        url = CFG_SITE_URL + '/%s/42/linkbacks/' % CFG_SITE_RECORD
        expected_texts = ('Linkbacks to review: 6', 'Linkbacks: 0')
        for text in expected_texts:
            self.assertEqual([], test_web_page_content(url,
                                                       username='******',
                                                       expected_text=text))

        approve_linkback(linkbackid, self.user_info)

        linkback = get_all_linkbacks(recid=recid)[5]
        self.assertEqual(linkbackid, linkback[0])
        self.assertEqual(argd['url'], linkback[1])
        self.assertEqual(recid, linkback[2])
        self.assertEqual(str({'blog_name': argd['blog_name']}), linkback[3])
        self.assertEqual(CFG_WEBLINKBACK_TYPE['TRACKBACK'], linkback[4])
        self.assertEqual(CFG_WEBLINKBACK_STATUS['APPROVED'], linkback[5])

        url_titles = self.get_all_from_table("lnkENTRYURLTITLE")
        self.assertEqual(1, len(url_titles))
        self.assertEqual(argd['url'], url_titles[0][1])
        self.assertEqual("", url_titles[0][2])
        self.assertEqual(0, url_titles[0][3])
        self.assertEqual(argd['url'], get_url_title(argd['url']))

        self.assertEqual(0, len(get_urls_and_titles(CFG_WEBLINKBACK_PAGE_TITLE_STATUS['OLD'])))
        self.assertEqual(1, len(get_urls_and_titles(CFG_WEBLINKBACK_PAGE_TITLE_STATUS['NEW'])))
        self.assertEqual(0, len(get_urls_and_titles(CFG_WEBLINKBACK_PAGE_TITLE_STATUS['MANUALLY_SET'])))

        url = CFG_SITE_URL + '/%s/42/linkbacks/' % CFG_SITE_RECORD
        expected_texts = ('Linkbacks to review: 5', 'Linkbacks: 1')
        for text in expected_texts:
            self.assertEqual([], test_web_page_content(url,
                                                       username='******',
                                                       expected_text=text))

        self.assertEqual(10, len(self.get_all_from_table("lnkENTRY")))
        self.assertEqual(11, len(self.get_all_from_table("lnkENTRYLOG")))
        remove_linkback(linkbackid)
        self.assertEqual(9, len(self.get_all_from_table("lnkENTRY")))
        self.assertEqual(9, len(self.get_all_from_table("lnkENTRYLOG")))