chore: Don't display primary example, we should show default if no example.
This commit is contained in:
parent
21fe7f01ee
commit
df3addb217
|
@ -133,7 +133,7 @@ current_rate(Node) when Node == node() ->
|
||||||
try
|
try
|
||||||
{ok, Rate} = do_call(current_rate),
|
{ok, Rate} = do_call(current_rate),
|
||||||
{ok, Rate}
|
{ok, Rate}
|
||||||
catch _E:R:_S ->
|
catch _E:R ->
|
||||||
?SLOG(warning, #{msg => "Dashboard monitor error", reason => R}),
|
?SLOG(warning, #{msg => "Dashboard monitor error", reason => R}),
|
||||||
%% Rate map 0, ensure api will not crash.
|
%% Rate map 0, ensure api will not crash.
|
||||||
%% When joining cluster, dashboard monitor restart.
|
%% When joining cluster, dashboard monitor restart.
|
||||||
|
|
|
@ -572,25 +572,25 @@ hocon_schema_to_spec(Atom, _LocalModule) when is_atom(Atom) ->
|
||||||
typename_to_spec("user_id_type()", _Mod) ->
|
typename_to_spec("user_id_type()", _Mod) ->
|
||||||
#{type => string, enum => [clientid, username]};
|
#{type => string, enum => [clientid, username]};
|
||||||
typename_to_spec("term()", _Mod) ->
|
typename_to_spec("term()", _Mod) ->
|
||||||
#{type => string, example => "any"};
|
#{type => string};
|
||||||
typename_to_spec("boolean()", _Mod) ->
|
typename_to_spec("boolean()", _Mod) ->
|
||||||
#{type => boolean, example => true};
|
#{type => boolean};
|
||||||
typename_to_spec("binary()", _Mod) ->
|
typename_to_spec("binary()", _Mod) ->
|
||||||
#{type => string, example => <<"binary-example">>};
|
#{type => string};
|
||||||
typename_to_spec("float()", _Mod) ->
|
typename_to_spec("float()", _Mod) ->
|
||||||
#{type => number, example => 3.14159};
|
#{type => number};
|
||||||
typename_to_spec("integer()", _Mod) ->
|
typename_to_spec("integer()", _Mod) ->
|
||||||
#{type => integer, example => 100};
|
#{type => integer};
|
||||||
typename_to_spec("non_neg_integer()", _Mod) ->
|
typename_to_spec("non_neg_integer()", _Mod) ->
|
||||||
#{type => integer, minimum => 0, example => 100};
|
#{type => integer, minimum => 0};
|
||||||
typename_to_spec("pos_integer()", _Mod) ->
|
typename_to_spec("pos_integer()", _Mod) ->
|
||||||
#{type => integer, minimum => 1, example => 100};
|
#{type => integer, minimum => 1};
|
||||||
typename_to_spec("number()", _Mod) ->
|
typename_to_spec("number()", _Mod) ->
|
||||||
#{type => number, example => 42};
|
#{type => number};
|
||||||
typename_to_spec("string()", _Mod) ->
|
typename_to_spec("string()", _Mod) ->
|
||||||
#{type => string, example => <<"string-example">>};
|
#{type => string};
|
||||||
typename_to_spec("atom()", _Mod) ->
|
typename_to_spec("atom()", _Mod) ->
|
||||||
#{type => string, example => atom};
|
#{type => string};
|
||||||
typename_to_spec("epoch_second()", _Mod) ->
|
typename_to_spec("epoch_second()", _Mod) ->
|
||||||
#{
|
#{
|
||||||
<<"oneOf">> => [
|
<<"oneOf">> => [
|
||||||
|
@ -627,7 +627,7 @@ typename_to_spec("timeout()", _Mod) ->
|
||||||
#{
|
#{
|
||||||
<<"oneOf">> => [
|
<<"oneOf">> => [
|
||||||
#{type => string, example => infinity},
|
#{type => string, example => infinity},
|
||||||
#{type => integer, example => 100}
|
#{type => integer}
|
||||||
],
|
],
|
||||||
example => infinity
|
example => infinity
|
||||||
};
|
};
|
||||||
|
@ -640,7 +640,7 @@ typename_to_spec("map()", _Mod) ->
|
||||||
typename_to_spec("#{" ++ _, Mod) ->
|
typename_to_spec("#{" ++ _, Mod) ->
|
||||||
typename_to_spec("map()", Mod);
|
typename_to_spec("map()", Mod);
|
||||||
typename_to_spec("qos()", _Mod) ->
|
typename_to_spec("qos()", _Mod) ->
|
||||||
#{type => string, enum => [0, 1, 2], example => 0};
|
#{type => string, enum => [0, 1, 2]};
|
||||||
typename_to_spec("{binary(), binary()}", _Mod) ->
|
typename_to_spec("{binary(), binary()}", _Mod) ->
|
||||||
#{type => object, example => #{}};
|
#{type => object, example => #{}};
|
||||||
typename_to_spec("comma_separated_list()", _Mod) ->
|
typename_to_spec("comma_separated_list()", _Mod) ->
|
||||||
|
@ -648,7 +648,7 @@ typename_to_spec("comma_separated_list()", _Mod) ->
|
||||||
typename_to_spec("comma_separated_atoms()", _Mod) ->
|
typename_to_spec("comma_separated_atoms()", _Mod) ->
|
||||||
#{type => string, example => <<"item1,item2">>};
|
#{type => string, example => <<"item1,item2">>};
|
||||||
typename_to_spec("pool_type()", _Mod) ->
|
typename_to_spec("pool_type()", _Mod) ->
|
||||||
#{type => string, enum => [random, hash], example => hash};
|
#{type => string, enum => [random, hash]};
|
||||||
typename_to_spec("log_level()", _Mod) ->
|
typename_to_spec("log_level()", _Mod) ->
|
||||||
#{
|
#{
|
||||||
type => string,
|
type => string,
|
||||||
|
@ -716,7 +716,7 @@ typerefl_array(Spec, _Name, _Mod) ->
|
||||||
%% integer(1)
|
%% integer(1)
|
||||||
integer(nomatch, Name) ->
|
integer(nomatch, Name) ->
|
||||||
case string:to_integer(Name) of
|
case string:to_integer(Name) of
|
||||||
{Int, []} -> #{type => integer, enum => [Int], example => Int, default => Int};
|
{Int, []} -> #{type => integer, enum => [Int], default => Int};
|
||||||
_ -> nomatch
|
_ -> nomatch
|
||||||
end;
|
end;
|
||||||
integer(Spec, _Name) ->
|
integer(Spec, _Name) ->
|
||||||
|
@ -725,7 +725,7 @@ integer(Spec, _Name) ->
|
||||||
add_integer_prop(Schema, Key, Value) ->
|
add_integer_prop(Schema, Key, Value) ->
|
||||||
case string:to_integer(Value) of
|
case string:to_integer(Value) of
|
||||||
{error, no_integer} -> Schema;
|
{error, no_integer} -> Schema;
|
||||||
{Int, []} when Key =:= minimum -> Schema#{Key => Int, example => Int};
|
{Int, []} when Key =:= minimum -> Schema#{Key => Int};
|
||||||
{Int, []} -> Schema#{Key => Int}
|
{Int, []} -> Schema#{Key => Int}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
|
@ -62,9 +62,9 @@ t_in_query(_Config) ->
|
||||||
Expect =
|
Expect =
|
||||||
[#{description => <<"results per page (max 100)">>,
|
[#{description => <<"results per page (max 100)">>,
|
||||||
example => 1, in => query, name => per_page,
|
example => 1, in => query, name => per_page,
|
||||||
schema => #{example => 1, maximum => 100, minimum => 1, type => integer}},
|
schema => #{maximum => 100, minimum => 1, type => integer}},
|
||||||
#{description => <<"QOS">>, in => query, name => qos,
|
#{description => <<"QOS">>, in => query, name => qos,
|
||||||
schema => #{enum => [0, 1, 2], example => 0, type => string}}],
|
schema => #{enum => [0, 1, 2], type => string}}],
|
||||||
validate("/test/in/query", Expect),
|
validate("/test/in/query", Expect),
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
|
@ -96,12 +96,12 @@ t_public_ref(_Config) ->
|
||||||
], Refs),
|
], Refs),
|
||||||
ExpectRefs = [
|
ExpectRefs = [
|
||||||
#{<<"public.limit">> => #{description => <<"Results per page(max 1000)">>,
|
#{<<"public.limit">> => #{description => <<"Results per page(max 1000)">>,
|
||||||
example => 50,in => query,name => limit,
|
in => query,name => limit, example => 50,
|
||||||
schema => #{default => 100,example => 1,maximum => 1000,
|
schema => #{default => 100,maximum => 1000,
|
||||||
minimum => 1,type => integer}}},
|
minimum => 1,type => integer}}},
|
||||||
#{<<"public.page">> => #{description => <<"Page number of the results to fetch.">>,
|
#{<<"public.page">> => #{description => <<"Page number of the results to fetch.">>,
|
||||||
example => 1,in => query,name => page,
|
in => query,name => page,example => 1,
|
||||||
schema => #{default => 1,example => 100,minimum => 1,type => integer}}}],
|
schema => #{default => 1,minimum => 1,type => integer}}}],
|
||||||
?assertEqual(ExpectRefs, emqx_dashboard_swagger:components(Refs,#{})),
|
?assertEqual(ExpectRefs, emqx_dashboard_swagger:components(Refs,#{})),
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
|
@ -114,11 +114,11 @@ t_in_mix(_Config) ->
|
||||||
example => <<"12m">>,in => path,name => state,required => true,
|
example => <<"12m">>,in => path,name => state,required => true,
|
||||||
schema => #{example => <<"1h">>,type => string}},
|
schema => #{example => <<"1h">>,type => string}},
|
||||||
#{example => 10,in => query,name => per_page, required => false,
|
#{example => 10,in => query,name => per_page, required => false,
|
||||||
schema => #{default => 5,example => 1,maximum => 50,minimum => 1, type => integer}},
|
schema => #{default => 5,maximum => 50,minimum => 1, type => integer}},
|
||||||
#{in => query,name => is_admin, schema => #{example => true,type => boolean}},
|
#{in => query,name => is_admin, schema => #{type => boolean}},
|
||||||
#{in => query,name => timeout,
|
#{in => query,name => timeout,
|
||||||
schema => #{<<"oneOf">> => [#{enum => [infinity],type => string},
|
schema => #{<<"oneOf">> => [#{enum => [infinity],type => string},
|
||||||
#{example => 30,maximum => 60,minimum => 30, type => integer}]}}],
|
#{maximum => 60,minimum => 30, type => integer}]}}],
|
||||||
ExpectMeta = #{
|
ExpectMeta = #{
|
||||||
tags => [tags, good],
|
tags => [tags, good],
|
||||||
description => <<"good description">>,
|
description => <<"good description">>,
|
||||||
|
@ -138,15 +138,15 @@ t_without_in(_Config) ->
|
||||||
t_require(_Config) ->
|
t_require(_Config) ->
|
||||||
ExpectSpec = [#{
|
ExpectSpec = [#{
|
||||||
in => query,name => userid, required => false,
|
in => query,name => userid, required => false,
|
||||||
schema => #{example => <<"binary-example">>, type => string}}],
|
schema => #{type => string}}],
|
||||||
validate("/required/false", ExpectSpec),
|
validate("/required/false", ExpectSpec),
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
t_nullable(_Config) ->
|
t_nullable(_Config) ->
|
||||||
NullableFalse = [#{in => query,name => userid, required => true,
|
NullableFalse = [#{in => query,name => userid, required => true,
|
||||||
schema => #{example => <<"binary-example">>, type => string}}],
|
schema => #{type => string}}],
|
||||||
NullableTrue = [#{in => query,name => userid,
|
NullableTrue = [#{in => query,name => userid,
|
||||||
schema => #{example => <<"binary-example">>, type => string}, required => false}],
|
schema => #{type => string}, required => false}],
|
||||||
validate("/nullable/false", NullableFalse),
|
validate("/nullable/false", NullableFalse),
|
||||||
validate("/nullable/true", NullableTrue),
|
validate("/nullable/true", NullableTrue),
|
||||||
ok.
|
ok.
|
||||||
|
|
|
@ -43,7 +43,7 @@ t_object(_Config) ->
|
||||||
#{required => [<<"timeout">>, <<"per_page">>],
|
#{required => [<<"timeout">>, <<"per_page">>],
|
||||||
<<"properties">> =>[
|
<<"properties">> =>[
|
||||||
{<<"per_page">>, #{description => <<"good per page desc">>,
|
{<<"per_page">>, #{description => <<"good per page desc">>,
|
||||||
example => 1, maximum => 100, minimum => 1, type => integer}},
|
maximum => 100, minimum => 1, type => integer}},
|
||||||
{<<"timeout">>, #{default => 5, <<"oneOf">> =>
|
{<<"timeout">>, #{default => 5, <<"oneOf">> =>
|
||||||
[#{example => <<"1h">>, type => string},
|
[#{example => <<"1h">>, type => string},
|
||||||
#{enum => [infinity], type => string}]}},
|
#{enum => [infinity], type => string}]}},
|
||||||
|
@ -64,13 +64,13 @@ t_nest_object(_Config) ->
|
||||||
#{required => [<<"timeout">>],
|
#{required => [<<"timeout">>],
|
||||||
<<"properties">> =>
|
<<"properties">> =>
|
||||||
[{<<"per_page">>, #{description => <<"good per page desc">>,
|
[{<<"per_page">>, #{description => <<"good per page desc">>,
|
||||||
example => 1, maximum => 100, minimum => 1, type => integer}},
|
maximum => 100, minimum => 1, type => integer}},
|
||||||
{<<"timeout">>, #{default => 5, <<"oneOf">> =>
|
{<<"timeout">>, #{default => 5, <<"oneOf">> =>
|
||||||
[#{example => <<"1h">>, type => string},
|
[#{example => <<"1h">>, type => string},
|
||||||
#{enum => [infinity], type => string}]}},
|
#{enum => [infinity], type => string}]}},
|
||||||
{<<"nest_object">>,
|
{<<"nest_object">>,
|
||||||
#{<<"properties">> =>
|
#{<<"properties">> =>
|
||||||
[{<<"good_nest_1">>, #{example => 100, type => integer}},
|
[{<<"good_nest_1">>, #{type => integer}},
|
||||||
{<<"good_nest_2">>, #{<<"$ref">> =>
|
{<<"good_nest_2">>, #{<<"$ref">> =>
|
||||||
<<"#/components/schemas/emqx_swagger_requestBody_SUITE.good_ref">>}}],
|
<<"#/components/schemas/emqx_swagger_requestBody_SUITE.good_ref">>}}],
|
||||||
<<"type">> => object}},
|
<<"type">> => object}},
|
||||||
|
@ -105,7 +105,7 @@ t_remote_ref(_Config) ->
|
||||||
{_, Components} = validate("/ref/remote", Spec, Refs),
|
{_, Components} = validate("/ref/remote", Spec, Refs),
|
||||||
ExpectComponents = [
|
ExpectComponents = [
|
||||||
#{<<"emqx_swagger_remote_schema.ref2">> => #{<<"properties">> => [
|
#{<<"emqx_swagger_remote_schema.ref2">> => #{<<"properties">> => [
|
||||||
{<<"page">>, #{description => <<"good page">>,example => 1,
|
{<<"page">>, #{description => <<"good page">>,
|
||||||
maximum => 100,minimum => 1,type => integer}},
|
maximum => 100,minimum => 1,type => integer}},
|
||||||
{<<"another_ref">>, #{<<"$ref">> =>
|
{<<"another_ref">>, #{<<"$ref">> =>
|
||||||
<<"#/components/schemas/emqx_swagger_remote_schema.ref3">>}}], <<"type">> => object}},
|
<<"#/components/schemas/emqx_swagger_remote_schema.ref3">>}}], <<"type">> => object}},
|
||||||
|
@ -136,8 +136,7 @@ t_nest_ref(_Config) ->
|
||||||
{<<"webhook-host">>, #{default => <<"127.0.0.1:80">>,
|
{<<"webhook-host">>, #{default => <<"127.0.0.1:80">>,
|
||||||
example => <<"127.0.0.1:80">>,type => string}},
|
example => <<"127.0.0.1:80">>,type => string}},
|
||||||
{<<"log_dir">>, #{example => <<"var/log/emqx">>,type => string}},
|
{<<"log_dir">>, #{example => <<"var/log/emqx">>,type => string}},
|
||||||
{<<"tag">>, #{description => <<"tag">>,
|
{<<"tag">>, #{description => <<"tag">>,type => string}}],
|
||||||
example => <<"binary-example">>,type => string}}],
|
|
||||||
<<"type">> => object}}]),
|
<<"type">> => object}}]),
|
||||||
{_, Components} = validate("/ref/nest/ref", Spec, Refs),
|
{_, Components} = validate("/ref/nest/ref", Spec, Refs),
|
||||||
?assertEqual(ExpectComponents, Components),
|
?assertEqual(ExpectComponents, Components),
|
||||||
|
@ -181,7 +180,7 @@ t_ref_array_with_key(_Config) ->
|
||||||
<<"type">> => object, <<"properties">> =>
|
<<"type">> => object, <<"properties">> =>
|
||||||
[
|
[
|
||||||
{<<"per_page">>, #{description => <<"good per page desc">>,
|
{<<"per_page">>, #{description => <<"good per page desc">>,
|
||||||
example => 1, maximum => 100, minimum => 1, type => integer}},
|
maximum => 100, minimum => 1, type => integer}},
|
||||||
{<<"timeout">>, #{default => 5, <<"oneOf">> =>
|
{<<"timeout">>, #{default => 5, <<"oneOf">> =>
|
||||||
[#{example => <<"1h">>, type => string},
|
[#{example => <<"1h">>, type => string},
|
||||||
#{enum => [infinity], type => string}]}},
|
#{enum => [infinity], type => string}]}},
|
||||||
|
|
|
@ -50,7 +50,7 @@ t_object(_config) ->
|
||||||
#{<<"schema">> => #{required => [<<"timeout">>, <<"per_page">>],
|
#{<<"schema">> => #{required => [<<"timeout">>, <<"per_page">>],
|
||||||
<<"properties">> => [
|
<<"properties">> => [
|
||||||
{<<"per_page">>, #{description => <<"good per page desc">>,
|
{<<"per_page">>, #{description => <<"good per page desc">>,
|
||||||
example => 1, maximum => 100, minimum => 1, type => integer}},
|
maximum => 100, minimum => 1, type => integer}},
|
||||||
{<<"timeout">>, #{default => 5, <<"oneOf">> =>
|
{<<"timeout">>, #{default => 5, <<"oneOf">> =>
|
||||||
[#{example => <<"1h">>, type => string}, #{enum => [infinity], type => string}]}},
|
[#{example => <<"1h">>, type => string}, #{enum => [infinity], type => string}]}},
|
||||||
{<<"inner_ref">>, #{<<"$ref">> =>
|
{<<"inner_ref">>, #{<<"$ref">> =>
|
||||||
|
@ -92,12 +92,12 @@ t_nest_object(_Config) ->
|
||||||
Object =
|
Object =
|
||||||
#{<<"content">> => #{<<"application/json">> => #{<<"schema">> =>
|
#{<<"content">> => #{<<"application/json">> => #{<<"schema">> =>
|
||||||
#{required => [<<"timeout">>], <<"type">> => object, <<"properties">> => [
|
#{required => [<<"timeout">>], <<"type">> => object, <<"properties">> => [
|
||||||
{<<"per_page">>, #{description => <<"good per page desc">>, example => 1,
|
{<<"per_page">>, #{description => <<"good per page desc">>,
|
||||||
maximum => 100, minimum => 1, type => integer}},
|
maximum => 100, minimum => 1, type => integer}},
|
||||||
{<<"timeout">>, #{default => 5, <<"oneOf">> =>
|
{<<"timeout">>, #{default => 5, <<"oneOf">> =>
|
||||||
[#{example => <<"1h">>, type => string}, #{enum => [infinity], type => string}]}},
|
[#{example => <<"1h">>, type => string}, #{enum => [infinity], type => string}]}},
|
||||||
{<<"nest_object">>, #{<<"type">> => object, <<"properties">> => [
|
{<<"nest_object">>, #{<<"type">> => object, <<"properties">> => [
|
||||||
{<<"good_nest_1">>, #{example => 100, type => integer}},
|
{<<"good_nest_1">>, #{type => integer}},
|
||||||
{<<"good_nest_2">>, #{<<"$ref">> =>
|
{<<"good_nest_2">>, #{<<"$ref">> =>
|
||||||
<<"#/components/schemas/emqx_swagger_response_SUITE.good_ref">>}
|
<<"#/components/schemas/emqx_swagger_response_SUITE.good_ref">>}
|
||||||
}]}},
|
}]}},
|
||||||
|
@ -185,16 +185,15 @@ t_complicated_type(_Config) ->
|
||||||
Object = #{<<"content">> => #{<<"application/json">> =>
|
Object = #{<<"content">> => #{<<"application/json">> =>
|
||||||
#{<<"schema">> => #{<<"properties">> =>
|
#{<<"schema">> => #{<<"properties">> =>
|
||||||
[
|
[
|
||||||
{<<"no_neg_integer">>, #{example => 100, minimum => 0, type => integer}},
|
{<<"no_neg_integer">>, #{minimum => 0, type => integer}},
|
||||||
{<<"url">>, #{example => <<"http://127.0.0.1">>, type => string}},
|
{<<"url">>, #{example => <<"http://127.0.0.1">>, type => string}},
|
||||||
{<<"server">>, #{example => <<"127.0.0.1:80">>, type => string}},
|
{<<"server">>, #{example => <<"127.0.0.1:80">>, type => string}},
|
||||||
{<<"connect_timeout">>, #{example => infinity, <<"oneOf">> => [
|
{<<"connect_timeout">>, #{example => infinity, <<"oneOf">> => [
|
||||||
#{example => infinity, type => string},
|
#{example => infinity, type => string},
|
||||||
#{example => 100, type => integer}]}},
|
#{type => integer}]}},
|
||||||
{<<"pool_type">>, #{enum => [random, hash], example => hash, type => string}},
|
{<<"pool_type">>, #{enum => [random, hash], type => string}},
|
||||||
{<<"timeout">>, #{example => infinity,
|
{<<"timeout">>, #{example => infinity,
|
||||||
<<"oneOf">> =>
|
<<"oneOf">> => [#{example => infinity, type => string}, #{type => integer}]}},
|
||||||
[#{example => infinity, type => string}, #{example => 100, type => integer}]}},
|
|
||||||
{<<"bytesize">>, #{example => <<"32MB">>, type => string}},
|
{<<"bytesize">>, #{example => <<"32MB">>, type => string}},
|
||||||
{<<"wordsize">>, #{example => <<"1024KB">>, type => string}},
|
{<<"wordsize">>, #{example => <<"1024KB">>, type => string}},
|
||||||
{<<"maps">>, #{example => #{}, type => object}},
|
{<<"maps">>, #{example => #{}, type => object}},
|
||||||
|
@ -203,7 +202,7 @@ t_complicated_type(_Config) ->
|
||||||
{<<"log_level">>,
|
{<<"log_level">>,
|
||||||
#{enum => [debug, info, notice, warning, error, critical, alert, emergency, all],
|
#{enum => [debug, info, notice, warning, error, critical, alert, emergency, all],
|
||||||
type => string}},
|
type => string}},
|
||||||
{<<"fix_integer">>, #{default => 100, enum => [100], example => 100,type => integer}}
|
{<<"fix_integer">>, #{default => 100, enum => [100],type => integer}}
|
||||||
],
|
],
|
||||||
<<"type">> => object}}}},
|
<<"type">> => object}}}},
|
||||||
{OperationId, Spec, Refs} = emqx_dashboard_swagger:parse_spec_ref(?MODULE, Path, #{}),
|
{OperationId, Spec, Refs} = emqx_dashboard_swagger:parse_spec_ref(?MODULE, Path, #{}),
|
||||||
|
@ -219,17 +218,16 @@ t_ref_array_with_key(_Config) ->
|
||||||
Object = #{<<"content">> => #{<<"application/json">> => #{<<"schema">> => #{
|
Object = #{<<"content">> => #{<<"application/json">> => #{<<"schema">> => #{
|
||||||
required => [<<"timeout">>], <<"type">> => object, <<"properties">> => [
|
required => [<<"timeout">>], <<"type">> => object, <<"properties">> => [
|
||||||
{<<"per_page">>, #{description => <<"good per page desc">>,
|
{<<"per_page">>, #{description => <<"good per page desc">>,
|
||||||
example => 1, maximum => 100, minimum => 1, type => integer}},
|
maximum => 100, minimum => 1, type => integer}},
|
||||||
{<<"timeout">>, #{default => 5, <<"oneOf">> =>
|
{<<"timeout">>, #{default => 5, <<"oneOf">> =>
|
||||||
[#{example => <<"1h">>, type => string}, #{enum => [infinity], type => string}]}},
|
[#{example => <<"1h">>, type => string}, #{enum => [infinity], type => string}]}},
|
||||||
{<<"assert">>, #{description => <<"money">>, example => 3.14159, type => number}},
|
{<<"assert">>, #{description => <<"money">>, type => number}},
|
||||||
{<<"number_ex">>, #{description => <<"number example">>,
|
{<<"number_ex">>, #{description => <<"number example">>, type => number}},
|
||||||
example => 42, type => number}},
|
|
||||||
{<<"percent_ex">>, #{description => <<"percent example">>,
|
{<<"percent_ex">>, #{description => <<"percent example">>,
|
||||||
example => <<"12%">>, type => number}},
|
example => <<"12%">>, type => number}},
|
||||||
{<<"duration_ms_ex">>, #{description => <<"duration ms example">>,
|
{<<"duration_ms_ex">>, #{description => <<"duration ms example">>,
|
||||||
example => <<"32s">>, type => string}},
|
example => <<"32s">>, type => string}},
|
||||||
{<<"atom_ex">>, #{description => <<"atom ex">>, example => atom, type => string}},
|
{<<"atom_ex">>, #{description => <<"atom ex">>, type => string}},
|
||||||
{<<"array_refs">>, #{items => #{<<"$ref">> =>
|
{<<"array_refs">>, #{items => #{<<"$ref">> =>
|
||||||
<<"#/components/schemas/emqx_swagger_response_SUITE.good_ref">>}, type => array}}
|
<<"#/components/schemas/emqx_swagger_response_SUITE.good_ref">>}, type => array}}
|
||||||
]}
|
]}
|
||||||
|
@ -254,12 +252,12 @@ t_hocon_schema_function(_Config) ->
|
||||||
#{<<"emqx_swagger_remote_schema.ref1">> => #{<<"type">> => object,
|
#{<<"emqx_swagger_remote_schema.ref1">> => #{<<"type">> => object,
|
||||||
<<"properties">> => [
|
<<"properties">> => [
|
||||||
{<<"protocol">>, #{enum => [http, https], type => string}},
|
{<<"protocol">>, #{enum => [http, https], type => string}},
|
||||||
{<<"port">>, #{default => 18083, example => 100, type => integer}}]
|
{<<"port">>, #{default => 18083, type => integer}}]
|
||||||
}},
|
}},
|
||||||
#{<<"emqx_swagger_remote_schema.ref2">> => #{<<"type">> => object,
|
#{<<"emqx_swagger_remote_schema.ref2">> => #{<<"type">> => object,
|
||||||
<<"properties">> => [
|
<<"properties">> => [
|
||||||
{<<"page">>, #{description => <<"good page">>,
|
{<<"page">>, #{description => <<"good page">>,
|
||||||
example => 1, maximum => 100, minimum => 1, type => integer}},
|
maximum => 100, minimum => 1, type => integer}},
|
||||||
{<<"another_ref">>, #{<<"$ref">> =>
|
{<<"another_ref">>, #{<<"$ref">> =>
|
||||||
<<"#/components/schemas/emqx_swagger_remote_schema.ref3">>}}
|
<<"#/components/schemas/emqx_swagger_remote_schema.ref3">>}}
|
||||||
]
|
]
|
||||||
|
@ -279,9 +277,9 @@ t_hocon_schema_function(_Config) ->
|
||||||
#{<<"$ref">> => <<"#/components/schemas/emqx_swagger_remote_schema.ref1">>}]},
|
#{<<"$ref">> => <<"#/components/schemas/emqx_swagger_remote_schema.ref1">>}]},
|
||||||
type => array}},
|
type => array}},
|
||||||
{<<"default_username">>,
|
{<<"default_username">>,
|
||||||
#{default => <<"admin">>, example => <<"string-example">>, type => string}},
|
#{default => <<"admin">>, type => string}},
|
||||||
{<<"default_password">>,
|
{<<"default_password">>,
|
||||||
#{default => <<"public">>, example => <<"string-example">>, type => string}},
|
#{default => <<"public">>, type => string}},
|
||||||
{<<"sample_interval">>,
|
{<<"sample_interval">>,
|
||||||
#{default => <<"10s">>, example => <<"1h">>, type => string}},
|
#{default => <<"10s">>, example => <<"1h">>, type => string}},
|
||||||
{<<"token_expired_time">>,
|
{<<"token_expired_time">>,
|
||||||
|
|
Loading…
Reference in New Issue