kopia lustrzana https://github.com/snarfed/bridgy-fed
63 wiersze
2.1 KiB
Python
63 wiersze
2.1 KiB
Python
# coding=utf-8
|
|
"""Unit tests for models.py."""
|
|
from app import app
|
|
from models import User, Activity
|
|
from . import testutil
|
|
|
|
|
|
class UserTest(testutil.TestCase):
|
|
|
|
def setUp(self):
|
|
super(UserTest, self).setUp()
|
|
self.user = User.get_or_create('y.z')
|
|
|
|
def test_magic_key_get_or_create(self):
|
|
assert self.user.mod
|
|
assert self.user.public_exponent
|
|
assert self.user.private_exponent
|
|
|
|
same = User.get_or_create('y.z')
|
|
self.assertEqual(same, self.user)
|
|
|
|
def test_href(self):
|
|
href = self.user.href()
|
|
self.assertTrue(href.startswith('data:application/magic-public-key,RSA.'), href)
|
|
self.assertIn(self.user.mod, href)
|
|
self.assertIn(self.user.public_exponent, href)
|
|
|
|
def test_public_pem(self):
|
|
pem = self.user.public_pem()
|
|
self.assertTrue(pem.decode().startswith('-----BEGIN PUBLIC KEY-----\n'), pem)
|
|
self.assertTrue(pem.decode().endswith('-----END PUBLIC KEY-----'), pem)
|
|
|
|
def test_private_pem(self):
|
|
pem = self.user.private_pem()
|
|
self.assertTrue(pem.decode().startswith('-----BEGIN RSA PRIVATE KEY-----\n'), pem)
|
|
self.assertTrue(pem.decode().endswith('-----END RSA PRIVATE KEY-----'), pem)
|
|
|
|
|
|
class ActivityTest(testutil.TestCase):
|
|
|
|
def test_constructor(self):
|
|
activity = Activity('abc', 'xyz')
|
|
self.assertEqual('abc xyz', activity.key.id())
|
|
|
|
activity = Activity('abc#1', 'xyz#Z')
|
|
self.assertEqual('abc__1 xyz__Z', activity.key.id())
|
|
|
|
def test_get_or_create(self):
|
|
activity = Activity.get_or_create('abc', 'xyz')
|
|
self.assertEqual('abc xyz', activity.key.id())
|
|
|
|
activity = Activity.get_or_create('abc#1', 'xyz#Z')
|
|
self.assertEqual('abc__1 xyz__Z', activity.key.id())
|
|
|
|
def test_proxy_url(self):
|
|
with app.test_request_context('/'):
|
|
activity = Activity.get_or_create('abc', 'xyz')
|
|
self.assertIsNone(activity.proxy_url())
|
|
|
|
activity.source_as2 = 'as2'
|
|
self.assertEqual('http://localhost/render?source=abc&target=xyz',
|
|
activity.proxy_url())
|