]> gitweb.factorcode.org Git - factor.git/blob - basis/furnace/auth/providers/db/db-tests.factor
18a9a350d28a648167505a773bdbf98e80768059
[factor.git] / basis / furnace / auth / providers / db / db-tests.factor
1 USING: furnace.actions\r
2 furnace.auth\r
3 furnace.auth.login\r
4 furnace.auth.providers\r
5 furnace.auth.providers.db tools.test\r
6 namespaces db db.sqlite db.tuples continuations\r
7 io.files io.files.temp io.directories accessors kernel\r
8 sequences system ;\r
9 IN: furnace.auth.providers.db.tests\r
10 \r
11 <action> "test" <login-realm> realm set\r
12 \r
13 : auth-test-db-name ( -- string )\r
14     cpu name>> "auth-test." ".db" surround ;\r
15 \r
16 [ auth-test-db-name temp-file delete-file ] ignore-errors\r
17 \r
18 auth-test-db-name temp-file <sqlite-db> [\r
19 \r
20     user ensure-table\r
21 \r
22     [ t ] [\r
23         "slava" <user>\r
24             "foobar" >>encoded-password\r
25             "slava@factorcode.org" >>email\r
26             H{ } clone >>profile\r
27             users new-user\r
28             username>> "slava" =\r
29     ] unit-test\r
30 \r
31     [ f ] [\r
32         "slava" <user>\r
33             H{ } clone >>profile\r
34         users new-user\r
35     ] unit-test\r
36 \r
37     [ f ] [ "fdasf" "slava" check-login >boolean ] unit-test\r
38 \r
39     [ ] [ "foobar" "slava" check-login "user" set ] unit-test\r
40 \r
41     [ t ] [ "user" get >boolean ] unit-test\r
42 \r
43     [ ] [ "user" get "fdasf" >>encoded-password drop ] unit-test\r
44 \r
45     [ ] [ "user" get users update-user ] unit-test\r
46 \r
47     [ t ] [ "fdasf" "slava" check-login >boolean ] unit-test\r
48 \r
49     [ f ] [ "foobar" "slava" check-login >boolean ] unit-test\r
50 ] with-db\r