M silorider/silos/bluesky.py +1 -1
@@ 10,7 10,7 @@ from .base import Silo
from ..format import CardProps, UrlFlattener, URLMODE_ERASE
import atproto
-import atproto.xrpc_client.models as atprotomodels
+from atproto import models as atprotomodels
logger = logging.getLogger(__name__)
M tests/test_silos_bluesky.py +9 -4
@@ 1,5 1,6 @@
+import os.path
import pytest
-import atproto.xrpc_client.models as atprotomodels
+from atproto import models as atprotomodels
from .mockutil import mock_urllib
@@ 20,8 21,10 @@ def test_one_article(cli, feedutil, bsky
ctx, _ = cli.run('process')
assert ctx.cache.wasPosted('test', 'https://example.org/a-new-article')
post = ctx.silos[0].client.posts[0]
- assert post == ('A new article https://example.org/a-new-article',
- None, None)
+ assert post == (
+ 'A new article https://example.org/a-new-article',
+ None,
+ [_make_link_facet('https://example.org/a-new-article', 14, 47)])
def test_one_micropost(cli, feedutil, bskymock):
@@ 56,6 59,7 @@ def test_one_micropost_with_one_photo(cl
with monkeypatch.context() as m:
import silorider.silos.bluesky
mock_urllib(m)
+ m.setattr(os.path, 'getsize', lambda path: 42)
m.setattr(silorider.silos.bluesky.BlueskySilo, 'mediaCallback',
_patched_media_callback)
ctx, _ = cli.run('process')
@@ 87,6 91,7 @@ def test_one_micropost_with_two_photos(c
with monkeypatch.context() as m:
import silorider.silos.bluesky
mock_urllib(m)
+ m.setattr(os.path, 'getsize', lambda path: 42)
m.setattr(silorider.silos.bluesky.BlueskySilo, 'mediaCallback',
_patched_media_callback)
ctx, _ = cli.run('process')
@@ 162,7 167,7 @@ def _make_atproto_image(link, alt="", mi
# an actual Image object.
# Not sure why we need to use model_validate here -- the simple
# constructor with keywords throws a validation error :(
- blob_link = atprotomodels.blob_ref.BlobRefLink.model_validate({'$link': link})
+ blob_link = atprotomodels.blob_ref.IpldLink.model_validate({'$link': link})
blob = atprotomodels.blob_ref.BlobRef(mime_type=mime_type, ref=blob_link, size=size)
img = atprotomodels.AppBskyEmbedImages.Image(alt=alt, image=blob)
if test_index is not None:
M tests/test_silos_mastodon.py +3 -0
@@ 1,3 1,4 @@
+import os.path
import pytest
from .mockutil import mock_urllib
@@ 55,6 56,7 @@ def test_one_micropost_with_one_photo(cl
with monkeypatch.context() as m:
import silorider.silos.mastodon
mock_urllib(m)
+ m.setattr(os.path, 'getsize', lambda path: 42)
m.setattr(silorider.silos.mastodon.MastodonSilo, 'mediaCallback',
_patched_media_callback)
ctx, _ = cli.run('process')
@@ 83,6 85,7 @@ def test_one_micropost_with_two_photos(c
with monkeypatch.context() as m:
import silorider.silos.mastodon
mock_urllib(m)
+ m.setattr(os.path, 'getsize', lambda path: 42)
m.setattr(silorider.silos.mastodon.MastodonSilo, 'mediaCallback',
_patched_media_callback)
ctx, _ = cli.run('process')
M +3 -0
@@ 1,3 1,4 @@
import os.path
import pytest
from .mockutil import mock_urllib
@@ 71,6 72,7 @@ def test_one_micropost_with_one_photo(cl
with monkeypatch.context() as m:
import silorider.silos.twitter
mock_urllib(m)
m.setattr(os.path, 'getsize', lambda path: 42)
m.setattr(silorider.silos.twitter.TwitterSilo, 'mediaCallback',
_patched_media_callback)
ctx, _ = cli.run('process')
@@ 97,6 99,7 @@ def test_one_micropost_with_two_photos(c
with monkeypatch.context() as m:
import silorider.silos.twitter
mock_urllib(m)
m.setattr(os.path, 'getsize', lambda path: 42)
m.setattr(silorider.silos.twitter.TwitterSilo, 'mediaCallback',
_patched_media_callback)
ctx, _ = cli.run('process')