コード例 #1
0
def test_get_img_urls(data):
    """test method."""
    q_item = mock.Mock()
    item1 = mock.Mock()
    item2 = mock.Mock()
    with mock.patch('tumblr_ids.tumblr.Tumblr.__init__', return_value=None), \
            mock.patch('tumblr_ids.tumblr.utils') as m_utils, \
            mock.patch('tumblr_ids.tumblr.get_video_url') as m_get_vu:
        m_utils.download_page.return_value = data
        m_get_vu.return_value = [item2]
        from tumblr_ids.tumblr import Tumblr
        obj = Tumblr(blog=mock.Mock())
        obj.post_queue = queue.Queue()
        obj.post_queue.put(q_item)
        obj.base_url = mock.Mock()
        obj.num = mock.Mock()
        obj.tag = mock.Mock()
        obj.proxies = mock.Mock()
        obj.img_re = mock.Mock()
        obj.img_re.findall.return_value = [item1]
        obj._process_images = mock.Mock()
        obj._process_images.return_value = {'is_limit_reached': False, 'image_counter': 0}
        # run
        obj._get_img_urls()
        # test
        m_utils.download_page.assert_called_once_with(
            "{}{}&num={}&tagged={}".format(obj.base_url, q_item, obj.num, obj.tag),
            proxies=obj.proxies
        )
        if data:
            obj._process_images(
                image_counter=0,
                images=[item1, item2],
                is_limit_reached=False
            )
コード例 #2
0
def test_get_img_urls(data):
    """test method."""
    q_item = mock.Mock()
    item1 = mock.Mock()
    item2 = mock.Mock()
    with mock.patch('tumblr_ids.tumblr.Tumblr.__init__', return_value=None), \
            mock.patch('tumblr_ids.tumblr.utils') as m_utils, \
            mock.patch('tumblr_ids.tumblr.get_video_url') as m_get_vu:
        m_utils.download_page.return_value = data
        m_get_vu.return_value = [item2]
        from tumblr_ids.tumblr import Tumblr
        obj = Tumblr(blog=mock.Mock())
        obj.post_queue = queue.Queue()
        obj.post_queue.put(q_item)
        obj.base_url = mock.Mock()
        obj.num = mock.Mock()
        obj.tag = mock.Mock()
        obj.proxies = mock.Mock()
        obj.img_re = mock.Mock()
        obj.img_re.findall.return_value = [item1]
        obj._process_images = mock.Mock()
        obj._process_images.return_value = {
            'is_limit_reached': False,
            'image_counter': 0
        }
        # run
        obj._get_img_urls()
        # test
        m_utils.download_page.assert_called_once_with(
            "{}{}&num={}&tagged={}".format(obj.base_url, q_item, obj.num,
                                           obj.tag),
            proxies=obj.proxies)
        if data:
            obj._process_images(image_counter=0,
                                images=[item1, item2],
                                is_limit_reached=False)
コード例 #3
0
def test_run_threads():
    """test method."""
    with mock.patch('tumblr_ids.tumblr.Tumblr.__init__', return_value=None), \
            mock.patch('tumblr_ids.tumblr.threading') as m_threading:
        from tumblr_ids.tumblr import Tumblr
        obj = Tumblr(blog=mock.Mock())
        obj.threads_num = 1
        obj._get_img_urls = mock.Mock()
        # run
        obj._run_threads()
        # test
        m_threading.assert_has_calls([
            mock.call.Thread(target=obj._get_img_urls),
            mock.call.Thread().start(),
            mock.call.Thread().join()
        ])
コード例 #4
0
def test_run_threads():
    """test method."""
    with mock.patch('tumblr_ids.tumblr.Tumblr.__init__', return_value=None), \
            mock.patch('tumblr_ids.tumblr.threading') as m_threading:
        from tumblr_ids.tumblr import Tumblr
        obj = Tumblr(blog=mock.Mock())
        obj.threads_num = 1
        obj._get_img_urls = mock.Mock()
        # run
        obj._run_threads()
        # test
        m_threading.assert_has_calls([
            mock.call.Thread(target=obj._get_img_urls),
            mock.call.Thread().start(),
            mock.call.Thread().join()
        ])
コード例 #5
0
def test_get_imgs(is_img_queue_empty, need_save, total_posts_default, get_total_posts_retval):
    """test method."""
    with mock.patch('tumblr_ids.tumblr.Tumblr.__init__', return_value=None):
        from tumblr_ids.tumblr import Tumblr
        obj = Tumblr(blog=mock.Mock())
        obj.threads_num = 1
        obj.tags = [mock.Mock()]
        obj.total_posts = total_posts_default
        obj.need_save = need_save
        obj.img_queue = mock.Mock()
        obj.img_queue.empty.return_value = is_img_queue_empty
        obj._download_imgs = mock.Mock()
        obj._get_img_urls = mock.Mock()
        obj._get_total_posts = mock.Mock(return_value=get_total_posts_retval)
        # run
        obj.get_imgs()
        # test
        assert obj.total_posts == 0
        if total_posts_default or get_total_posts_retval:
            obj._get_img_urls.assert_called_once_with()
        if need_save and not is_img_queue_empty:
            obj._download_imgs.assert_called_once_with()
コード例 #6
0
def test_get_imgs(is_img_queue_empty, need_save, total_posts_default,
                  get_total_posts_retval):
    """test method."""
    with mock.patch('tumblr_ids.tumblr.Tumblr.__init__', return_value=None):
        from tumblr_ids.tumblr import Tumblr
        obj = Tumblr(blog=mock.Mock())
        obj.threads_num = 1
        obj.tags = [mock.Mock()]
        obj.total_posts = total_posts_default
        obj.need_save = need_save
        obj.img_queue = mock.Mock()
        obj.img_queue.empty.return_value = is_img_queue_empty
        obj._download_imgs = mock.Mock()
        obj._get_img_urls = mock.Mock()
        obj._get_total_posts = mock.Mock(return_value=get_total_posts_retval)
        # run
        obj.get_imgs()
        # test
        assert obj.total_posts == 0
        if total_posts_default or get_total_posts_retval:
            obj._get_img_urls.assert_called_once_with()
        if need_save and not is_img_queue_empty:
            obj._download_imgs.assert_called_once_with()