From f68385fe742eb7efcce0d8f04f42f26ccf05d624 Mon Sep 17 00:00:00 2001 From: justinvdm Date: Tue, 26 Apr 2016 18:30:26 +0200 Subject: [PATCH] Add endpoint for retreiving repo names --- cms/__init__.py | 1 + cms/tests/test_views.py | 12 ++++++++++++ cms/views/cms_views.py | 9 +++++++++ 3 files changed, 22 insertions(+) diff --git a/cms/__init__.py b/cms/__init__.py index e7f6013..1f441ca 100644 --- a/cms/__init__.py +++ b/cms/__init__.py @@ -136,6 +136,7 @@ def includeme(config): config.add_route('logout', '/logout/') config.add_route('redirect_to_login', '/login/hub/') config.add_route('api_notify', '/api/notify/', request_method='POST') + config.add_route('repos', '/repos.json') config.add_route('health', '/health/') # NB: this must be last config.add_route('flatpage', '/{slug}/') diff --git a/cms/tests/test_views.py b/cms/tests/test_views.py index 6b6e93a..fe836b4 100644 --- a/cms/tests/test_views.py +++ b/cms/tests/test_views.py @@ -671,3 +671,15 @@ def test_health_with_env_vars(self): }) os.environ.pop('MARATHON_APP_ID') os.environ.pop('MARATHON_APP_VERSION') + + def test_repos(self): + settings = self.config.registry.settings.copy() + settings['es.index_prefix'] = 'foo' + app = self.mk_app(self.workspace, settings=settings) + + resp = app.get('/repos.json', status=200) + + self.assertEqual(resp.json, [{ + 'index': 'foo', + 'data': {'name': 'foo'} + }]) diff --git a/cms/views/cms_views.py b/cms/views/cms_views.py index 4792569..9ba9322 100644 --- a/cms/views/cms_views.py +++ b/cms/views/cms_views.py @@ -578,3 +578,12 @@ def api_notify(self): index_prefix=self.settings['es.index_prefix'], es=self.es_settings) return {} + + @view_config(route_name='repos', renderer='json') + def repos(self): + index = self.settings['es.index_prefix'] + + return [{ + 'index': index, + 'data': {'name': index}, + }]