Added documentation of the OpenID Connect and version endpoints to /api/. Added some tests.
- Legacy-Id: 18487
This commit is contained in:
parent
ac31ea1f5d
commit
724e982a1c
|
@ -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 = {}
|
||||
|
|
|
@ -261,6 +261,24 @@
|
|||
</pre>
|
||||
</div>
|
||||
|
||||
<h3 id="openid-connect" class="anchor-target">OpenID Connect</h3>
|
||||
<div>
|
||||
<p>
|
||||
The datatracker supports <a href="https://openid.net/connect/">OpenID Connect</a>, but
|
||||
not dynamic registration. The OpenID Connect Issuer is
|
||||
<code> {{ settings.IDTRACKER_BASE_URL }}{% url 'ietf.api.urls.oidc_issuer' %} </code>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h3 id="datatracker-version" class="anchor-target">Datatracker Version</h3>
|
||||
<div>
|
||||
<p>
|
||||
The datatracker version and release/patch date is available as a JSON blob at
|
||||
<code><a href="{% url 'ietf.api.views.version' %}">{% url 'ietf.api.views.version' %}</a></code>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h3 id="personal-api-keys" class="anchor-target">Personal API Keys</h3>
|
||||
<div>
|
||||
<p>
|
||||
|
@ -346,15 +364,17 @@ payload = jwstoken.payload
|
|||
|
||||
<div class="col-md-1 hidden-print bs-docs-sidebar" id="affix">
|
||||
<ul class="nav nav-pills nav-stacked small fixed" data-spy="affix">
|
||||
|
||||
<li><a href="#framework">Framework API</a></li>
|
||||
<li><a href="#framework-documents"> Framework API: Documents</a></li>
|
||||
<li><a href="#simplified-documents">Simplified documents API</a></li>
|
||||
<li><a href="#iesg-position-api">IESG ballot position API</a></li>
|
||||
<li><a href="#session-video-url-api">Set session video URL API</a></li>
|
||||
<li><a href="#openid-connect">OpenID Connect</a></li>
|
||||
<li><a href="#datatracker-version">Datatracker Version</a></li>
|
||||
<li><a href="#personal-api-keys">Personal API keys</a></li>
|
||||
<li><a href="#signing-keys">Signing keys</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
17
ietf/templates/api/openid-issuer.html
Normal file
17
ietf/templates/api/openid-issuer.html
Normal file
|
@ -0,0 +1,17 @@
|
|||
{# Copyright The IETF Trust 2007, All Rights Reserved #}
|
||||
{% extends "base.html" %}
|
||||
{% block title %}OpenID Connect Issuer{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h2>OpenID Connect Issuer</h2>
|
||||
<p>
|
||||
This is the IETF Datatracker's OpenID Connect Issuer endpoint.
|
||||
The OpenID Connect provider info is at
|
||||
<code>
|
||||
<a href="{% url 'oidc_provider:provider-info' %}">{% url 'oidc_provider:provider-info' %}"</a>
|
||||
</code>
|
||||
</p>
|
||||
|
||||
{% endblock %}
|
||||
|
Binary file not shown.
Loading…
Reference in a new issue