Example #1
0
 def test_can_search_by_group_name(self):
     with session.begin():
         group = data_setup.create_group()
         other_group = data_setup.create_group(
             group_name=data_setup.unique_name(u'aardvark%s'))
     b = self.browser
     b.get(get_server_base() + 'groups/')
     b.find_element_by_class_name('search-query').send_keys(
         'group_name:"%s"' % group.group_name)
     b.find_element_by_class_name('grid-filter').submit()
     check_group_search_results(b, present=[group], absent=[other_group])
Example #2
0
 def test_can_search_by_group_name(self):
     with session.begin():
         group = data_setup.create_group()
         other_group = data_setup.create_group(
                 group_name=data_setup.unique_name(u'aardvark%s'))
     b = self.browser
     b.get(get_server_base() + 'groups/')
     b.find_element_by_class_name('search-query').send_keys(
             'group_name:"%s"' % group.group_name)
     b.find_element_by_class_name('grid-filter').submit()
     check_group_search_results(b, present=[group], absent=[other_group])
Example #3
0
 def test_can_search_normal_groups_by_member_username(self):
     with session.begin():
         group = data_setup.create_group(
                 group_name=data_setup.unique_name(u'aardvark%s'))
         member = data_setup.create_user()
         group.add_member(member)
         other_group = data_setup.create_group(
                 group_name=data_setup.unique_name(u'aardvark%s'))
     b = self.browser
     b.get(get_server_base() + 'groups/')
     b.find_element_by_class_name('search-query').send_keys(
             'member.user_name:%s' % member.user_name)
     b.find_element_by_class_name('grid-filter').submit()
     check_group_search_results(b, present=[group], absent=[other_group])
Example #4
0
 def test_can_search_inverted_groups_by_member_username(self):
     with session.begin():
         member = data_setup.create_user()
         group = data_setup.create_group(
             group_name=data_setup.unique_name(u'aardvark%s'))
         inverted_group = data_setup.create_group(
             group_name=data_setup.unique_name(u'aardvark%s'),
             membership_type=GroupMembershipType.inverted)
     b = self.browser
     b.get(get_server_base() + 'groups/')
     b.find_element_by_class_name('search-query').send_keys(
         'member.user_name:%s' % member.user_name)
     b.find_element_by_class_name('grid-filter').submit()
     check_group_search_results(b, present=[inverted_group], absent=[group])
Example #5
0
 def test_can_search_normal_groups_by_member_username(self):
     with session.begin():
         group = data_setup.create_group(
             group_name=data_setup.unique_name(u'aardvark%s'))
         member = data_setup.create_user()
         group.add_member(member)
         other_group = data_setup.create_group(
             group_name=data_setup.unique_name(u'aardvark%s'))
     b = self.browser
     b.get(get_server_base() + 'groups/')
     b.find_element_by_class_name('search-query').send_keys(
         'member.user_name:%s' % member.user_name)
     b.find_element_by_class_name('grid-filter').submit()
     check_group_search_results(b, present=[group], absent=[other_group])
Example #6
0
 def test_can_search_inverted_groups_by_member_username(self):
     with session.begin():
         member = data_setup.create_user()
         group = data_setup.create_group(
                 group_name=data_setup.unique_name(u'aardvark%s'))
         inverted_group = data_setup.create_group(
            group_name=data_setup.unique_name(u'aardvark%s'),
            membership_type=GroupMembershipType.inverted)
     b = self.browser
     b.get(get_server_base() + 'groups/')
     b.find_element_by_class_name('search-query').send_keys(
             'member.user_name:%s' % member.user_name)
     b.find_element_by_class_name('grid-filter').submit()
     check_group_search_results(b, present=[inverted_group],
             absent=[group])
Example #7
0
 def test_can_search_by_owner_username(self):
     with session.begin():
         group = data_setup.create_group()
         owner = data_setup.create_user()
         group.add_member(owner, is_owner=True)
         # User is a member but *not* an owner of the other group. This is 
         # to prove we really are filtering by ownership, not just 
         # membership.
         other_group = data_setup.create_group(
                 group_name=data_setup.unique_name(u'aardvark%s'))
         other_group.add_member(owner, is_owner=False)
     b = self.browser
     b.get(get_server_base() + 'groups/')
     b.find_element_by_class_name('search-query').send_keys(
             'owner.user_name:%s' % owner.user_name)
     b.find_element_by_class_name('grid-filter').submit()
     check_group_search_results(b, present=[group], absent=[other_group])
Example #8
0
 def test_can_search_by_owner_username(self):
     with session.begin():
         group = data_setup.create_group()
         owner = data_setup.create_user()
         group.add_member(owner, is_owner=True)
         # User is a member but *not* an owner of the other group. This is
         # to prove we really are filtering by ownership, not just
         # membership.
         other_group = data_setup.create_group(
             group_name=data_setup.unique_name(u'aardvark%s'))
         other_group.add_member(owner, is_owner=False)
     b = self.browser
     b.get(get_server_base() + 'groups/')
     b.find_element_by_class_name('search-query').send_keys(
         'owner.user_name:%s' % owner.user_name)
     b.find_element_by_class_name('grid-filter').submit()
     check_group_search_results(b, present=[group], absent=[other_group])
Example #9
0
    def test_remove_self_admin_group(self):

        with session.begin():
            user = data_setup.create_admin(password='******')

        b = self.browser
        login(b, user=user.user_name, password='******')

        # admin should be in groups/mine
        b.get(get_server_base() + 'groups/mine')
        b.find_element_by_link_text('admin').click()

        # remove self
        b.find_element_by_xpath('//td[preceding-sibling::td[2]/text()="%s"]' % user.user_name)\
                .find_element_by_link_text('Remove').click()
        self.assertEquals(
            b.find_element_by_class_name('flash').text,
            '%s Removed' % user.user_name)

        # admin should not be in groups/mine
        b.get(get_server_base() + 'groups/mine')
        check_group_search_results(b, absent=[Group.by_name(u'admin')])
        logout(b)

        # login as admin
        login(b)
        group = Group.by_name('admin')
        group_users = group.users
        # remove  all other users from 'admin'
        b.get(get_server_base() + 'groups/edit?group_id=1')
        for usr in group_users:
            if usr.user_id != 1:
                b.find_element_by_xpath('//td[preceding-sibling::td[2]/text()="%s"]' % usr.user_name)\
                        .find_element_by_link_text('Remove').click()
                self.assertEquals(
                    b.find_element_by_class_name('flash').text,
                    '%s Removed' % usr.user_name)

        # attempt to remove admin user
        b.find_element_by_xpath(
            '//a[@href="removeUser?group_id=1&id=1"]').click()
        self.assert_('Cannot remove member' in b.find_element_by_class_name(
            'flash').text)
Example #10
0
    def test_remove_self_admin_group(self):

        with session.begin():
            user = data_setup.create_admin(password='******')

        b = self.browser
        login(b, user=user.user_name, password='******')

        # admin should be in groups/mine
        b.get(get_server_base() + 'groups/mine')
        b.find_element_by_link_text('admin').click()

        # remove self
        b.find_element_by_xpath('//td[preceding-sibling::td[2]/text()="%s"]' % user.user_name)\
                .find_element_by_link_text('Remove').click()
        self.assertEquals(
                b.find_element_by_class_name('flash').text,
                '%s Removed' % user.user_name)

        # admin should not be in groups/mine
        b.get(get_server_base() + 'groups/mine')
        check_group_search_results(b, absent=[Group.by_name(u'admin')])
        logout(b)

        # login as admin
        login(b)
        group = Group.by_name('admin')
        group_users = group.users
        # remove  all other users from 'admin'
        b.get(get_server_base() + 'groups/edit?group_id=1')
        for usr in group_users:
            if usr.user_id != 1:
                b.find_element_by_xpath('//td[preceding-sibling::td[2]/text()="%s"]' % usr.user_name)\
                        .find_element_by_link_text('Remove').click()
                self.assertEquals(
                        b.find_element_by_class_name('flash').text,
                        '%s Removed' % usr.user_name)

        # attempt to remove admin user
        b.find_element_by_xpath('//a[@href="removeUser?group_id=1&id=1"]').click()
        self.assert_('Cannot remove member' in b.find_element_by_class_name('flash').text)