From 8c8c07f43e2734a86a3b802627356f8b6a0ca01a Mon Sep 17 00:00:00 2001 From: Giulia Naponiello Date: May 30 2018 14:46:33 +0000 Subject: Give greenwave a /about endpoint, like waiverdb Creating /about (just like /version) and redirecting /version to /about. So that waiverdb and greenwave will have the same. --- diff --git a/functional-tests/test_api_v1.py b/functional-tests/test_api_v1.py index e6aa784..e9bbcf9 100644 --- a/functional-tests/test_api_v1.py +++ b/functional-tests/test_api_v1.py @@ -49,13 +49,20 @@ def test_version_endpoint(requests_session, greenwave_server): assert {'version': __version__} == r.json() -def test_version_endpoint_jsonp(requests_session, greenwave_server): - r = requests_session.get(greenwave_server + 'api/v1.0/version?callback=bac123') +def test_about_endpoint_jsonp(requests_session, greenwave_server): + r = requests_session.get(greenwave_server + 'api/v1.0/about?callback=bac123') assert r.status_code == 200 assert 'bac123' in r.text assert '"version": "%s"' % __version__ in r.text +def test_version_redirect(requests_session, greenwave_server): + r = requests_session.get(greenwave_server + 'api/v1.0/version') + assert r.status_code == 200 + assert '"version": "%s"' % __version__ in r.text + assert r.url.endswith('about') + + def test_cannot_make_decision_without_product_version(requests_session, greenwave_server): data = { 'decision_context': 'bodhi_update_push_stable', diff --git a/greenwave/api_v1.py b/greenwave/api_v1.py index 69fa222..1b5da5c 100644 --- a/greenwave/api_v1.py +++ b/greenwave/api_v1.py @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0+ -from flask import Blueprint, request, current_app, jsonify +from flask import Blueprint, request, current_app, jsonify, url_for, redirect from werkzeug.exceptions import BadRequest, NotFound, UnsupportedMediaType, InternalServerError from greenwave import __version__ from greenwave.policies import summarize_answers, RemoteOriginalSpecNvrRule @@ -11,8 +11,13 @@ api = (Blueprint('api_v1', __name__)) @api.route('/version', methods=['GET']) -@jsonp def version(): + return redirect(url_for('api_v1.about')) + + +@api.route('/about', methods=['GET']) +@jsonp +def about(): """ Returns the current running version. **Sample response**: