=== Test case: graphql_SUITE:listener_reply_with_validation_error/1 (click for source code)
=== Config value:
[{protocol,http},
{schema_endpoint,admin},
{listener_opts,#{module => mongoose_graphql_handler,
path => "/api/graphql",host => "localhost",
username => <<"admin">>,password => <<"secret">>,
schema_endpoint => admin,sse_idle_timeout => 3600000}},
{admin_listener_config,#{module => ejabberd_cowboy,port => 5551,
protocol => #{compress => false},
handlers =>
[#{module => mongoose_graphql_handler,
path => "/api/graphql",
host => "localhost",
username => <<"admin">>,
password => <<"secret">>,
schema_endpoint => admin,
sse_idle_timeout => 3600000}],
transport =>
#{num_acceptors => 10,
max_connections => 1024},
ip_address => "127.0.0.1",
ip_tuple => {127,0,0,1},
ip_version => 4,proto => tcp,
connection_type => undefined}},
{watchdog,<0.15207.0>},
{preset,"odbc_mssql_mnesia"},
{mim_data_dir,"/home/circleci/project/big_tests/tests/graphql_SUITE_data"},
{tc_logfile,"/home/circleci/project/big_tests/ct_report/ct_run.test@a0c40f52f50c.2024-03-21_07.45.55/big_tests.tests.graphql_SUITE.logs/run.2024-03-21_07.48.26/graphql_suite.listener_reply_with_validation_error.36226.html"},
{tc_group_properties,[{name,categories_disabled},parallel]},
{tc_group_path,[]},
{data_dir,"/home/circleci/project/big_tests/_build/default/lib/mongoose_tests/ebin/graphql_SUITE_data/"},
{priv_dir,"/home/circleci/project/big_tests/ct_report/ct_run.test@a0c40f52f50c.2024-03-21_07.45.55/big_tests.tests.graphql_SUITE.logs/run.2024-03-21_07.48.26/log_private/"},
{{saved_modules,mongooseim@localhost,<<"test type">>},
#{mod_vcard =>
#{matches => 30,
host => {prefix,<<"vjud.">>},
search => true,backend => rdbms,iqdisc => parallel},
mod_roster =>
#{backend => rdbms,iqdisc => one_queue,versioning => false,
store_current_id => false},
mod_amp => #{},
mod_sic => #{iqdisc => one_queue},
mod_register =>
#{access => register,iqdisc => one_queue,
registration_watchers => [],password_strength => 0,
ip_access => [{allow,"127.0.0.0/8"},{deny,"0.0.0.0/0"}]},
mod_disco =>
#{iqdisc => one_queue,server_info => [],extra_domains => [],
users_can_see_hidden_services => false},
mod_presence => #{},
mod_stream_management =>
#{buffer => true,ack => true,buffer_max => 100,ack_freq => 1,
stale_h =>
#{enabled => false,repeat_after => 1800,geriatric => 3600},
resume_timeout => 600,backend => mnesia},
mod_adhoc => #{iqdisc => one_queue,report_commands_node => false},
mod_cache_users =>
#{strategy => fifo,number_of_segments => 5,time_to_live => 2},
mod_bosh =>
#{backend => mnesia,inactivity => 30,max_pause => 120,
max_wait => infinity,server_acks => false},
mod_carboncopy => #{iqdisc => no_queue}}}]
=== Current directory is "/home/circleci/project/big_tests/ct_report/ct_run.test@a0c40f52f50c.2024-03-21_07.45.55"
=== Started at 2024-03-21 07:48:27
*** User 2024-03-21 07:48:27.422 ***🔗
REST request fails:
Code: 400
Req: {<0.15255.0>,<<"/api/graphql">>,<<"POST">>,
[{<<"Content-Type">>,<<"application/json">>},
{<<"Request-Id">>,<<"34ae3e1ba09921ac">>}],
<<"{\"query\":\"query Q1 { field } query Q1 { field }\",\"operationName\":\"Q1\"}">>}
Result: {{<<"400">>,<<"Bad Request">>},
[{<<"vary">>,<<"accept">>},
{<<"server">>,<<"Cowboy">>},
{<<"date">>,<<"Thu, 21 Mar 2024 07:48:26 GMT">>},
{<<"content-type">>,<<"application/json">>},
{<<"content-length">>,<<"133">>}],
<<"{\"errors\":[{\"extensions\":{\"code\":\"unknown_field\"},\"path\":[\"Q1\",\"field\"],\"message\":\"The query refers to a field which is not known\"}]}">>,
281,994}
Params: #{port => 5551,path => <<"/api/graphql">>,
server => #{node => mongooseim@localhost},
method => <<"POST">>,
role => {graphql,admin},
creds => undefined,
body =>
<<"{\"query\":\"query Q1 { field } query Q1 { field }\",\"operationName\":\"Q1\"}">>,
return_maps => true,return_headers => true}
=== Ended at 2024-03-21 07:48:27
=== successfully completed test case
=== === Returned value: {{<<"400">>,<<"Bad Request">>},
#{<<"errors">> =>
[#{<<"extensions">> =>
#{<<"code">> => <<"unknown_field">>},
<<"message">> =>
<<"The query refers to a field which is not known">>,
<<"path">> => [<<"Q1">>,<<"field">>]}]}}