diff --git a/ietf/api/tests.py b/ietf/api/tests.py index bae6bc777..011cba2a2 100644 --- a/ietf/api/tests.py +++ b/ietf/api/tests.py @@ -21,6 +21,7 @@ from tastypie.test import ResourceTestCaseMixin import debug # pyflakes:ignore +import ietf from ietf.group.factories import RoleFactory from ietf.meeting.factories import MeetingFactory, SessionFactory from ietf.meeting.test_data import make_meeting_test_data @@ -65,6 +66,11 @@ class CustomApiTests(TestCase): r = self.client.get(url) self.assertContains(r, 'The datatracker API', status_code=200) + def test_api_openid_issuer(self): + url = urlreverse('ietf.api.urls.oidc_issuer') + r = self.client.get(url) + self.assertContains(r, 'OpenID Connect Issuer', status_code=200) + def test_api_set_session_video_url(self): url = urlreverse('ietf.meeting.views.api_set_session_video_url') recmanrole = RoleFactory(group__type_id='ietf', name_id='recman') @@ -355,6 +361,15 @@ class CustomApiTests(TestCase): missing_fields = [ f.strip() for f in fields.split(',') ] self.assertEqual(set(missing_fields), set(drop_fields)) + + def test_api_version(self): + url = urlreverse('ietf.api.views.version') + r = self.client.get(url) + data = r.json() + self.assertEqual(data['version'], ietf.__version__+ietf.__patch__) + self.assertIn(data['date'], ietf.__date__) + + class TastypieApiTestCase(ResourceTestCaseMixin, TestCase): def __init__(self, *args, **kwargs): self.apps = {} diff --git a/ietf/templates/api/index.html b/ietf/templates/api/index.html index 25e51677b..08ce2fe22 100644 --- a/ietf/templates/api/index.html +++ b/ietf/templates/api/index.html @@ -261,6 +261,24 @@ +
+ The datatracker supports OpenID Connect, but
+ not dynamic registration. The OpenID Connect Issuer is
+ {{ settings.IDTRACKER_BASE_URL }}{% url 'ietf.api.urls.oidc_issuer' %}
+
+
+ The datatracker version and release/patch date is available as a JSON blob at
+ {% url 'ietf.api.views.version' %}
.
+
@@ -346,15 +364,17 @@ payload = jwstoken.payload
diff --git a/ietf/templates/api/openid-issuer.html b/ietf/templates/api/openid-issuer.html new file mode 100644 index 000000000..0ff049706 --- /dev/null +++ b/ietf/templates/api/openid-issuer.html @@ -0,0 +1,17 @@ +{# Copyright The IETF Trust 2007, All Rights Reserved #} +{% extends "base.html" %} +{% block title %}OpenID Connect Issuer{% endblock %} + +{% block content %} + +
+ This is the IETF Datatracker's OpenID Connect Issuer endpoint.
+ The OpenID Connect provider info is at
+
+ {% url 'oidc_provider:provider-info' %}"
+
+