Skip to content
Snippets Groups Projects
Commit 1a32ff2a authored by Olivier Levillain's avatar Olivier Levillain
Browse files

Add first support for user database.

parent 7228a0cd
No related branches found
No related tags found
No related merge requests found
......@@ -25,7 +25,7 @@ class Config:
return self.params[name]
def from_content(content):
def load_config_from_content(content):
config = Config()
for line in content.split('\n'):
if line == "":
......@@ -33,3 +33,28 @@ def from_content(content):
elts = line.split("=")
config.add_param(elts[0].strip(), elts[1].strip())
return config
class UserDB:
def __init__(self):
self.users = dict()
self.users["admin"] = { "admin" : True, "password" : "admin" }
self.users["guest"] = { "admin" : False, "password" : "guest" }
def add_user(self, login, password, admin):
self.users[login] = { "admin" : bool(admin), "password" : password }
def get(self, login):
try:
return self.users[login]
except Exception:
return None
def load_userdb_from_content(content):
userdb = UserDB()
for line in content.split('\n'):
login, password, admin = line.split(2)
userdb.add_user(login, password, admin)
......@@ -2,7 +2,7 @@ import config
def test_address_port_params():
config_content = "address = 10.0.0.1\nport = 123\n"
c = config.from_content(config_content)
c = config.load_config_from_content(config_content)
assert c['address'] == "10.0.0.1"
assert c['port'] == 123
......@@ -10,3 +10,16 @@ def test_default_address_port():
c = config.Config()
assert c['address'] == "0.0.0.0"
assert c['port'] == 12345
def test_user_database():
users = config.UserDB()
admin_user = users.get("admin")
assert admin_user is not None
assert admin_user["admin"] == True
assert admin_user["password"] == "admin"
users.add_user("toto", "tititoto", False)
toto_user = users.get("toto")
assert toto_user is not None
assert toto_user["admin"] == False
assert toto_user["password"] == "tititoto"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment