summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Gordon <ryangordon210@gmail.com>2018-11-08 00:37:49 +0000
committerJoan Touzet <wohali@users.noreply.github.com>2018-11-07 19:37:49 -0500
commitc157c968b349112c5b3e69a3ded7aca7996e761d (patch)
tree5d7210d4b04db3a086621d8612bc706eb4185945
parente99a7b73db416c6c0251045ed611f4dfa64bf1d0 (diff)
downloadcouchdb-c157c968b349112c5b3e69a3ded7aca7996e761d.tar.gz
#1705 Add UUID attribute to welcome message (#1708)
-rw-r--r--src/chttpd/src/chttpd_misc.erl1
-rw-r--r--src/chttpd/test/chttpd_welcome_test.erl20
2 files changed, 20 insertions, 1 deletions
diff --git a/src/chttpd/src/chttpd_misc.erl b/src/chttpd/src/chttpd_misc.erl
index 39ffa2368..1a6b3cb50 100644
--- a/src/chttpd/src/chttpd_misc.erl
+++ b/src/chttpd/src/chttpd_misc.erl
@@ -50,6 +50,7 @@ handle_welcome_req(#httpd{method='GET'}=Req, WelcomeMessage) ->
{couchdb, WelcomeMessage},
{version, list_to_binary(couch_server:get_version())},
{git_sha, list_to_binary(couch_server:get_git_sha())},
+ {uuid, couch_server:get_uuid()},
{features, config:features()}
] ++ case config:get("vendor") of
[] ->
diff --git a/src/chttpd/test/chttpd_welcome_test.erl b/src/chttpd/test/chttpd_welcome_test.erl
index b737abd7a..e427f4dff 100644
--- a/src/chttpd/test/chttpd_welcome_test.erl
+++ b/src/chttpd/test/chttpd_welcome_test.erl
@@ -45,12 +45,30 @@ welcome_test_() ->
fun setup/0, fun teardown/1,
[
fun should_have_version/1,
- fun should_have_features/1
+ fun should_have_features/1,
+ fun should_have_uuid/1
]
}
}
}.
+should_have_uuid(Url) ->
+ ?_test(begin
+ {ok, Status, _, Body} = test_request:get(Url, [?CONTENT_JSON, ?AUTH]),
+ ?assertEqual(200, Status),
+ {Json} = ?JSON_DECODE(Body),
+ CouchDB = couch_util:get_value(<<"couchdb">>, Json, undefined),
+ Uuid = couch_util:get_value(<<"uuid">>, Json, undefined),
+ Features = couch_util:get_value(<<"features">>, Json, undefined),
+ Sha = couch_util:get_value(<<"git_sha">>, Json, undefined),
+ ?assertNotEqual(Sha, undefined),
+ ?assertEqual(<<"Welcome">>, CouchDB),
+ RealUuid = couch_server:get_uuid(),
+
+ ?assertEqual(RealUuid, Uuid),
+ ?assert(is_list(Features))
+ end).
+
should_have_version(Url) ->
?_test(begin