From 0d67eab62642bcab571cdfffe4358281f6464b10 Mon Sep 17 00:00:00 2001 From: Joey Yakimowich-Payne Date: Mon, 16 Jul 2018 19:06:00 +0900 Subject: [PATCH] Create test and dev users for testing --- src/setup_nimforum.nim | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/src/setup_nimforum.nim b/src/setup_nimforum.nim index a015f2d..9c93080 100644 --- a/src/setup_nimforum.nim +++ b/src/setup_nimforum.nim @@ -22,10 +22,26 @@ proc backup(path: string, contents: Option[string]=none[string]()) = echo(path, " already exists. Moving to ", backupPath) moveFile(path, backupPath) +proc createUser(db: DbConn, user: tuple[username, password, email: string], + rank: Rank) = + + if user.username.len != 0: + let salt = makeSalt() + let password = makePassword(user.password, salt) + + exec(db, sql""" + INSERT INTO person(name, password, email, salt, status, lastOnline) + VALUES (?, ?, ?, ?, ?, DATETIME('now')) + """, user.username, password, user.email, salt, $rank) + proc initialiseDb(admin: tuple[username, password, email: string], filename="nimforum.db") = - let path = getCurrentDir() / filename - if "-dev" notin filename and "-test" notin filename: + let + path = getCurrentDir() / filename + isTest = "-test" in filename + isDev = "-dev" in filename + + if not isDev and not isTest: backup(path) removeFile(path) @@ -98,13 +114,16 @@ proc initialiseDb(admin: tuple[username, password, email: string], db.exec sql"create index PersonStatusIdx on person(status);" # Create default user. - if admin.username.len != 0: - let salt = makeSalt() - let password = makePassword(admin.password, salt) - db.exec(sql""" - insert into person (id, name, password, email, salt, status) - values (1, ?, ?, ?, ?, ?); - """, admin.username, password, admin.email, salt, $Admin) + db.createUser(admin, Admin) + + # Create test users if test or development + if isTest or isDev: + for rank in Spammer..Moderator: + let rankLower = toLowerAscii($rank) + let user = (username: $rankLower, + password: $rankLower, + email: $rankLower & "@localhost.local") + db.createUser(user, rank) # -- Post