refactor tests for better composability
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
j3d1 2023-07-01 20:42:57 +02:00
parent 816543a0ab
commit 68a9d520f2
10 changed files with 316 additions and 301 deletions

View file

@ -1,75 +1,77 @@
from authentication.tests import UserTestCase, SignatureAuthClient
from authentication.tests import SignatureAuthClient, UserTestMixin, ToolshedTestCase
client = SignatureAuthClient()
class FriendTestCase(UserTestCase):
class FriendTestCase(UserTestMixin, ToolshedTestCase):
def setUp(self):
super().setUp()
self.prepare_users()
def test_friendship_iternal(self):
self.assertEqual(self.local_user1.friends.count(), 0)
self.assertEqual(self.local_user2.friends.count(), 0)
self.assertEqual(self.ext_user1.friends.count(), 0)
self.assertEqual(self.ext_user2.friends.count(), 0)
self.local_user1.friends.add(self.local_user2.public_identity)
self.assertEqual(self.local_user1.friends.count(), 1)
self.assertEqual(self.local_user2.friends.count(), 1)
self.assertEqual(self.ext_user1.friends.count(), 0)
self.assertEqual(self.ext_user2.friends.count(), 0)
self.assertEqual(self.local_user1.friends.first(), self.local_user2.public_identity)
self.assertEqual(self.local_user2.friends.first(), self.local_user1.public_identity)
self.assertEqual(self.f['local_user1'].friends.count(), 0)
self.assertEqual(self.f['local_user2'].friends.count(), 0)
self.assertEqual(self.f['ext_user1'].friends.count(), 0)
self.assertEqual(self.f['ext_user2'].friends.count(), 0)
self.f['local_user1'].friends.add(self.f['local_user2'].public_identity)
self.assertEqual(self.f['local_user1'].friends.count(), 1)
self.assertEqual(self.f['local_user2'].friends.count(), 1)
self.assertEqual(self.f['ext_user1'].friends.count(), 0)
self.assertEqual(self.f['ext_user2'].friends.count(), 0)
self.assertEqual(self.f['local_user1'].friends.first(), self.f['local_user2'].public_identity)
self.assertEqual(self.f['local_user2'].friends.first(), self.f['local_user1'].public_identity)
def test_friendship_external(self):
self.assertEqual(self.local_user1.friends.count(), 0)
self.assertEqual(self.local_user2.friends.count(), 0)
self.assertEqual(self.ext_user1.friends.count(), 0)
self.assertEqual(self.ext_user2.friends.count(), 0)
self.local_user1.friends.add(self.ext_user1.public_identity)
self.assertEqual(self.local_user1.friends.count(), 1)
self.assertEqual(self.local_user2.friends.count(), 0)
self.assertEqual(self.ext_user1.friends.count(), 1)
self.assertEqual(self.ext_user2.friends.count(), 0)
self.assertEqual(self.local_user1.friends.first(), self.ext_user1.public_identity)
self.assertEqual(self.ext_user1.friends.first(), self.local_user1.public_identity)
self.assertEqual(self.f['local_user1'].friends.count(), 0)
self.assertEqual(self.f['local_user2'].friends.count(), 0)
self.assertEqual(self.f['ext_user1'].friends.count(), 0)
self.assertEqual(self.f['ext_user2'].friends.count(), 0)
self.f['local_user1'].friends.add(self.f['ext_user1'].public_identity)
self.assertEqual(self.f['local_user1'].friends.count(), 1)
self.assertEqual(self.f['local_user2'].friends.count(), 0)
self.assertEqual(self.f['ext_user1'].friends.count(), 1)
self.assertEqual(self.f['ext_user2'].friends.count(), 0)
self.assertEqual(self.f['local_user1'].friends.first(), self.f['ext_user1'].public_identity)
self.assertEqual(self.f['ext_user1'].friends.first(), self.f['local_user1'].public_identity)
def test_friend_from_external(self):
self.assertEqual(self.local_user1.friends.count(), 0)
self.assertEqual(self.local_user2.friends.count(), 0)
self.assertEqual(self.ext_user1.friends.count(), 0)
self.assertEqual(self.ext_user2.friends.count(), 0)
self.ext_user1.friends.add(self.local_user1.public_identity)
self.assertEqual(self.local_user1.friends.count(), 1)
self.assertEqual(self.local_user2.friends.count(), 0)
self.assertEqual(self.ext_user1.friends.count(), 1)
self.assertEqual(self.ext_user2.friends.count(), 0)
self.assertEqual(self.local_user1.friends.first(), self.ext_user1.public_identity)
self.assertEqual(self.ext_user1.friends.first(), self.local_user1.public_identity)
self.assertEqual(self.f['local_user1'].friends.count(), 0)
self.assertEqual(self.f['local_user2'].friends.count(), 0)
self.assertEqual(self.f['ext_user1'].friends.count(), 0)
self.assertEqual(self.f['ext_user2'].friends.count(), 0)
self.f['ext_user1'].friends.add(self.f['local_user1'].public_identity)
self.assertEqual(self.f['local_user1'].friends.count(), 1)
self.assertEqual(self.f['local_user2'].friends.count(), 0)
self.assertEqual(self.f['ext_user1'].friends.count(), 1)
self.assertEqual(self.f['ext_user2'].friends.count(), 0)
self.assertEqual(self.f['local_user1'].friends.first(), self.f['ext_user1'].public_identity)
self.assertEqual(self.f['ext_user1'].friends.first(), self.f['local_user1'].public_identity)
class FriendApiTestCase(UserTestCase):
class FriendApiTestCase(UserTestMixin, ToolshedTestCase):
def setUp(self):
super().setUp()
self.local_user1.friends.add(self.local_user2.public_identity)
self.local_user1.friends.add(self.ext_user1.public_identity)
self.ext_user1.friends.add(self.local_user1.public_identity)
self.prepare_users()
self.f['local_user1'].friends.add(self.f['local_user2'].public_identity)
self.f['local_user1'].friends.add(self.f['ext_user1'].public_identity)
self.f['ext_user1'].friends.add(self.f['local_user1'].public_identity)
def test_friend_list_internal1(self):
reply = client.get('/api/friends/', self.local_user1)
reply = client.get('/api/friends/', self.f['local_user1'])
self.assertEqual(reply.status_code, 200)
self.assertEqual(len(reply.json()), 2)
self.assertEqual(reply.json()[0]['username'], str(self.local_user2))
self.assertEqual(reply.json()[1]['username'], str(self.ext_user1))
self.assertEqual(reply.json()[0]['username'], str(self.f['local_user2']))
self.assertEqual(reply.json()[1]['username'], str(self.f['ext_user1']))
def test_friend_list_internal2(self):
reply = client.get('/api/friends/', self.local_user2)
reply = client.get('/api/friends/', self.f['local_user2'])
self.assertEqual(reply.status_code, 200)
self.assertEqual(len(reply.json()), 1)
self.assertEqual(reply.json()[0]['username'], str(self.local_user1))
self.assertEqual(reply.json()[0]['username'], str(self.f['local_user1']))
def test_friend_list_external(self):
reply = client.get('/api/friends/', self.ext_user1)
reply = client.get('/api/friends/', self.f['ext_user1'])
self.assertEqual(reply.status_code, 200)
self.assertEqual(len(reply.json()), 1)
self.assertEqual(reply.json()[0]['username'], str(self.local_user1))
self.assertEqual(reply.json()[0]['username'], str(self.f['local_user1']))