def test_custom_check_disallowed_for_wrong_arg(self):
    admin_settings.ACCESS_CALLBACK = custom_check_with_arg

    handler = TestHandler()
    checked_handler = check()
    check_wrapper = checked_handler(handler.get)
    result = check_wrapper(handler, 'first_arg', kwarg='first_kwarg_wrong')
    self.assertEquals('fail', result)
  def test_custom_check_allowed_for_specific_arg(self):
    admin_settings.ACCESS_CALLBACK = custom_check_with_arg

    handler = TestHandler()
    checked_handler = check()
    check_wrapper = checked_handler(handler.get)
    result = check_wrapper(handler, 'first_arg', kwarg='first_kwarg')
    self.assertEquals('success!', result)
  def test_default_check_admin(self):
    # Stubs
    users.get_current_user = fake_get_current_user(True)
    users.is_current_user_admin = lambda *a, **kw: True

    handler = TestHandler()
    checked_handler = check()
    check_wrapper = checked_handler(handler.get)
    result = check_wrapper(handler)
    self.assertEquals('success!', result)
  def test_default_check_not_logged_in(self):
    # Stubs
    users.get_current_user = fake_get_current_user(False)
    users.is_current_user_admin = lambda *a, **kw: False

    handler = TestHandler()
    checked_handler = check()
    check_wrapper = checked_handler(handler.get)
    result = check_wrapper(handler)
    self.assertIsNone(result)