Skip to content

Instantly share code, notes, and snippets.

@kainoj
Last active June 6, 2018 11:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kainoj/26c3184724e48a8da20fe0df82cad34d to your computer and use it in GitHub Desktop.
Save kainoj/26c3184724e48a8da20fe0df82cad34d to your computer and use it in GitHub Desktop.
DB project tests

Init data (binary tree)

{ "open": { "database": "student", "login": "init", "password": "qwerty"}}
{ "root": { "secret": "qwerty", "newpassword": "asd", "data": "IAMBOSS", "emp":0} }
{ "new": { "admin": 0, "passwd": "asd", "data":"lvl1", "newpasswd":"asd", "emp1":0, "emp":1 } }
{ "new": { "admin": 0, "passwd": "asd", "data":"lvl1", "newpasswd":"asd", "emp1":0, "emp":2 } }
{ "new": { "admin": 0, "passwd": "asd", "data":"lvl2", "newpasswd":"asd", "emp1":1, "emp":3 } }
{ "new": { "admin": 0, "passwd": "asd", "data":"lvl2", "newpasswd":"asd", "emp1":1, "emp":4 } }
{ "new": { "admin": 0, "passwd": "asd", "data":"lvl2", "newpasswd":"asd", "emp1":2, "emp":5 } }
{ "new": { "admin": 0, "passwd": "asd", "data":"lvl2", "newpasswd":"asd", "emp1":2, "emp":6 } }
{ "new": { "admin": 0, "passwd": "asd", "data":"lvl3", "newpasswd":"asd", "emp1":3, "emp":7 } }
{ "new": { "admin": 0, "passwd": "asd",                "newpasswd":"asd", "emp1":3, "emp":8 } }
{ "new": { "admin": 0, "passwd": "asd", "data":"no passwd", "emp1":3, "emp":8 } }
{ "new": { "admin": 0, "passwd": "asd", "data":"I have no parents", "newpasswd": "asd", "emp1":-1, "emp": -10}}

result: 8x {"status": "OK"}, 2x `{"status": "ERROR"} Tree structure:

        0
     /     \
    1       2       --- lvl1
   / \     / \      
  3  4    5   6     --- lvl2
 /\
7  8                --- lvl3

2nd run:

{"open": {"database": "student", "login": "app", "password": "qwerty"}}
{"child": {"admin": 7, "passwd":"asd", "emp":0}}
{"parent": {"admin": 8, "passwd":"asd", "emp":6}}
{"ancestors": {"admin": 5, "passwd":"asd", "emp": 8}}
{"ancestor": {"admin": 5, "passwd": "asd", "emp1":7, "emp2": 1}}
{"ancestor": {"admin": 5, "passwd": "asd", "emp1":1, "emp2": 7}}
{"update": {"admin": 3, "passwd": "asd", "emp":8, "newdata":"lvl3update"}}
{"read": {"admin": 1, "passwd": "asd", "emp":8}}
{"new": {"admin": 2, "newpasswd":"asd", "data":"lvl3new", "passwd":"asd", "emp1":6, "emp":9}}
{"child": {"admin": 6, "passwd": "asd", "emp":6}}
{"remove": {"admin":0, "passwd":"asd", "emp": 2}}
{"child": {"admin": 7, "passwd":"asd", "emp":0}}
{"descendants": {"admin": 8, "passwd":"asd", "emp":0}}

expected result:

{"status": "OK"}
{"status": "OK", "data": [1, 2]}
{"status": "OK", "data": 2}
{"status": "OK", "data": [0, 1, 3]}
{"status": "OK", "data": true}
{"status": "OK", "data": false}
{"status": "OK"}
{"status": "OK", "data": "lvl3update"}
{"status": "OK"}
{"status": "OK", "data": [9]}
{"status": "OK"}
{"status": "OK", "data": [1]}
{"status": "OK", "data": [1, 3, 4, 7, 8]}

2nd run - errors only

{"open": {"database": "student", "login": "app", "password": "qwerty"}}
{"remove": {"admin":1, "passwd":"asd", "emp": 0}}
{"remove": {"admin":0, "passwd":"asd", "emp": -666}}
{"child": {"admin":0, "passwd":"asd", "emp":-666}}
{"parent": {"admin":0, "passwd":"asd", "emp":-666}}
{"ancestors": {"admin": 0, "passwd":"asd", "emp": -666}}
{"descendants": {"admin": 0, "passwd":"asd", "emp":-666}}
{"ancestor": {"admin":0, "passwd":"asd", "emp1": 0, "emp2": -666}}
{"ancestor": {"admin":0, "passwd":"asd", "emp1": -666, "emp2": 0}}
{"read": {"admin":0, "passwd":"asd", "emp":-666}}
{"update": {"admin":0, "passwd":"asd", "emp":-777, "newdata":"ups"}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment