summaryrefslogtreecommitdiff
path: root/test/ejabberd_SUITE.erl
diff options
context:
space:
mode:
authorChaosKid42 <christoph.scholz@gmail.com>2020-04-28 16:22:42 +0200
committerGitHub <noreply@github.com>2020-04-28 16:22:42 +0200
commitabc3260e750348d01996598309b6701469f58863 (patch)
tree9f49191545f325a171ff069eb0a3b43fc31dfa3f /test/ejabberd_SUITE.erl
parentMerge pull request #3235 from weiss/xep-0215 (diff)
enable tests with mssql-backend (#3136)
Diffstat (limited to 'test/ejabberd_SUITE.erl')
-rw-r--r--test/ejabberd_SUITE.erl37
1 files changed, 34 insertions, 3 deletions
diff --git a/test/ejabberd_SUITE.erl b/test/ejabberd_SUITE.erl
index e471823a..5942b002 100644
--- a/test/ejabberd_SUITE.erl
+++ b/test/ejabberd_SUITE.erl
@@ -77,11 +77,21 @@ init_per_group(Group, Config) ->
do_init_per_group(Group, Config);
Backends ->
%% Skipped backends that were not explicitely enabled
- case lists:member(Group, Backends) of
- true ->
+ case Group of
+ mssql ->
+ case lists:member(odbc, Backends) of
+ true ->
do_init_per_group(Group, Config);
- false ->
+ false ->
{skip, {disabled_backend, Group}}
+ end;
+ _ ->
+ case lists:member(Group, Backends) of
+ true ->
+ do_init_per_group(Group, Config);
+ false ->
+ {skip, {disabled_backend, Group}}
+ end
end
end
end.
@@ -104,6 +114,15 @@ do_init_per_group(mysql, Config) ->
Err ->
{skip, {mysql_not_available, Err}}
end;
+do_init_per_group(mssql, Config) ->
+ case catch ejabberd_sql:sql_query(?MSSQL_VHOST, [<<"select 1;">>]) of
+ {selected, _, _} ->
+ mod_muc:shutdown_rooms(?MSSQL_VHOST),
+ clear_sql_tables(mssql, ?config(base_dir, Config)),
+ set_opt(server, ?MSSQL_VHOST, Config);
+ Err ->
+ {skip, {mssql_not_available, Err}}
+ end;
do_init_per_group(pgsql, Config) ->
case catch ejabberd_sql:sql_query(?PGSQL_VHOST, [<<"select 1;">>]) of
{selected, _, _} ->
@@ -158,6 +177,8 @@ end_per_group(redis, _Config) ->
ok;
end_per_group(mysql, _Config) ->
ok;
+end_per_group(mssql, _Config) ->
+ ok;
end_per_group(pgsql, _Config) ->
ok;
end_per_group(sqlite, _Config) ->
@@ -486,6 +507,7 @@ groups() ->
{mnesia, [sequence], db_tests(mnesia)},
{redis, [sequence], db_tests(redis)},
{mysql, [sequence], db_tests(mysql)},
+ {mssql, [sequence], db_tests(mssql)},
{pgsql, [sequence], db_tests(pgsql)},
{sqlite, [sequence], db_tests(sqlite)}].
@@ -495,6 +517,7 @@ all() ->
{group, mnesia},
{group, redis},
{group, mysql},
+ {group, mssql},
{group, pgsql},
{group, sqlite},
{group, extauth},
@@ -1013,6 +1036,14 @@ clear_sql_tables(Type, BaseDir) ->
"mysql.sql"
end,
{?MYSQL_VHOST, Path};
+ mssql ->
+ Path = case ejabberd_sql:use_new_schema() of
+ true ->
+ "mssql.new.sql";
+ false ->
+ "mssql.sql"
+ end,
+ {?MSSQL_VHOST, Path};
pgsql ->
Path = case ejabberd_sql:use_new_schema() of
true ->