[Core] Fix bug and add error testing to AuthManager

This commit is contained in:
bendikro 2015-12-30 22:26:56 +01:00
parent 9319e07db5
commit 93023c5bfc

View file

@ -51,7 +51,7 @@ class Account(object):
def __repr__(self):
return ('<Account username="%(username)s" authlevel=%(authlevel)s>' %
self.__dict__)
{"username": self.username, "authlevel": self.authlevel})
class AuthManager(component.Component):
@ -127,6 +127,8 @@ class AuthManager(component.Component):
def create_account(self, username, password, authlevel):
if username in self.__auth:
raise AuthManagerError("Username in use.", username)
if authlevel not in AUTH_LEVELS_MAPPING:
raise AuthManagerError("Invalid auth level: '%s'" % authlevel)
try:
self.__auth[username] = Account(username, password,
AUTH_LEVELS_MAPPING[authlevel])
@ -139,6 +141,8 @@ class AuthManager(component.Component):
def update_account(self, username, password, authlevel):
if username not in self.__auth:
raise AuthManagerError("Username not known", username)
if authlevel not in AUTH_LEVELS_MAPPING:
raise AuthManagerError("Invalid auth level: '%s'" % authlevel)
try:
self.__auth[username].username = username
self.__auth[username].password = password