Skip to content

Commit 724e982

Browse files
committed
Added documentation of the OpenID Connect and version endpoints to /api/. Added some tests.
- Legacy-Id: 18487
1 parent ac31ea1 commit 724e982

4 files changed

Lines changed: 53 additions & 1 deletion

File tree

ietf/api/tests.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import debug # pyflakes:ignore
2323

24+
import ietf
2425
from ietf.group.factories import RoleFactory
2526
from ietf.meeting.factories import MeetingFactory, SessionFactory
2627
from ietf.meeting.test_data import make_meeting_test_data
@@ -65,6 +66,11 @@ def test_api_help_page(self):
6566
r = self.client.get(url)
6667
self.assertContains(r, 'The datatracker API', status_code=200)
6768

69+
def test_api_openid_issuer(self):
70+
url = urlreverse('ietf.api.urls.oidc_issuer')
71+
r = self.client.get(url)
72+
self.assertContains(r, 'OpenID Connect Issuer', status_code=200)
73+
6874
def test_api_set_session_video_url(self):
6975
url = urlreverse('ietf.meeting.views.api_set_session_video_url')
7076
recmanrole = RoleFactory(group__type_id='ietf', name_id='recman')
@@ -355,6 +361,15 @@ def test_api_new_meeting_registration(self):
355361
missing_fields = [ f.strip() for f in fields.split(',') ]
356362
self.assertEqual(set(missing_fields), set(drop_fields))
357363

364+
365+
def test_api_version(self):
366+
url = urlreverse('ietf.api.views.version')
367+
r = self.client.get(url)
368+
data = r.json()
369+
self.assertEqual(data['version'], ietf.__version__+ietf.__patch__)
370+
self.assertIn(data['date'], ietf.__date__)
371+
372+
358373
class TastypieApiTestCase(ResourceTestCaseMixin, TestCase):
359374
def __init__(self, *args, **kwargs):
360375
self.apps = {}

ietf/templates/api/index.html

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,24 @@ <h3 id="session-video-url-api" class="anchor-target">Set session video URL</h3>
261261
</pre>
262262
</div>
263263

264+
<h3 id="openid-connect" class="anchor-target">OpenID Connect</h3>
265+
<div>
266+
<p>
267+
The datatracker supports <a href="https://openid.net/connect/">OpenID Connect</a>, but
268+
not dynamic registration. The OpenID Connect Issuer is
269+
<code> {{ settings.IDTRACKER_BASE_URL }}{% url 'ietf.api.urls.oidc_issuer' %} </code>
270+
271+
</p>
272+
</div>
273+
274+
<h3 id="datatracker-version" class="anchor-target">Datatracker Version</h3>
275+
<div>
276+
<p>
277+
The datatracker version and release/patch date is available as a JSON blob at
278+
<code><a href="{% url 'ietf.api.views.version' %}">{% url 'ietf.api.views.version' %}</a></code>.
279+
</p>
280+
</div>
281+
264282
<h3 id="personal-api-keys" class="anchor-target">Personal API Keys</h3>
265283
<div>
266284
<p>
@@ -346,15 +364,17 @@ <h3 id="signing-keys" class="anchor-target">Signing Keys</h3>
346364

347365
<div class="col-md-1 hidden-print bs-docs-sidebar" id="affix">
348366
<ul class="nav nav-pills nav-stacked small fixed" data-spy="affix">
367+
349368
<li><a href="#framework">Framework API</a></li>
350369
<li><a href="#framework-documents">&nbsp; Framework API: Documents</a></li>
351370
<li><a href="#simplified-documents">Simplified documents API</a></li>
352371
<li><a href="#iesg-position-api">IESG ballot position API</a></li>
353372
<li><a href="#session-video-url-api">Set session video URL API</a></li>
373+
<li><a href="#openid-connect">OpenID Connect</a></li>
374+
<li><a href="#datatracker-version">Datatracker Version</a></li>
354375
<li><a href="#personal-api-keys">Personal API keys</a></li>
355376
<li><a href="#signing-keys">Signing keys</a></li>
356377

357-
358378
</ul>
359379
</div>
360380

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{# Copyright The IETF Trust 2007, All Rights Reserved #}
2+
{% extends "base.html" %}
3+
{% block title %}OpenID Connect Issuer{% endblock %}
4+
5+
{% block content %}
6+
7+
<h2>OpenID Connect Issuer</h2>
8+
<p>
9+
This is the IETF Datatracker's OpenID Connect Issuer endpoint.
10+
The OpenID Connect provider info is at
11+
<code>
12+
<a href="{% url 'oidc_provider:provider-info' %}">{% url 'oidc_provider:provider-info' %}"</a>
13+
</code>
14+
</p>
15+
16+
{% endblock %}
17+

release-coverage.json.gz

-6 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)