summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlastimil Zíma <vlastimil.zima@nic.cz>2018-11-14 13:23:06 +0100
committerVlastimil Zíma <vlastimil.zima@nic.cz>2018-11-14 13:23:06 +0100
commit50caa1b02bd39046dea48e00cbef3fa69f1d911f (patch)
tree82d9e5cd5d4a7f90f1686314e723a7a0fd4a550f
parent651ea5d17fcfc841748e611e45339527e3f398a9 (diff)
parent14e765802f7265e84f5db01625e73e7417e99c5d (diff)
downloadopenid-50caa1b02bd39046dea48e00cbef3fa69f1d911f.tar.gz
Merge branch 'fix-examples'
-rw-r--r--examples/djopenid/README8
-rw-r--r--examples/djopenid/consumer/tests.py56
-rw-r--r--examples/djopenid/consumer/views.py4
-rw-r--r--examples/djopenid/settings.py6
4 files changed, 65 insertions, 9 deletions
diff --git a/examples/djopenid/README b/examples/djopenid/README
index e803648..1b42d37 100644
--- a/examples/djopenid/README
+++ b/examples/djopenid/README
@@ -12,9 +12,9 @@ SETUP
1. Install the OpenID library, version 2.0.0 or later.
- 2. Install Django 0.95.1.
+ 2. Install Django.
- If you find that the examples run on even newer versions of
+ If you find that the examples doesn't run on newer versions of
Django, please let us know!
3. Modify djopenid/settings.py appropriately; you may wish to change
@@ -23,11 +23,11 @@ SETUP
4. In examples/djopenid/ run:
- python manage.py syncdb
+ python manage.py migrate
5. To run the example consumer or server, run
- python manage.py runserver PORT
+ python manage.py runserver [PORT]
where PORT is the port number on which to listen.
diff --git a/examples/djopenid/consumer/tests.py b/examples/djopenid/consumer/tests.py
new file mode 100644
index 0000000..c6b7b26
--- /dev/null
+++ b/examples/djopenid/consumer/tests.py
@@ -0,0 +1,56 @@
+"""Test the consumer."""
+from __future__ import unicode_literals
+
+import django
+from django.test import TestCase
+from openid.fetchers import setDefaultFetcher, HTTPResponse
+from openid.yadis.constants import YADIS_CONTENT_TYPE
+
+# Allow django tests to run through discover
+django.setup()
+
+
+EXAMPLE_XRDS = b'''<?xml version="1.0" encoding="UTF-8"?>
+<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)">
+ <XRD>
+ <Service priority="0">
+ <Type>http://specs.openid.net/auth/2.0/server</Type>
+ <URI>http://example.com/</URI>
+ </Service>
+ </XRD>
+</xrds:XRDS>'''
+
+
+class FakeFetcher(object):
+ """Fake fetcher for tests."""
+
+ def __init__(self):
+ self.response = None
+
+ def fetch(self, *args, **kwargs):
+ return self.response
+
+
+class TestStartOpenID(TestCase):
+ """Test 'startOpenID' view."""
+
+ def setUp(self):
+ self.fetcher = FakeFetcher()
+ setDefaultFetcher(self.fetcher)
+
+ def tearDown(self):
+ setDefaultFetcher(None)
+
+ def test_get(self):
+ response = self.client.get('/consumer/')
+ self.assertContains(response, ' example consumer ')
+
+ def test_post(self):
+ self.fetcher.response = HTTPResponse('http://example.com/', 200, {'content-type': YADIS_CONTENT_TYPE},
+ EXAMPLE_XRDS)
+
+ response = self.client.post('/consumer/', {'openid_identifier': 'http://example.com/'})
+
+ # Renders a POST form
+ self.assertContains(response, 'http://example.com/')
+ self.assertContains(response, 'openid.identity')
diff --git a/examples/djopenid/consumer/views.py b/examples/djopenid/consumer/views.py
index 6a8e2a4..0d2d821 100644
--- a/examples/djopenid/consumer/views.py
+++ b/examples/djopenid/consumer/views.py
@@ -116,8 +116,8 @@ def startOpenID(request):
# Compute the trust root and return URL values to build the
# redirect information.
- trust_root = util.request.build_absolute_uri(reverse('consumer:index'))
- return_to = util.request.build_absolute_uri(reverse('consumer:return_to'))
+ trust_root = request.build_absolute_uri(reverse('consumer:index'))
+ return_to = request.build_absolute_uri(reverse('consumer:return_to'))
# Send the browser to the server either by sending a redirect
# URL or by generating a POST form.
diff --git a/examples/djopenid/settings.py b/examples/djopenid/settings.py
index dad0aa1..fd1a2ff 100644
--- a/examples/djopenid/settings.py
+++ b/examples/djopenid/settings.py
@@ -24,6 +24,8 @@ DATABASES = {
}
SECRET_KEY = 'u^bw6lmsa6fah0$^lz-ct$)y7x7#ag92-z+y45-8!(jk0lkavy'
+SESSION_ENGINE = 'django.contrib.sessions.backends.file'
+SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
TEMPLATES = [
{
@@ -34,10 +36,8 @@ TEMPLATES = [
]
MIDDLEWARE = (
- 'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.middleware.doc.XViewMiddleware',
+ 'django.middleware.common.CommonMiddleware',
)
ROOT_URLCONF = 'djopenid.urls'