def test_send_trackback(self): """weblinkback - create linkback through /sendtrackback""" url = CFG_SITE_URL + '/%s/42/linkbacks/sendtrackback?url=http://www.google.ch' % CFG_SITE_RECORD self.assertEqual([], test_web_page_content(url, username='******', expected_text='<response></response>', unexpected_text='<error>')) url = CFG_SITE_URL + '/%s/42/linkbacks/sendtrackback' % CFG_SITE_RECORD self.assertNotEqual([], test_web_page_content(url, username='******')) url = CFG_SITE_URL + '/%s/42/linkbacks/sendtrackback?url' % CFG_SITE_RECORD self.assertNotEqual([], test_web_page_content(url, username='******')) url = CFG_SITE_URL + '/%s/42/linkbacks/sendtrackback?url=' % CFG_SITE_RECORD self.assertNotEqual([], test_web_page_content(url, username='******')) add_url_to_list('google', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) url = CFG_SITE_URL + '/%s/42/linkbacks/sendtrackback?url=http://www.google.ch' % CFG_SITE_RECORD self.assertNotEqual([], test_web_page_content(url, username='******'))
def test_set_url_broken(self): """weblinkback - test set URL broken""" add_url_to_list('URL1', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) set_url_broken('URL1') entry_table = self.get_all_from_table('lnkENTRY') self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], entry_table[0][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], entry_table[8][5]) self.assertEqual(9, len(self.get_all_from_table("lnkENTRY"))) self.assertEqual(11, len(self.get_all_from_table("lnkENTRYLOG")))
def perform_moderate_url(req, url, action, list_type): """ Perform a url action @param url @param action: CFG_WEBLINKBACK_ADMIN_MODERATION_ACTION['INSERT'] or CFG_WEBLINKBACK_ADMIN_MODERATION_ACTION['DELETE'] @param list_type: of CFG_WEBLINKBACK_LIST_TYPE @return (String, CFG_WEBLINKBACK_ACTION_RETURN_CODE) the String is url if CFG_WEBLINKBACK_ACTION_RETURN_CODE['BAD_INPUT') """ if url == '' or ' ' in url: return (url, CFG_WEBLINKBACK_ACTION_RETURN_CODE['BAD_INPUT']) elif action == CFG_WEBLINKBACK_ADMIN_MODERATION_ACTION['INSERT']: if url_exists(url): return ('', CFG_WEBLINKBACK_ACTION_RETURN_CODE['DUPLICATE']) else: add_url_to_list(url, list_type, collect_user_info(req)) elif action == CFG_WEBLINKBACK_ADMIN_MODERATION_ACTION['DELETE']: remove_url(url) else: return ('', CFG_WEBLINKBACK_ACTION_RETURN_CODE['INVALID_ACTION']) return ('', CFG_WEBLINKBACK_ACTION_RETURN_CODE['OK'])
def perform_moderate_url(req, url, action, list_type): """ Perform a url action @param url @param action: CFG_WEBLINKBACK_ADMIN_MODERATION_ACTION['INSERT'] or CFG_WEBLINKBACK_ADMIN_MODERATION_ACTION['DELETE'] @param list_type: of CFG_WEBLINKBACK_LIST_TYPE @return (String, CFG_WEBLINKBACK_ACTION_RETURN_CODE) the String is url if CFG_WEBLINKBACK_ACTION_RETURN_CODE['BAD_INPUT') """ if url == '' or ' ' in url: return (url, CFG_WEBLINKBACK_ACTION_RETURN_CODE['BAD_INPUT']) elif action == CFG_WEBLINKBACK_ADMIN_MODERATION_ACTION['INSERT']: if url_exists(url): return ('', CFG_WEBLINKBACK_ACTION_RETURN_CODE['DUPLICATE']) else: add_url_to_list(url, list_type, collect_user_info(req)) elif action == CFG_WEBLINKBACK_ADMIN_MODERATION_ACTION['DELETE']: remove_url(url) else: return ('', CFG_WEBLINKBACK_ACTION_RETURN_CODE['INVALID_ACTION']) return ('', CFG_WEBLINKBACK_ACTION_RETURN_CODE['OK'])
def test_url_lists(self): """weblinkback - test URL lists""" add_url_to_list('url1', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) add_url_to_list('url2', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) add_url_to_list('url3', CFG_WEBLINKBACK_LIST_TYPE['WHITELIST'], self.user_info) self.assertEqual(('url1', 'url2'), get_url_list(CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'])) self.assertEqual(('url3', ), get_url_list(CFG_WEBLINKBACK_LIST_TYPE['WHITELIST'])) remove_url('url2') remove_url('url3') self.assertEqual(('url1', ), get_url_list(CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'])) self.assertEqual(tuple(), get_url_list(CFG_WEBLINKBACK_LIST_TYPE['WHITELIST']))
def test_url_exists(self): """weblinkback - test URL existence""" add_url_to_list('url1', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) add_url_to_list('url2', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) add_url_to_list('url3', CFG_WEBLINKBACK_LIST_TYPE['WHITELIST'], self.user_info) self.assertTrue(url_exists('url1')) self.assertTrue(url_exists('url1', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'])) self.assertFalse(url_exists('url1', CFG_WEBLINKBACK_LIST_TYPE['WHITELIST'])) remove_url('url1') self.assertFalse(url_exists('url1')) self.assertFalse(url_exists('url1', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'])) self.assertFalse(url_exists('url1', CFG_WEBLINKBACK_LIST_TYPE['WHITELIST'])) self.assertTrue(url_exists('url3')) self.assertFalse(url_exists('url3', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'])) self.assertTrue(url_exists('url3', CFG_WEBLINKBACK_LIST_TYPE['WHITELIST']))
def test_url_remove(self): """weblinkback - test remove URL rom list""" add_url_to_list('url1', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) add_url_to_list('url2', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) remove_url('url2') # creating a different log, might detect a bug in the logging ids approve_linkback(1 + self._max_id_lnkENTRY, self.user_info) add_url_to_list('url3', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) admin_url_table = self.get_all_from_table('lnkADMINURL') admin_url_log_table = self.get_all_from_table('lnkADMINURLLOG') logTable = self.get_all_from_table('lnkLOG') self.assertEqual(2, len(admin_url_table)) self.assertEqual(2, len(admin_url_log_table)) # there are more logs due to the inserted linkbacks in setUp() self.assertEqual(12, len(logTable)) self.assertEqual(1 + self._max_id_lnkADMINURL, admin_url_table[0][0]) # there are more logs due to the inserted linkbacks in setUp() self.assertEqual(1 + self._max_id_lnkADMINURL, admin_url_log_table[0][0]) self.assertEqual(10 + self._max_id_lnkLOG, admin_url_log_table[0][1]) self.assertEqual(3 + self._max_id_lnkADMINURL, admin_url_table[1][0]) # there are more logs due to the inserted linkbacks in setUp() self.assertEqual(3 + self._max_id_lnkADMINURL, admin_url_log_table[1][0]) # 9 linkbacks inserted (9) # 2 urls inserted (11) # 1 url removed (11) (log id 10 removed) # 1 linkback approved (12) # 1 url inserted (13) self.assertEqual(13 + self._max_id_lnkLOG, admin_url_log_table[1][1]) url = CFG_SITE_URL + '/admin/weblinkback/weblinkbackadmin.py/lists' expected_texts = ('url1', 'url3') for text in expected_texts: self.assertEqual([], test_web_page_content(url, username='******', expected_text=text)) unexpected_texts = ('url2', ) for text in unexpected_texts: self.assertEqual([], test_web_page_content(url, username='******', unexpected_text=text))
def test_url_add(self): """weblinkback - test add URL to list""" add_url_to_list('url1', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) add_url_to_list('url2', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) add_url_to_list('url3', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) admin_url_table = self.get_all_from_table('lnkADMINURL') admin_url_log_table = self.get_all_from_table('lnkADMINURLLOG') log_table = self.get_all_from_table('lnkLOG') self.assertEqual(3, len(admin_url_table)) self.assertEqual(3, len(admin_url_log_table)) self.assertEqual(12, len(log_table)) url = CFG_SITE_URL + '/admin/weblinkback/weblinkbackadmin.py/lists' expected_texts = ('url1', 'url2', 'url3') for text in expected_texts: self.assertEqual([], test_web_page_content(url, username='******', expected_text=text))
def test_delete_linkbacks_on_blacklist(self): """weblinkback - test delete linkbacks on blacklist""" for linkbackid in (1, 2, 3, 4): approve_linkback(linkbackid + self._max_id_lnkENTRY, self.user_info) for linkbackid in (5, 6): reject_linkback(linkbackid + self._max_id_lnkENTRY, self.user_info) add_url_to_list('RL1', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) add_url_to_list('URL5', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) add_url_to_list('RL7', CFG_WEBLINKBACK_LIST_TYPE['BLACKLIST'], self.user_info) set_url_broken('URL1') entry_table = self.get_all_from_table('lnkENTRY') self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], entry_table[0][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], entry_table[8][5]) self.assertEqual(9, len(self.get_all_from_table("lnkENTRY"))) self.assertEqual(17, len(self.get_all_from_table("lnkENTRYLOG"))) self.assertEqual(20, len(self.get_all_from_table("lnkLOG"))) delete_linkbacks_on_blacklist() self.assertEqual(5, len(self.get_all_from_table("lnkENTRY"))) self.assertEqual(9, len(self.get_all_from_table("lnkENTRYLOG"))) self.assertEqual(12, len(self.get_all_from_table("lnkLOG")))