示例#1
0
  def testIsAllowedToViewPacakgesProposalsOff(self):
    """Test PermissionResolver._IsAllowedToViewPackages() without proposals."""
    test_resolver = auth.PermissionResolver('task')
    email_one = '*****@*****.**'
    email_two = '*****@*****.**'
    email_three = '*****@*****.**'

    setattr(auth.settings, 'ENABLE_PROPOSALS_GROUP', False)
    setattr(auth.settings, 'PROPOSALS_GROUP', '')

    self.mox.StubOutWithMock(auth, 'DoUserAuth')
    self.mox.StubOutWithMock(auth, 'IsAdminUser')
    self.mox.StubOutWithMock(auth, 'IsSupportUser')
    auth.IsAdminUser(email_one).AndReturn(True)
    auth.IsAdminUser(email_two).AndReturn(False)
    auth.IsSupportUser(email_two).AndReturn(True)
    auth.IsAdminUser(email_three).AndReturn(False)
    auth.IsSupportUser(email_three).AndReturn(False)

    self.mox.ReplayAll()
    test_resolver.email = email_one
    self.assertTrue(test_resolver._IsAllowedToViewPackages())
    test_resolver.email = email_two
    self.assertTrue(test_resolver._IsAllowedToViewPackages())
    test_resolver.email = email_three
    self.assertFalse(test_resolver._IsAllowedToViewPackages())
    self.mox.VerifyAll()
示例#2
0
  def testIsAllowedToPropose(self):
    """Test PermissionResolver._IsAllowedToPropose()."""
    test_resolver = auth.PermissionResolver('task')
    email_one = '*****@*****.**'
    email_two = '*****@*****.**'
    email_three = '*****@*****.**'

    setattr(auth.settings, 'ENABLE_PROPOSALS_GROUP', True)
    setattr(auth.settings, 'PROPOSALS_GROUP', 'group')
    with mock.patch.object(auth, 'IsAdminUser', return_value=True):
      test_resolver.email = email_one
      self.assertTrue(test_resolver._IsAllowedToPropose())

    with mock.patch.object(auth, 'IsAdminUser', return_value=False):
      with mock.patch.object(
          auth, 'IsGroupMember', return_value=True) as mock_is_group_member:
        test_resolver.email = email_two
        self.assertTrue(test_resolver._IsAllowedToPropose())
        mock_is_group_member.assert_called_once_with(
            email_two, 'proposals_group', remote_group_lookup=True)

    with mock.patch.object(auth, 'IsAdminUser', return_value=False):
      with mock.patch.object(
          auth, 'IsGroupMember', return_value=False) as mock_is_group_member:
        test_resolver.email = email_three
        self.assertFalse(test_resolver._IsAllowedToPropose())
        mock_is_group_member.assert_called_once_with(
            email_three, 'proposals_group', remote_group_lookup=True)
示例#3
0
  def testIsAllowedToPropose(self):
    """Test PermissionResolver._IsAllowedToPropose()."""
    test_resolver = auth.PermissionResolver('task')
    email_one = '*****@*****.**'
    email_two = '*****@*****.**'
    email_three = '*****@*****.**'

    self.mox.StubOutWithMock(auth, 'IsAdminUser')
    self.mox.StubOutWithMock(auth, 'IsGroupMember')
    auth.IsAdminUser(email_one).AndReturn(True)
    auth.IsAdminUser(email_two).AndReturn(False)
    auth.IsGroupMember(
        email_two, 'proposals_group',
        remote_group_lookup=True).AndReturn(True)
    auth.IsAdminUser(email_three).AndReturn(False)
    auth.IsGroupMember(
        email_three, 'proposals_group',
        remote_group_lookup=True).AndReturn(False)

    self.mox.ReplayAll()
    test_resolver.email = email_one
    self.assertTrue(test_resolver._IsAllowedToPropose())
    test_resolver.email = email_two
    self.assertTrue(test_resolver._IsAllowedToPropose())
    test_resolver.email = email_three
    self.assertFalse(test_resolver._IsAllowedToPropose())
    self.mox.VerifyAll()
示例#4
0
    def testIsAllowedToPropose(self):
        """Test PermissionResolver._IsAllowedToPropose()."""
        test_resolver = auth.PermissionResolver('task')
        email_one = '*****@*****.**'
        email_two = '*****@*****.**'
        email_three = '*****@*****.**'

        with mock.patch.object(auth, 'IsAdminUser', return_value=True):
            test_resolver.email = email_one
            self.assertTrue(test_resolver._IsAllowedToPropose())
示例#5
0
  def testIsAllowedTo(self, mock_is_allowed_to_propose, _):
    """Test PermissionResolver.IsAllowedTo."""
    test_resolver = auth.PermissionResolver('task')

    test_resolver.email = '*****@*****.**'
    test_resolver.task = 'Propose'
    mock_is_allowed_to_propose.return_value = True
    self.assertTrue(test_resolver.IsAllowedTo())

    mock_is_allowed_to_propose.return_value = False
    self.assertFalse(test_resolver.IsAllowedTo())
示例#6
0
  def testIsAllowedToUploadProposalsOn(self, mock_is_allowed_to_propose):
    """Test PermissionResolver._IsAllowedToUpload() without proposals."""
    test_resolver = auth.PermissionResolver('task')
    email_one = '*****@*****.**'
    email_two = '*****@*****.**'

    setattr(auth.settings, 'ENABLE_PROPOSALS_GROUP', True)
    setattr(auth.settings, 'PROPOSALS_GROUP', 'group')

    test_resolver.email = email_one
    mock_is_allowed_to_propose.return_value = True
    self.assertTrue(test_resolver._IsAllowedToUpload())

    test_resolver.email = email_two
    mock_is_allowed_to_propose.return_value = False
    self.assertFalse(test_resolver._IsAllowedToUpload())
示例#7
0
  def testIsAllowedToUploadProposalsOff(self):
    """Test PermissionResolver._IsAllowedToUpload() with proposals."""
    test_resolver = auth.PermissionResolver('task')
    email_one = '*****@*****.**'
    email_two = '*****@*****.**'

    setattr(auth.settings, 'ENABLE_PROPOSALS_GROUP', False)
    setattr(auth.settings, 'PROPOSALS_GROUP', '')

    with mock.patch.object(auth, 'IsAdminUser', return_value=True):
      test_resolver.email = email_one
      self.assertTrue(test_resolver._IsAllowedToUpload())

    with mock.patch.object(auth, 'IsAdminUser', return_value=False):
      test_resolver.email = email_two
      self.assertFalse(test_resolver._IsAllowedToUpload())
示例#8
0
  def testIsAllowedToUploadProposalsOn(self):
    """Test PermissionResolver._IsAllowedToUpload() without proposals."""
    test_resolver = auth.PermissionResolver('task')
    email_one = '*****@*****.**'
    email_two = '*****@*****.**'

    setattr(auth.settings, 'ENABLE_PROPOSALS_GROUP', True)
    setattr(auth.settings, 'PROPOSALS_GROUP', 'group')

    self.mox.StubOutWithMock(auth, 'DoUserAuth')
    self.mox.StubOutWithMock(auth.PermissionResolver, '_IsAllowedToPropose')
    auth.PermissionResolver._IsAllowedToPropose().AndReturn(True)
    auth.PermissionResolver._IsAllowedToPropose().AndReturn(False)

    self.mox.ReplayAll()
    test_resolver.email = email_one
    self.assertTrue(test_resolver._IsAllowedToUpload())
    test_resolver.email = email_two
    self.assertFalse(test_resolver._IsAllowedToUpload())
    self.mox.VerifyAll()
示例#9
0
  def testIsAllowedToViewPacakgesProposalsOff(
      self, mock_is_admin_user, mock_is_support_user):
    """Test PermissionResolver._IsAllowedToViewPackages() without proposals."""
    test_resolver = auth.PermissionResolver('task')
    email_one = '*****@*****.**'
    email_two = '*****@*****.**'
    email_three = '*****@*****.**'

    setattr(auth.settings, 'ENABLE_PROPOSALS_GROUP', False)
    setattr(auth.settings, 'PROPOSALS_GROUP', '')

    test_resolver.email = email_one
    mock_is_admin_user.return_value = True
    self.assertTrue(test_resolver._IsAllowedToViewPackages())

    test_resolver.email = email_two
    mock_is_admin_user.return_value = False
    mock_is_support_user.return_value = True
    self.assertTrue(test_resolver._IsAllowedToViewPackages())

    test_resolver.email = email_three
    mock_is_support_user.return_value = False
    self.assertFalse(test_resolver._IsAllowedToViewPackages())
示例#10
0
  def testIsAllowedTo(self):
    """Test PermissionResolver.IsAllowedTo."""
    test_resolver = auth.PermissionResolver('task')

    self.mox.StubOutWithMock(auth, 'DoUserAuth')
    self.mox.StubOutWithMock(auth.PermissionResolver, '_IsAllowedToPropose')

    auth.DoUserAuth().AndReturn(True)
    auth.PermissionResolver._IsAllowedToPropose().AndReturn(True)
    auth.DoUserAuth().AndReturn(True)
    auth.PermissionResolver._IsAllowedToPropose().AndReturn(False)
    auth.DoUserAuth().AndRaise(auth.NotAuthenticated(''))
    auth.DoUserAuth().AndReturn(True)

    self.mox.ReplayAll()
    test_resolver.email = '*****@*****.**'
    test_resolver.task = 'Propose'
    self.assertTrue(test_resolver.IsAllowedTo())
    self.assertFalse(test_resolver.IsAllowedTo())
    self.assertFalse(test_resolver.IsAllowedTo())
    test_resolver.task = 'FakeTask'
    self.assertFalse(test_resolver.IsAllowedTo())
    self.mox.VerifyAll()
示例#11
0
  def testIsAllowedToUnknownTask(self, _):
    test_resolver = auth.PermissionResolver('task')
    test_resolver.email = '*****@*****.**'
    test_resolver.task = 'FakeTask'

    self.assertFalse(test_resolver.IsAllowedTo())
示例#12
0
 def testIsAllowedToWithoutUser(self, _):
   test_resolver = auth.PermissionResolver('task')
   test_resolver.email = '*****@*****.**'
   test_resolver.task = 'Propose'
   self.assertFalse(test_resolver.IsAllowedTo())