2022-12-24 16:34:24 +00:00
|
|
|
"""Unit tests for actor.py."""
|
2023-06-06 21:50:20 +00:00
|
|
|
from unittest import skip
|
2022-12-28 17:27:42 +00:00
|
|
|
|
2023-05-30 23:36:18 +00:00
|
|
|
# import first so that Fake is defined before URL routes are registered
|
2022-12-24 16:34:24 +00:00
|
|
|
from . import testutil
|
2023-05-30 23:36:18 +00:00
|
|
|
|
2023-02-18 22:59:51 +00:00
|
|
|
from .test_activitypub import ACTOR
|
2022-12-24 16:34:24 +00:00
|
|
|
|
|
|
|
|
2023-06-06 21:50:20 +00:00
|
|
|
@skip
|
2022-12-29 01:30:22 +00:00
|
|
|
class XrpcActorTest(testutil.TestCase):
|
2022-12-24 16:34:24 +00:00
|
|
|
|
2023-02-18 22:59:51 +00:00
|
|
|
def test_getProfile(self):
|
|
|
|
actor = {
|
|
|
|
**ACTOR,
|
|
|
|
'summary': "I'm a person",
|
2023-03-19 22:43:55 +00:00
|
|
|
'image': [{'type': 'Image', 'url': 'http://user.com/header.png'}],
|
2023-02-18 22:59:51 +00:00
|
|
|
}
|
2023-03-19 22:43:55 +00:00
|
|
|
self.make_user('user.com', has_hcard=True, actor_as2=actor)
|
2022-12-28 17:27:42 +00:00
|
|
|
|
2022-12-30 18:10:49 +00:00
|
|
|
resp = self.client.get('/xrpc/app.bsky.actor.getProfile',
|
2023-03-19 22:43:55 +00:00
|
|
|
query_string={'actor': 'user.com'})
|
2022-12-30 18:10:49 +00:00
|
|
|
self.assertEqual(200, resp.status_code)
|
2022-12-28 17:27:42 +00:00
|
|
|
self.assertEqual({
|
2023-04-08 19:47:22 +00:00
|
|
|
'$type': 'app.bsky.actor.defs#profileView',
|
2023-03-19 22:43:55 +00:00
|
|
|
'handle': 'mas.to/users/swentel',
|
|
|
|
'did': 'did:web:mas.to:users:swentel',
|
2022-12-28 17:27:42 +00:00
|
|
|
'displayName': 'Mrs. ☕ Foo',
|
|
|
|
'description': "I'm a person",
|
2023-03-19 22:43:55 +00:00
|
|
|
'avatar': 'https://user.com/me.jpg',
|
|
|
|
'banner': 'http://user.com/header.png',
|
2022-12-30 18:10:49 +00:00
|
|
|
}, resp.json)
|
2022-12-28 17:27:42 +00:00
|
|
|
|
2023-02-18 22:59:51 +00:00
|
|
|
def test_getProfile_unset(self):
|
2023-01-14 04:12:44 +00:00
|
|
|
resp = self.client.get('/xrpc/app.bsky.actor.getProfile')
|
|
|
|
self.assertEqual(400, resp.status_code)
|
|
|
|
|
2023-02-18 22:59:51 +00:00
|
|
|
def test_getProfile_not_domain(self):
|
2022-12-28 17:46:32 +00:00
|
|
|
resp = self.client.get('/xrpc/app.bsky.actor.getProfile',
|
|
|
|
query_string={'actor': 'not a domain'})
|
|
|
|
self.assertEqual(400, resp.status_code)
|
|
|
|
|
2023-02-18 22:59:51 +00:00
|
|
|
def test_getProfile_no_user(self):
|
|
|
|
resp = self.client.get('/xrpc/app.bsky.actor.getProfile',
|
2023-03-19 22:43:55 +00:00
|
|
|
query_string={'actor': 'user.com'})
|
2023-02-18 22:59:51 +00:00
|
|
|
self.assertEqual(400, resp.status_code)
|
|
|
|
|
|
|
|
def test_getSuggestions(self):
|
2022-12-30 18:10:49 +00:00
|
|
|
resp = self.client.get('/xrpc/app.bsky.actor.getSuggestions')
|
|
|
|
self.assertEqual(200, resp.status_code)
|
2022-12-28 17:46:32 +00:00
|
|
|
self.assertEqual({
|
|
|
|
'actors': [],
|
2022-12-30 18:10:49 +00:00
|
|
|
}, resp.json)
|
2022-12-28 21:11:11 +00:00
|
|
|
|
2023-02-18 22:59:51 +00:00
|
|
|
def test_search(self):
|
2023-04-08 19:47:22 +00:00
|
|
|
resp = self.client.get('/xrpc/app.bsky.actor.searchActors',
|
2023-06-20 18:22:54 +00:00
|
|
|
query_string={'term': 'foo'})
|
2022-12-30 18:10:49 +00:00
|
|
|
self.assertEqual(200, resp.status_code)
|
2022-12-28 21:11:11 +00:00
|
|
|
self.assertEqual({
|
2023-04-08 19:47:22 +00:00
|
|
|
'actors': [],
|
2022-12-30 18:10:49 +00:00
|
|
|
}, resp.json)
|
2022-12-28 21:11:11 +00:00
|
|
|
|
2023-02-18 22:59:51 +00:00
|
|
|
def test_searchTypeahead(self):
|
2023-04-08 19:47:22 +00:00
|
|
|
resp = self.client.get('/xrpc/app.bsky.actor.searchActorsTypeahead',
|
2023-06-20 18:22:54 +00:00
|
|
|
query_string={'term': 'foo'})
|
2022-12-30 18:10:49 +00:00
|
|
|
self.assertEqual(200, resp.status_code)
|
2022-12-28 21:11:11 +00:00
|
|
|
self.assertEqual({
|
2023-04-08 19:47:22 +00:00
|
|
|
'actors': [],
|
2022-12-30 18:10:49 +00:00
|
|
|
}, resp.json)
|