diff --git a/pollbot/app.py b/pollbot/app.py index 156c9c9..805c6f8 100644 --- a/pollbot/app.py +++ b/pollbot/app.py @@ -14,4 +14,6 @@ def get_app(loop=None): release.bedrock_release_notes) app.router.add_get('/v1/{product}/{version}/bedrock/security-advisories', release.bedrock_security_advisories) + app.router.add_get('/v1/{product}/{version}/product-details', + release.product_details) return app diff --git a/pollbot/views/release.py b/pollbot/views/release.py index 3645b3a..49d3a15 100644 --- a/pollbot/views/release.py +++ b/pollbot/views/release.py @@ -4,6 +4,7 @@ from ..exceptions import TaskError from ..tasks.archives import archives_published from ..tasks.bedrock import release_notes_published, security_advisories_published +from ..tasks.product_details import product_details_published def status_response(task): @@ -33,3 +34,4 @@ async def wrapped(request): archive = status_response(archives_published) bedrock_release_notes = status_response(release_notes_published) bedrock_security_advisories = status_response(security_advisories_published) +product_details = status_response(product_details_published) diff --git a/tests/test_views.py b/tests/test_views.py index 672c2e3..911a489 100644 --- a/tests/test_views.py +++ b/tests/test_views.py @@ -112,3 +112,18 @@ async def test_release_bedrock_security_advisories_404(cli): "status": 404, "message": "Invalid product: invalid-product not in ['firefox']" }) + + +async def test_release_product_details(cli): + await check_response(cli, "/v1/firefox/54.0/product-details", + body={ + "status": "exists" + }) + + +async def test_release_product_details_404(cli): + await check_response(cli, "/v1/invalid-product/54.0/product-details", + status=404, body={ + "status": 404, + "message": "Invalid product: invalid-product not in ['firefox']" + })