1 module konnexengine.db.devdb; 2 3 import std.uuid: UUID, sha1UUID; 4 5 /// DBEntry `struct` 6 struct DBEntry { 7 UUID id; 8 string email; 9 string username; 10 string password; 11 } 12 /// 13 unittest { 14 DBEntry entry = DBEntry( 15 sha1UUID("user1@email.com", sha1UUID("konnex-engine.com")), 16 "user1@email.com", 17 "user1", 18 "password1"); 19 assert(is(typeof(entry) == DBEntry)); 20 assert(is(typeof(entry.id) == UUID)); 21 assert(is(typeof(entry.email) == string)); 22 assert(is(typeof(entry.username) == string)); 23 assert(is(typeof(entry.password) == string)); 24 assert(entry.id == sha1UUID("user1@email.com", sha1UUID("konnex-engine.com"))); 25 assert(entry.email == "user1@email.com"); 26 assert(entry.username == "user1"); 27 assert(entry.password == "password1"); 28 } 29 30 /// DevDB `struct` 31 struct DevDB 32 { 33 /// generateDevDB() `function` 34 DBEntry[] generateUsers() 35 { 36 import std.conv: to; 37 38 DBEntry[] devDB = []; 39 40 for(uint i=0; i<10; i++) 41 { 42 devDB ~= DBEntry 43 ( 44 sha1UUID("user"~i.to!string~"@email.com", sha1UUID("konnex-engine.com")), 45 "user"~i.to!string~"@email.com", 46 "user"~i.to!string, 47 "password"~i.to!string 48 ); 49 } 50 return devDB; 51 } 52 /// 53 unittest { 54 auto devDB = DevDB(); 55 auto db = devDB.generateUsers(); 56 assert(is(typeof(db) == DBEntry[])); 57 assert(is(typeof(db[0].id) == UUID)); 58 assert(is(typeof(db[0].email) == string)); 59 assert(is(typeof(db[0].username) == string)); 60 assert(is(typeof(db[0].password) == string)); 61 assert(db[0].id == sha1UUID("user0@email.com", sha1UUID("konnex-engine.com"))); 62 assert(db[0].email == "user0@email.com"); 63 assert(db[0].username == "user0"); 64 assert(db[0].password == "password0"); 65 } 66 67 /// flushToDisk() `function` 68 void flushToDisk(){ 69 import std.file: write; 70 71 72 } 73 /// 74 unittest { 75 // TODO: implement test 76 auto dbutils = DevDB(); 77 auto devDB = dbutils.generateUsers(); 78 assert(is(typeof(devDB) == DBEntry[])); 79 } 80 } 81