]> granicus.if.org Git - ejabberd/commitdiff
Clear Riak data when initializing the testing suite
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>
Wed, 9 Jul 2014 14:44:48 +0000 (18:44 +0400)
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>
Thu, 10 Jul 2014 09:54:17 +0000 (13:54 +0400)
test/ejabberd_SUITE.erl

index d145d5897785aee75336e949e2b7f9da84871057..9efb0cfa4f0b1502dcdaef4455d5a56ce2e4bf1a 100644 (file)
@@ -69,7 +69,8 @@ init_per_group(ldap, Config) ->
 init_per_group(extauth, Config) ->
     set_opt(server, ?EXTAUTH_VHOST, Config);
 init_per_group(riak, Config) ->
-    set_opt(server, ?RIAK_VHOST, Config);
+    NewConfig = set_opt(server, ?RIAK_VHOST, Config),
+    clear_riak_tables(NewConfig);
 init_per_group(_GroupName, Config) ->
     Pid = start_event_relay(),
     set_opt(event_relay, Pid, Config).
@@ -1076,3 +1077,33 @@ split(Data) ->
          (_) ->
               true
       end, re:split(Data, <<"\s">>)).
+
+clear_riak_tables(Config) ->
+    User = ?config(user, Config),
+    Server = ?config(server, Config),
+    Slave = jlib:make_jid(<<"test_slave">>, Server, <<>>),
+    Master = jlib:make_jid(<<"test_master">>, Server, <<>>),
+    Room = muc_room_jid(Config),
+    {U, S, _} = jlib:jid_tolower(jlib:make_jid(User, Server, <<>>)),
+    {USlave, SSlave, _} = LSlave = jlib:jid_tolower(Slave),
+    {UMaster, SMaster, _} = LMaster = jlib:jid_tolower(Master),
+    {URoom, SRoom, _} = jlib:jid_tolower(jlib:jid_remove_resource(Room)),
+    US = {U, S},
+    USSlave = {USlave, SSlave},
+    USMaster = {UMaster, SMaster},
+    USRoom = {URoom, SRoom},
+    ok = ejabberd_riak:delete(roster, {USlave, SSlave, LMaster}),
+    ok = ejabberd_riak:delete(roster, {UMaster, SMaster, LSlave}),
+    ok = ejabberd_riak:delete(passwd, US),
+    ok = ejabberd_riak:delete(passwd, USSlave),
+    ok = ejabberd_riak:delete(passwd, USMaster),
+    ok = ejabberd_riak:delete(roster_version, USSlave),
+    ok = ejabberd_riak:delete(roster_version, USMaster),
+    ok = ejabberd_riak:delete(last_activity, US),
+    ok = ejabberd_riak:delete(last_activity, USSlave),
+    ok = ejabberd_riak:delete(last_activity, USMaster),
+    ok = ejabberd_riak:delete(vcard, US),
+    ok = ejabberd_riak:delete(privacy, US),
+    ok = ejabberd_riak:delete(private_storage, {U, S, <<"storage:bookmarks">>}),
+    ok = ejabberd_riak:delete(muc_room, USRoom),
+    Config.