From 22b25fbbb35f73f55a5bdfb557cadc403461fb89 Mon Sep 17 00:00:00 2001 From: Stefan Strigler Date: Thu, 6 Jul 2023 12:14:45 +0200 Subject: [PATCH] feat(emqx_dashboard): include edition and version in swagger.json info --- apps/emqx_dashboard/src/emqx_dashboard.app.src | 2 +- apps/emqx_dashboard/src/emqx_dashboard.erl | 8 +++++++- apps/emqx_dashboard/test/emqx_dashboard_SUITE.erl | 9 +++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/apps/emqx_dashboard/src/emqx_dashboard.app.src b/apps/emqx_dashboard/src/emqx_dashboard.app.src index e2909eca6..9cceacf3a 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard.app.src +++ b/apps/emqx_dashboard/src/emqx_dashboard.app.src @@ -2,7 +2,7 @@ {application, emqx_dashboard, [ {description, "EMQX Web Dashboard"}, % strict semver, bump manually! - {vsn, "5.0.24"}, + {vsn, "5.0.25"}, {modules, []}, {registered, [emqx_dashboard_sup]}, {applications, [kernel, stdlib, mnesia, minirest, emqx, emqx_ctl]}, diff --git a/apps/emqx_dashboard/src/emqx_dashboard.erl b/apps/emqx_dashboard/src/emqx_dashboard.erl index de35c43b3..8c56d8014 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard.erl +++ b/apps/emqx_dashboard/src/emqx_dashboard.erl @@ -49,7 +49,7 @@ start_listeners(Listeners) -> Authorization = {?MODULE, authorize}, GlobalSpec = #{ openapi => "3.0.0", - info => #{title => "EMQX API", version => ?EMQX_API_VERSION}, + info => #{title => emqx_api_name(), version => emqx_release_version()}, servers => [#{url => emqx_dashboard_swagger:base_path()}], components => #{ schemas => #{}, @@ -271,3 +271,9 @@ dynamic_dispatch() -> {emqx_mgmt_api_status:path(), emqx_mgmt_api_status, []}, {'_', emqx_dashboard_not_found, []} ]. + +emqx_api_name() -> + emqx_release:description() ++ " API". + +emqx_release_version() -> + emqx_release:version(). diff --git a/apps/emqx_dashboard/test/emqx_dashboard_SUITE.erl b/apps/emqx_dashboard/test/emqx_dashboard_SUITE.erl index 1230316e0..f0b6db8ea 100644 --- a/apps/emqx_dashboard/test/emqx_dashboard_SUITE.erl +++ b/apps/emqx_dashboard/test/emqx_dashboard_SUITE.erl @@ -149,6 +149,15 @@ t_swagger_json(_Config) -> {ok, {{"HTTP/1.1", 200, "OK"}, _Headers, Body2}} = httpc:request(get, {Url, []}, [], [{body_format, binary}]), ?assertEqual(Body1, Body2), + ?assertMatch( + #{ + <<"info">> := #{ + <<"title">> := _, + <<"version">> := _ + } + }, + emqx_utils_json:decode(Body1) + ), ok. t_cli(_Config) ->