aboutsummaryrefslogtreecommitdiff
path: root/test/suite.erl
diff options
context:
space:
mode:
Diffstat (limited to 'test/suite.erl')
-rw-r--r--test/suite.erl52
1 files changed, 36 insertions, 16 deletions
diff --git a/test/suite.erl b/test/suite.erl
index fd5e175ea..8000e1d29 100644
--- a/test/suite.erl
+++ b/test/suite.erl
@@ -1,6 +1,6 @@
%%%-------------------------------------------------------------------
%%% @author Evgeniy Khramtsov <>
-%%% @copyright (C) 2013, Evgeniy Khramtsov
+%%% @copyright (C) 2013-2016, Evgeniy Khramtsov
%%% @doc
%%%
%%% @end
@@ -65,9 +65,21 @@ init_config(Config) ->
{resource, <<"resource">>},
{master_resource, <<"master_resource">>},
{slave_resource, <<"slave_resource">>},
- {password, <<"password">>}
+ {password, <<"password">>},
+ {backends, get_config_backends()}
|Config].
+%% Read environment variable CT_DB=riak,mysql to limit the backends to test.
+%% You can thus limit the backend you want to test with:
+%% CT_BACKENDS=riak,mysql rebar ct suites=ejabberd
+get_config_backends() ->
+ case os:getenv("CT_BACKENDS") of
+ false -> all;
+ String ->
+ Backends0 = string:tokens(String, ","),
+ lists:map(fun(Backend) -> string:strip(Backend, both, $ ) end, Backends0)
+ end.
+
process_config_tpl(Content, []) ->
Content;
process_config_tpl(Content, [{Name, DefaultValue} | Rest]) ->
@@ -94,8 +106,8 @@ init_stream(Config) ->
ok = send_text(Config, io_lib:format(?STREAM_HEADER,
[?config(server, Config)])),
{xmlstreamstart, <<"stream:stream">>, Attrs} = recv(),
- <<"jabber:client">> = xml:get_attr_s(<<"xmlns">>, Attrs),
- <<"1.0">> = xml:get_attr_s(<<"version">>, Attrs),
+ <<"jabber:client">> = fxml:get_attr_s(<<"xmlns">>, Attrs),
+ <<"1.0">> = fxml:get_attr_s(<<"version">>, Attrs),
#stream_features{sub_els = Fs} = recv(),
Mechs = lists:flatmap(
fun(#sasl_mechanisms{list = Ms}) ->
@@ -182,8 +194,8 @@ wait_auth_SASL_result(Config) ->
io_lib:format(?STREAM_HEADER,
[?config(server, Config)])),
{xmlstreamstart, <<"stream:stream">>, Attrs} = recv(),
- <<"jabber:client">> = xml:get_attr_s(<<"xmlns">>, Attrs),
- <<"1.0">> = xml:get_attr_s(<<"version">>, Attrs),
+ <<"jabber:client">> = fxml:get_attr_s(<<"xmlns">>, Attrs),
+ <<"1.0">> = fxml:get_attr_s(<<"version">>, Attrs),
#stream_features{sub_els = Fs} = recv(),
lists:foldl(
fun(#feature_sm{}, ConfigAcc) ->
@@ -255,7 +267,7 @@ send(State, Pkt) ->
end,
El = xmpp_codec:encode(NewPkt),
ct:pal("sent: ~p <-~n~s", [El, xmpp_codec:pp(NewPkt)]),
- ok = send_text(State, xml:element_to_binary(El)),
+ ok = send_text(State, fxml:element_to_binary(El)),
NewID.
send_recv(State, IQ) ->
@@ -271,7 +283,7 @@ sasl_new(<<"DIGEST-MD5">>, User, Server, Password) ->
case cyrsasl_digest:parse(ServerIn) of
bad -> {error, <<"Invalid SASL challenge">>};
KeyVals ->
- Nonce = xml:get_attr_s(<<"nonce">>, KeyVals),
+ Nonce = fxml:get_attr_s(<<"nonce">>, KeyVals),
CNonce = id(),
Realm = proplists:get_value(<<"realm">>, KeyVals, Server),
DigestURI = <<"xmpp/", Realm/binary>>,
@@ -331,28 +343,36 @@ response(User, Passwd, Nonce, AuthzId, Realm, CNonce,
hex((erlang:md5(T))).
my_jid(Config) ->
- jlib:make_jid(?config(user, Config),
- ?config(server, Config),
- ?config(resource, Config)).
+ jid:make(?config(user, Config),
+ ?config(server, Config),
+ ?config(resource, Config)).
server_jid(Config) ->
- jlib:make_jid(<<>>, ?config(server, Config), <<>>).
+ jid:make(<<>>, ?config(server, Config), <<>>).
pubsub_jid(Config) ->
Server = ?config(server, Config),
- jlib:make_jid(<<>>, <<"pubsub.", Server/binary>>, <<>>).
+ jid:make(<<>>, <<"pubsub.", Server/binary>>, <<>>).
proxy_jid(Config) ->
Server = ?config(server, Config),
- jlib:make_jid(<<>>, <<"proxy.", Server/binary>>, <<>>).
+ jid:make(<<>>, <<"proxy.", Server/binary>>, <<>>).
muc_jid(Config) ->
Server = ?config(server, Config),
- jlib:make_jid(<<>>, <<"conference.", Server/binary>>, <<>>).
+ jid:make(<<>>, <<"conference.", Server/binary>>, <<>>).
muc_room_jid(Config) ->
Server = ?config(server, Config),
- jlib:make_jid(<<"test">>, <<"conference.", Server/binary>>, <<>>).
+ jid:make(<<"test">>, <<"conference.", Server/binary>>, <<>>).
+
+mix_jid(Config) ->
+ Server = ?config(server, Config),
+ jid:make(<<>>, <<"mix.", Server/binary>>, <<>>).
+
+mix_room_jid(Config) ->
+ Server = ?config(server, Config),
+ jid:make(<<"test">>, <<"mix.", Server/binary>>, <<>>).
id() ->
id(undefined).