Mercurial > silorider
diff tests/test_silos_mastodon.py @ 2:27543b2e73b9
Add Twitter silo.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 29 Jul 2018 10:40:05 -0700 |
parents | a1b7a459326a |
children | a921cc2306bc |
line wrap: on
line diff
--- a/tests/test_silos_mastodon.py Sun Jul 22 14:07:55 2018 -0700 +++ b/tests/test_silos_mastodon.py Sun Jul 29 10:40:05 2018 -0700 @@ -1,4 +1,5 @@ import pytest +from .mockutil import mock_urllib def test_one_article(cli, feedutil, mastmock): @@ -49,13 +50,15 @@ mastmock.installTokens(cli, 'test') with monkeypatch.context() as m: - import urllib.request - m.setattr(urllib.request, 'urlretrieve', _patched_urlretrieve) - m.setattr(urllib.request, 'urlcleanup', _patched_urlcleanup) + import silorider.silos.mastodon + mock_urllib(m) + m.setattr(silorider.silos.mastodon.MastodonSilo, '_media_callback', + _patched_media_callback) ctx, _ = cli.run('process', feed) + assert ctx.cache.wasPosted('test', '/01234.html') media = ctx.silos[0].client.media[0] - assert media == ('/retrived/fullimg.jpg', 'image/jpeg', 1) + assert media == ('/retrieved/fullimg.jpg', 'image/jpeg', 1) toot = ctx.silos[0].client.toots[0] assert toot == ("This is a quick photo update.", [1], 'public') @@ -74,25 +77,23 @@ mastmock.installTokens(cli, 'test') with monkeypatch.context() as m: - import urllib.request - m.setattr(urllib.request, 'urlretrieve', _patched_urlretrieve) - m.setattr(urllib.request, 'urlcleanup', _patched_urlcleanup) + import silorider.silos.mastodon + mock_urllib(m) + m.setattr(silorider.silos.mastodon.MastodonSilo, '_media_callback', + _patched_media_callback) ctx, _ = cli.run('process', feed) + assert ctx.cache.wasPosted('test', '/01234.html') media = ctx.silos[0].client.media[0] - assert media == ('/retrived/fullimg1.jpg', 'image/jpeg', 1) + assert media == ('/retrieved/fullimg1.jpg', 'image/jpeg', 1) media = ctx.silos[0].client.media[1] - assert media == ('/retrived/fullimg2.jpg', 'image/jpeg', 2) + assert media == ('/retrieved/fullimg2.jpg', 'image/jpeg', 2) toot = ctx.silos[0].client.toots[0] assert toot == ("This is a photo update with 2 photos.", [1, 2], 'public') -def _patched_urlretrieve(url): - return ('/retrived/' + url.lstrip('/'), None) - - -def _patched_urlcleanup(): - pass +def _patched_media_callback(self, tmpfile, mt): + return self.client.media_post(tmpfile, mt) @pytest.fixture(scope='session')