forked from benoitc/couchbeam
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path003-database.t
69 lines (63 loc) · 2.36 KB
/
003-database.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/usr/bin/env escript
%% -*- erlang -*-
%%! -pa ./ebin -pa ./t
%%
%% This file is part of couchbeam released under the MIT license.
%% See the NOTICE for more information.
main(_) ->
etap:plan(11),
start_app(),
case (catch test()) of
ok ->
stop_test(),
etap:end_tests();
Other ->
stop_test(),
etap:diag(io_lib:format("Test died abnormally: ~p", [Other])),
etap:bail()
end,
ok.
start_app() ->
couchbeam:start(),
Server = couchbeam:server_connection(),
catch couchbeam:delete_db(Server, "couchbeam_testdb"),
catch couchbeam:delete_db(Server, "couchbeam_testdb2"),
catch couchbeam:delete_db(Server, "couchbeam_testdb3"),
ok.
stop_test() ->
Server = couchbeam:server_connection(),
catch couchbeam:delete_db(Server, "couchbeam_testdb"),
catch couchbeam:delete_db(Server, "couchbeam_testdb2"),
catch couchbeam:delete_db(Server, "couchbeam_testdb3"),
ok.
test() ->
Server = couchbeam:server_connection(),
etap:is(case couchbeam:create_db(Server, "couchbeam_testdb") of
{ok, _} ->true;
_ -> false
end, true, "db created"),
Res0 = couchbeam:create_db(Server, "couchbeam_testdb"),
etap:is(Res0, {error, db_exists}, "database already loaded ok"),
etap:is(case couchbeam:create_db(Server, "couchbeam_testdb2") of
{ok, _} -> true;
_ -> false
end, true, "db2 created ok"),
{ok, AllDbs} = couchbeam:all_dbs(Server),
etap:ok(is_list(AllDbs), "all_dbs return a list"),
etap:ok(lists:member(<<"couchbeam_testdb">>, AllDbs), "couchbeam_testdb exists ok "),
etap:ok(couchbeam:db_exists(Server, "couchbeam_testdb"), "is_db exists ok "),
etap:ok(lists:member(<<"couchbeam_testdb2">>, AllDbs), "couchbeam_testdb2 exists ok"),
etap:is(case couchbeam:delete_db(Server, "couchbeam_testdb2") of
{ok, _} -> true;
_ -> false
end, true, "delete couchbeam_testdb2 ok"),
{ok, AllDbs1} = couchbeam:all_dbs(Server),
etap:not_ok(lists:member(<<"couchbeam_testdb2">>, AllDbs1),
"couchbeam_testdb2 don't exists ok"),
etap:not_ok(couchbeam:db_exists(Server, "couchbeam_testdb2"),
"is_db2not exists ok "),
etap:is(case couchbeam:open_or_create_db(Server, "couchbeam_testdb2") of
{ok, _} -> true;
_ -> false
end, true, "db2 created ok"),
ok.