Skip to content

Commit

Permalink
Merge pull request #67 from mozilla-services/remove_user_functional_test
Browse files Browse the repository at this point in the history
Test that user group removal remove it from the group.
  • Loading branch information
Natim committed Jun 16, 2015
2 parents ac5ccea + c8dfa11 commit e603d83
Showing 1 changed file with 36 additions and 13 deletions.
49 changes: 36 additions & 13 deletions kinto/tests/test_views_groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ def test_groups_can_be_deleted(self):
self.app.get(self.group_url, headers=self.headers,
status=404)

def test_group_is_removed_from_users_on_group_deletion(self):
def test_group_is_removed_from_users_principals_on_group_deletion(self):
self.app.put_json(self.group_url, MINIMALIST_GROUP,
headers=self.headers, status=201)
self.assertIn(self.group_url,
Expand All @@ -74,7 +74,7 @@ def test_group_is_removed_from_users_on_group_deletion(self):
self.assertNotIn(self.group_url,
self.permission.user_principals('fxa:user'))

def test_group_is_removed_from_users_on_all_groups_deletion(self):
def test_group_is_removed_from_users_principals_on_groups_deletion(self):
self.create_group('beers', 'moderators', ['natim', 'fxa:user'])
self.create_group('beers', 'reviewers', ['natim', 'alexis'])

Expand All @@ -85,25 +85,48 @@ def test_group_is_removed_from_users_on_all_groups_deletion(self):
self.assertEquals(self.permission.user_principals('natim'), set())
self.assertEquals(self.permission.user_principals('alexis'), set())

def test_group_is_added_to_user_when_added_to_members(self):
def test_group_is_added_to_user_principals_when_added_to_members(self):
self.create_group('beers', 'moderators', ['natim', 'mat'])

group = self.app.get('/buckets/beers/groups', headers=self.headers,
status=200).json['data'][0]
self.assertIn('natim', group['members'])
self.assertIn('mat', group['members'])
self.app.get('/buckets/beers/groups', headers=self.headers, status=200)
self.assertEquals(self.permission.user_principals('natim'),
{'/buckets/beers/groups/moderators'})
self.assertEquals(self.permission.user_principals('mat'),
{'/buckets/beers/groups/moderators'})

def test_group_is_added_to_user_when_added_to_members_using_patch(self):
def test_group_is_added_to_user_principals_on_members_add_with_patch(self):
self.create_group('beers', 'moderators', ['natim', 'mat'])
group_url = '/buckets/beers/groups/moderators'
group = {'data': {'members': ['natim', 'mat', 'alice']}}
self.app.patch_json(group_url, group,
headers=self.headers, status=200)
group = self.app.get('/buckets/beers/groups', headers=self.headers,
status=200).json['data'][0]
self.assertIn('natim', group['members'])
self.assertIn('mat', group['members'])
self.assertIn('alice', group['members'])
self.app.get('/buckets/beers/groups', headers=self.headers, status=200)
self.assertEquals(self.permission.user_principals('natim'),
{group_url})
self.assertEquals(self.permission.user_principals('mat'),
{group_url})
self.assertEquals(self.permission.user_principals('alice'),
{group_url})

def test_group_member_removal_updates_user_principals(self):
self.create_group('beers', 'moderators', ['natim', 'mat'])
group_url = '/buckets/beers/groups/moderators'
group = {'data': {'members': ['mat']}}
self.app.put_json(group_url, group,
headers=self.headers, status=200)
self.app.get('/buckets/beers/groups', headers=self.headers, status=200)
self.assertEquals(self.permission.user_principals('natim'), set())
self.assertEquals(self.permission.user_principals('mat'),
{group_url})

def test_group_member_removal_updates_user_principals_with_patch(self):
self.create_group('beers', 'moderators', ['natim', 'mat'])
group_url = '/buckets/beers/groups/moderators'
group = {'data': {'members': ['mat']}}
self.app.patch_json(group_url, group, headers=self.headers, status=200)
self.assertEquals(self.permission.user_principals('natim'), set())
self.assertEquals(self.permission.user_principals('mat'),
{group_url})


class InvalidGroupTest(BaseWebTest, unittest.TestCase):
Expand Down

0 comments on commit e603d83

Please sign in to comment.