feat(api): adding-health-endpoint

- health endpoint

Change-Id: I0a3a31ecb6cd1c69fcfe7dd2c9b5870eaed7c639
This commit is contained in:
gardlt 2017-12-12 17:16:28 +00:00 committed by Felipe Monteiro
parent 328592686f
commit 9318c0cf88
3 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,28 @@
# Copyright 2017 AT&T Intellectual Property. All other rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import falcon
from armada import api
class Health(api.BaseResource):
"""
Return empty response/body to show that Armada is healthy.
"""
def on_get(self, req, resp):
"""
It really does nothing right now. It may do more later.
"""
resp.status = falcon.HTTP_204

View File

@ -23,6 +23,7 @@ from armada.api.middleware import ContextMiddleware
from armada.api.middleware import LoggingMiddleware
from armada.api.controller.test import Test
from armada.api.controller.test import Tests
from armada.api.controller.health import Health
from armada.api.controller.tiller import Release
from armada.api.controller.tiller import Status
from armada.api.controller.validation import Validate
@ -50,6 +51,7 @@ def create(middleware=CONF.middleware):
# Configure API routing
url_routes_v1 = (
('health', Health()),
('apply', Apply()),
('releases', Release()),
('status', Status()),

View File

@ -105,3 +105,10 @@ class TestAPI(APITestCase):
# FIXME(lamt) Need authentication - mock, fixture
# self.assertEqual(result.json, doc)
def test_health_endpoint(self):
"""
Validate that /api/v1.0/health returns 204.
"""
result = self.simulate_get('/api/v1.0/health')
self.assertEqual(result.status, falcon.HTTP_204)