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()
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)
def testPostAccessDenied(self, *_): mode = 'no_packages' common.SetPanicMode(mode, True) self.testapp.post( '/admin/panic', {'mode': mode, 'enabled': 'disable', 'verify': 1}, status=httplib.FORBIDDEN)
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)
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()
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)
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))
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()