mirror of https://github.com/Mikaela/Limnoria.git
plugins/User: Make sure we raise the error in User.unregister so allowUnregistration is obeyed.
This commit is contained in:
parent
53149cced4
commit
d074721603
|
@ -135,7 +135,8 @@ class User(callbacks.Plugin):
|
||||||
self.log.warning('%s tried to unregister user %s.',
|
self.log.warning('%s tried to unregister user %s.',
|
||||||
msg.prefix, user.name)
|
msg.prefix, user.name)
|
||||||
irc.error('This command has been disabled. You\'ll have to '
|
irc.error('This command has been disabled. You\'ll have to '
|
||||||
'ask the owner of this bot to unregister your user.')
|
'ask the owner of this bot to unregister your user.',
|
||||||
|
Raise=True)
|
||||||
if isOwner or user.checkPassword(password):
|
if isOwner or user.checkPassword(password):
|
||||||
ircdb.users.delUser(user.id)
|
ircdb.users.delUser(user.id)
|
||||||
irc.replySuccess()
|
irc.replySuccess()
|
||||||
|
|
|
@ -54,7 +54,7 @@ class UserTestCase(PluginTestCase):
|
||||||
self.assertNotError('hostmask remove foo %s' % self.prefix1)
|
self.assertNotError('hostmask remove foo %s' % self.prefix1)
|
||||||
self.assertNotError('identify foo bar')
|
self.assertNotError('identify foo bar')
|
||||||
self.assertRegexp('hostmask list', 'no registered hostmasks')
|
self.assertRegexp('hostmask list', 'no registered hostmasks')
|
||||||
|
|
||||||
|
|
||||||
def testHostmask(self):
|
def testHostmask(self):
|
||||||
self.assertResponse('hostmask', self.prefix)
|
self.assertResponse('hostmask', self.prefix)
|
||||||
|
@ -67,9 +67,23 @@ class UserTestCase(PluginTestCase):
|
||||||
self.assertNotError('register foo bar')
|
self.assertNotError('register foo bar')
|
||||||
self.assertError('register foo baz')
|
self.assertError('register foo baz')
|
||||||
self.failUnless(ircdb.users.getUserId('foo'))
|
self.failUnless(ircdb.users.getUserId('foo'))
|
||||||
|
self.assertError('unregister foo')
|
||||||
self.assertNotError('unregister foo bar')
|
self.assertNotError('unregister foo bar')
|
||||||
self.assertRaises(KeyError, ircdb.users.getUserId, 'foo')
|
self.assertRaises(KeyError, ircdb.users.getUserId, 'foo')
|
||||||
|
|
||||||
|
def testDisallowedUnregistration(self):
|
||||||
|
self.prefix = self.prefix1
|
||||||
|
self.assertNotError('register foo bar')
|
||||||
|
orig = conf.supybot.databases.users.allowUnregistration()
|
||||||
|
conf.supybot.databases.users.allowUnregistration.setValue(False)
|
||||||
|
try:
|
||||||
|
self.assertError('unregister foo')
|
||||||
|
m = self.irc.takeMsg()
|
||||||
|
self.failIf(m is not None, m)
|
||||||
|
self.failUnless(ircdb.users.getUserId('foo'))
|
||||||
|
finally:
|
||||||
|
conf.supybot.databases.users.allowUnregistration.setValue(orig)
|
||||||
|
|
||||||
def testList(self):
|
def testList(self):
|
||||||
self.prefix = self.prefix1
|
self.prefix = self.prefix1
|
||||||
self.assertNotError('register foo bar')
|
self.assertNotError('register foo bar')
|
||||||
|
|
Loading…
Reference in New Issue