From 3f78522f15e40b2eb1a114f64ee212a66743aeb0 Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Tue, 23 Sep 2003 17:05:53 +0000 Subject: [PATCH] Made sure the error message is correct when a user tries to removeCapability something that isn't there. --- src/AdminCommands.py | 7 ++++++- test/test_AdminCommands.py | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/AdminCommands.py b/src/AdminCommands.py index 6c0f26d39..b9480e3cd 100755 --- a/src/AdminCommands.py +++ b/src/AdminCommands.py @@ -159,11 +159,16 @@ class AdminCommands(privmsgs.CapabilityCheckingPrivmsg): try: id = ircdb.users.getUserId(name) user = ircdb.users.getUser(id) + except KeyError: + irc.error(msg, conf.replyNoUser) + return + try: user.removeCapability(capability) ircdb.users.setUser(id, user) irc.reply(msg, conf.replySuccess) except KeyError: - irc.error(msg, conf.replyNoUser) + irc.error(msg, 'That user doesn\'t have that capability.') + return else: s = 'You can\'t remove capabilities you don\'t have.' irc.error(msg, s) diff --git a/test/test_AdminCommands.py b/test/test_AdminCommands.py index 8f5c380a2..b856cfa5e 100644 --- a/test/test_AdminCommands.py +++ b/test/test_AdminCommands.py @@ -39,6 +39,11 @@ class AdminCommandsTestCase(PluginTestCase, PluginDocumentation): def testAddcapability(self): self.assertError('addcapability sdlkfj foo') + (id, u) = ircdb.users.newUser() + u.name = 'foo' + ircdb.users.setUser(id, u) + self.assertError('removecapability foo bar') + self.assertNotRegexp('removecapability foo bar', 'find') def testRemoveCapability(self): self.assertError('removecapability alsdfkjasd foo')