From 228b003c1cb7d8dfd058e8015830011cc416fd08 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 10 May 2020 21:07:19 -0700 Subject: [PATCH] Adds broadcast test --- fedireads/tests/test_broadcast.py | 77 +++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 fedireads/tests/test_broadcast.py diff --git a/fedireads/tests/test_broadcast.py b/fedireads/tests/test_broadcast.py new file mode 100644 index 00000000..2583084a --- /dev/null +++ b/fedireads/tests/test_broadcast.py @@ -0,0 +1,77 @@ +from django.test import TestCase + +from fedireads import models, broadcast +from fedireads.settings import DOMAIN + + +class Book(TestCase): + def setUp(self): + self.user = models.User.objects.create_user( + 'mouse', 'mouse@mouse.mouse', 'mouseword') + + follower = models.User.objects.create_user( + 'rat', 'rat@mouse.mouse', 'ratword', local=False, + actor='http://example.com/u/1', + outbox='http://example.com/u/1/o', + shared_inbox='http://example.com/inbox', + inbox='http://example.com/u/1/inbox') + self.user.followers.add(follower) + + no_inbox_follower = models.User.objects.create_user( + 'hamster', 'hamster@mouse.mouse', 'hamword', + shared_inbox=None, local=False, + actor='http://example.com/u/2', + outbox='http://example.com/u/2/o', + inbox='http://example.com/u/2/inbox') + self.user.followers.add(no_inbox_follower) + + non_fr_follower = models.User.objects.create_user( + 'gerbil', 'gerb@mouse.mouse', 'gerbword', + actor='http://example.com/u/3', + outbox='http://example2.com/u/3/o', + inbox='http://example2.com/u/3/inbox', + shared_inbox='http://example2.com/inbox', + fedireads_user=False, local=False) + self.user.followers.add(non_fr_follower) + + local_follower = models.User.objects.create_user( + 'joe', 'joe@mouse.mouse', 'jeoword') + self.user.followers.add(local_follower) + + models.User.objects.create_user( + 'nutria', 'nutria@mouse.mouse', 'nuword', + actor='http://example.com/u/4', + outbox='http://example.com/u/4/o', + shared_inbox='http://example.com/inbox', + inbox='http://example.com/u/4/inbox', + local=False) + + + def test_get_public_recipients(self): + expected = [ + 'http://example2.com/inbox', + 'http://example.com/inbox', + 'http://example.com/u/2/inbox', + ] + + recipients = broadcast.get_public_recipients(self.user) + self.assertEqual(recipients, expected) + + + def test_get_public_recipients_software(self): + expected = [ + 'http://example.com/inbox', + 'http://example.com/u/2/inbox', + ] + + recipients = broadcast.get_public_recipients(self.user, software='fedireads') + self.assertEqual(recipients, expected) + + + def test_get_public_recipients_software_other(self): + expected = [ + 'http://example2.com/inbox', + ] + + recipients = broadcast.get_public_recipients(self.user, software='mastodon') + self.assertEqual(recipients, expected)