Esempio n. 1
0
  def testSetPanicModeWhenEnable(self):
    """Tests SetPanicMode()."""
    mode = common.PANIC_MODES[0]
    k = '%s%s' % (common.PANIC_MODE_PREFIX, mode)

    self.mox.StubOutWithMock(
        common.models.KeyValueCache, 'get_by_key_name')
    self.mox.StubOutWithMock(
        common.models.KeyValueCache, 'ResetMemcacheWrap')
    self.mox.StubOutWithMock(
        common.models, 'KeyValueCache')
    mock_entity = self.mox.CreateMockAnything()

    common.models.KeyValueCache.get_by_key_name(k).AndReturn('existing')
    common.models.KeyValueCache.ResetMemcacheWrap(k).AndReturn(None)

    common.models.KeyValueCache.get_by_key_name(k).AndReturn(None)
    common.models.KeyValueCache(key_name=k).AndReturn(mock_entity)
    mock_entity.put().AndReturn(None)
    common.models.KeyValueCache.ResetMemcacheWrap(k).AndReturn(None)

    self.mox.ReplayAll()
    common.SetPanicMode(mode, True)
    common.SetPanicMode(mode, True)
    self.assertEqual(mock_entity.text_value, '1')
    self.mox.VerifyAll()
Esempio n. 2
0
  def post(self):
    """POST handler."""
    if not self.IsAdminUser():
      return

    mode = self.request.get('mode')
    enabled = self.request.get('enabled')
    verify = self.request.get('verify')

    if not verify:
      self.Render(
          'panic_set_verify.html',
          {'mode': {'name': mode, 'enabled': enabled}, 'report_type': 'panic'})
    else:
      if enabled == 'disable':
        enabled = False
      elif enabled == 'enable':
        enabled = True
      else:
        enabled = None

      if enabled is None:
        self.error(400)
      else:
        try:
          common.SetPanicMode(mode, enabled)
          self.redirect('/admin/panic')
        except ValueError:
          self.error(400)
Esempio n. 3
0
  def testPostAccessDenied(self, *_):
    mode = 'no_packages'
    common.SetPanicMode(mode, True)

    self.testapp.post(
        '/admin/panic', {'mode': mode, 'enabled': 'disable', 'verify': 1},
        status=httplib.FORBIDDEN)
Esempio n. 4
0
  def post(self):
    """POST handler."""
    if not self.IsAdminUser():
      return

    mode = self.request.get('mode')
    enabled = self.request.get('enabled')
    verify = self.request.get('verify')

    if not verify:
      self.Render(
          'panic_set_verify.html',
          {'mode': {'name': mode, 'enabled': enabled}, 'report_type': 'panic'})
    else:
      if enabled == 'disable':
        enabled = False
      elif enabled == 'enable':
        enabled = True
      else:
        enabled = None

      if enabled is None:
        self.error(400)
      else:
        try:
          common.SetPanicMode(mode, enabled)
          if mail:
            user = users.get_current_user()
            subject = 'Panic Mode Update by %s' % user
            body = '%s has set \'%s\' for Panic Mode.\n' % (user, enabled)
            mail.SendMail(settings.EMAIL_ADMIN_LIST, subject, body)

          self.redirect('/admin/panic')
        except ValueError:
          self.error(400)
Esempio n. 5
0
 def testSetPanicModeNoPackages(self):
   """Test SetPanicModeNoPackages()."""
   enabled = 12345
   self.mox.StubOutWithMock(common, 'SetPanicMode')
   common.SetPanicMode(common.PANIC_MODE_NO_PACKAGES, enabled).AndReturn(0)
   self.mox.ReplayAll()
   common.SetPanicModeNoPackages(enabled)
   self.mox.VerifyAll()
Esempio n. 6
0
  def testPostWhenInvalidEnabled(self, *_):
    mode = 'no_packages'
    enabled = 'enablzzZZZe'
    common.SetPanicMode(mode, True)

    self.testapp.post(
        '/admin/panic', {'mode': mode, 'enabled': enabled, 'verify': 1},
        status=httplib.BAD_REQUEST)
Esempio n. 7
0
  def testPostWhenVerifyDisable(self, *_):
    mode = 'no_packages'
    common.SetPanicMode(mode, True)

    resp = self.testapp.post(
        '/admin/panic', {'mode': mode, 'enabled': 'disable', 'verify': 1},
        status=httplib.FOUND)

    self.assertTrue(resp.headers['Location'].endswith('/admin/panic'))
    self.assertFalse(common.IsPanicMode(mode))
Esempio n. 8
0
  def testSetPanicModeWhenDisable(self):
    """Tests SetPanicMode()."""
    mode = common.PANIC_MODES[0]
    k = '%s%s' % (common.PANIC_MODE_PREFIX, mode)

    self.mox.StubOutWithMock(
        common.models.KeyValueCache, 'get_by_key_name')
    self.mox.StubOutWithMock(
        common.models.KeyValueCache, 'ResetMemcacheWrap')
    self.mox.StubOutWithMock(
        common.models, 'KeyValueCache')
    mock_entity = self.mox.CreateMockAnything()

    common.models.KeyValueCache.get_by_key_name(k).AndReturn(mock_entity)
    mock_entity.delete()
    common.models.KeyValueCache.ResetMemcacheWrap(k).AndReturn(None)

    common.models.KeyValueCache.get_by_key_name(k).AndReturn(None)
    common.models.KeyValueCache.ResetMemcacheWrap(k).AndReturn(None)

    self.mox.ReplayAll()
    common.SetPanicMode(mode, False)
    common.SetPanicMode(mode, False)
    self.mox.VerifyAll()