stash
This commit is contained in:
parent
9685b4020e
commit
22931452e3
7 changed files with 28 additions and 21 deletions
|
|
@ -1,8 +1,15 @@
|
|||
from django.contrib import admin
|
||||
from django.contrib.auth.models import Group as DjangoPermissionGroup
|
||||
|
||||
from authentication.models import ToolshedUser, KnownIdentity, FriendRequestOutgoing, FriendRequestIncoming, \
|
||||
AccountPreference, Group, GroupInvite, GroupInviteIncoming, GroupMembership
|
||||
|
||||
# django.contrib.auth's own permission-groups model is unused (this app authenticates via
|
||||
# signature_auth, not Django's built-in permission system) and otherwise collides in the admin
|
||||
# sidebar with our own Group (the actor-type group), which is registered below under the same
|
||||
# "Groups" label.
|
||||
admin.site.unregister(DjangoPermissionGroup)
|
||||
|
||||
|
||||
class ToolshedUserAdmin(admin.ModelAdmin):
|
||||
list_display = ('username', 'email', 'first_name', 'last_name', 'is_staff', 'is_active', 'date_joined', 'domain')
|
||||
|
|
|
|||
|
|
@ -50,13 +50,13 @@ def resolve_tag_handle(handle):
|
|||
|
||||
|
||||
class FriendSerializer(serializers.ModelSerializer):
|
||||
username = serializers.SerializerMethodField()
|
||||
handle = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = KnownIdentity
|
||||
fields = ['id', 'username', 'public_key']
|
||||
fields = ['id', 'handle', 'public_key']
|
||||
|
||||
def get_username(self, obj):
|
||||
def get_handle(self, obj):
|
||||
return obj.username + '@' + obj.domain
|
||||
|
||||
|
||||
|
|
@ -72,13 +72,13 @@ class FriendRequestSerializer(serializers.ModelSerializer):
|
|||
|
||||
|
||||
class GroupMemberSerializer(serializers.ModelSerializer):
|
||||
username = serializers.SerializerMethodField()
|
||||
handle = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = KnownIdentity
|
||||
fields = ['id', 'username', 'public_key']
|
||||
fields = ['id', 'handle', 'public_key']
|
||||
|
||||
def get_username(self, obj):
|
||||
def get_handle(self, obj):
|
||||
return obj.username + '@' + obj.domain
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -63,20 +63,20 @@ class FriendApiTestCase(UserTestMixin, ToolshedTestCase):
|
|||
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.f['local_user2']))
|
||||
self.assertEqual(reply.json()[1]['username'], str(self.f['ext_user1']))
|
||||
self.assertEqual(reply.json()[0]['handle'], str(self.f['local_user2']))
|
||||
self.assertEqual(reply.json()[1]['handle'], str(self.f['ext_user1']))
|
||||
|
||||
def test_friend_list_internal2(self):
|
||||
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.f['local_user1']))
|
||||
self.assertEqual(reply.json()[0]['handle'], str(self.f['local_user1']))
|
||||
|
||||
def test_friend_list_external(self):
|
||||
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.f['local_user1']))
|
||||
self.assertEqual(reply.json()[0]['handle'], str(self.f['local_user1']))
|
||||
|
||||
def test_friend_delete(self):
|
||||
reply = client.delete('/api/friends/{}/'.format(self.f['local_user2'].public_identity.id),
|
||||
|
|
|
|||
|
|
@ -16,20 +16,20 @@ class IdMapTestCase(UserTestMixin, GroupTestMixin, ToolshedTestCase):
|
|||
reply = client.get('/api/idmap/', self.f['local_user1'])
|
||||
self.assertEqual(reply.status_code, 200)
|
||||
identities = reply.json()['identities']
|
||||
self.assertIn(str(self.f['local_user1']), [i['username'] for i in identities])
|
||||
self.assertIn(str(self.f['local_user1']), [i['handle'] for i in identities])
|
||||
|
||||
def test_idmap_includes_friends(self):
|
||||
self.f['local_user1'].friends.add(self.f['local_user2'].public_identity)
|
||||
reply = client.get('/api/idmap/', self.f['local_user1'])
|
||||
self.assertEqual(reply.status_code, 200)
|
||||
identities = reply.json()['identities']
|
||||
self.assertIn(str(self.f['local_user2']), [i['username'] for i in identities])
|
||||
self.assertIn(str(self.f['local_user2']), [i['handle'] for i in identities])
|
||||
|
||||
def test_idmap_excludes_non_friends(self):
|
||||
reply = client.get('/api/idmap/', self.f['local_user1'])
|
||||
self.assertEqual(reply.status_code, 200)
|
||||
identities = reply.json()['identities']
|
||||
self.assertNotIn(str(self.f['local_user2']), [i['username'] for i in identities])
|
||||
self.assertNotIn(str(self.f['local_user2']), [i['handle'] for i in identities])
|
||||
|
||||
def test_idmap_includes_member_groups(self):
|
||||
self.prepare_groups()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue