• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

esl / MongooseIM / 5076995463

25 May 2023 07:04AM UTC coverage: 15.93% (-66.0%) from 81.94%
5076995463

push

github

GitHub
Merge pull request #4027 from esl/docker-script

5388 of 33824 relevant lines covered (15.93%)

1117.97 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/graphql/admin/mongoose_graphql_server_admin_mutation.erl
1
-module(mongoose_graphql_server_admin_mutation).
2
-behaviour(mongoose_graphql).
3

4
-export([execute/4]).
5
-export([await_execution/4]).
6

7
-import(mongoose_graphql_helper, [make_error/2]).
8
-ignore_xref([execute/4]).
9

10
-include("../mongoose_graphql_types.hrl").
11

12
execute(#{method := cli}, server, <<"joinCluster">>, #{<<"node">> := Node}) ->
13
    case mongoose_server_api:join_cluster(binary_to_list(Node)) of
×
14
        {ok, _} = Result ->
15
            Result;
×
16
        Error ->
17
            make_error(Error, #{node => Node})
×
18
    end;
19
execute(#{method := http}, server, <<"joinCluster">>, #{<<"node">> := Node}) ->
20
    spawn(?MODULE, await_execution,
×
21
          [1000, mongoose_server_api, join_cluster, [binary_to_list(Node)]]),
22
    {ok, "JoinCluster scheduled"};
×
23

24
execute(#{method := cli}, server, <<"removeFromCluster">>, #{<<"node">> := Node}) ->
25
    case mongoose_server_api:remove_from_cluster(binary_to_list(Node)) of
×
26
        {ok, _} = Result ->
27
            Result;
×
28
        Error ->
29
            make_error(Error, #{node => Node})
×
30
    end;
31
execute(#{method := http}, server, <<"removeFromCluster">>, #{<<"node">> := Node}) ->
32
    spawn(?MODULE, await_execution,
×
33
          [1000, mongoose_server_api, remove_from_cluster, [binary_to_list(Node)]]),
34
    {ok, "RemoveFromCluster scheduled"};
×
35

36
execute(#{method := cli}, server, <<"leaveCluster">>, #{}) ->
37
    case mongoose_server_api:leave_cluster() of
×
38
        {ok, _} = Result ->
39
            Result;
×
40
        Error ->
41
            make_error(Error, #{})
×
42
    end;
43
execute(#{method := http}, server, <<"leaveCluster">>, #{}) ->
44
    spawn(?MODULE, await_execution, [1000, mongoose_server_api, leave_cluster, []]),
×
45
    {ok, "LeaveCluster scheduled"};
×
46
execute(_Ctx, server, <<"removeNode">>, #{<<"node">> := Node}) ->
47
    mongoose_server_api:remove_node(binary_to_list(Node));
×
48
execute(_Ctx, server, <<"setLoglevel">>, #{<<"level">> := LogLevel}) ->
49
    case mongoose_server_api:set_loglevel(LogLevel) of
×
50
        {ok, _} = Result ->
51
            Result;
×
52
        Error ->
53
            make_error(Error, #{level => LogLevel})
×
54
    end;
55
execute(_Ctx, server, <<"stop">>, #{}) ->
56
    spawn(mongoose_server_api, stop, []),
×
57
    {ok, "Stop scheduled"};
×
58
execute(_Ctx, server, <<"restart">>, #{}) ->
59
    spawn(mongoose_server_api, restart, []),
×
60
    {ok, "Restart scheduled"}.
×
61

62
%% Helpers
63

64
await_execution(Timeout, Module, Fun, Args) ->
65
    timer:sleep(Timeout),
×
66
    apply(Module, Fun, Args).
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc