Skip to content

Commit

Permalink
Clean up test deps and add tests for urls
Browse files Browse the repository at this point in the history
  • Loading branch information
Jonathan Davila committed Nov 2, 2017
1 parent 46cffe8 commit 8e1842c
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 16 deletions.
5 changes: 0 additions & 5 deletions setup.py
Expand Up @@ -53,11 +53,6 @@
],
tests_require=[
'django',
'coverage',
'pylint',
'pep8',
'pyflakes',
'coveralls'
],
extras_require={
'dev': ['check-manifest'],
Expand Down
8 changes: 0 additions & 8 deletions src/django_saml2_pro_auth/release.py

This file was deleted.

12 changes: 9 additions & 3 deletions src/django_saml2_pro_auth/urls.py
Expand Up @@ -5,10 +5,16 @@

from . import views

# pragma: no cover
SAML_ROUTE = settings.SAML_ROUTE
AUTH = r'^' + SAML_ROUTE + '$'
METADATA = r'^' + SAML_ROUTE + 'metadata/$'

if SAML_ROUTE.strip()[-1] == '/':
SAML_ROUTE = SAML_ROUTE.rstrip('/')

if SAML_ROUTE.strip()[0] == '/':
SAML_ROUTE = SAML_ROUTE.lstrip('/')

AUTH = r'^' + SAML_ROUTE + '/$'
METADATA = r'^' + SAML_ROUTE + '/metadata/$'

urlpatterns = [
url(AUTH, views.saml_login, name='saml2_auth'),
Expand Down
59 changes: 59 additions & 0 deletions tests/test_urls.py
@@ -0,0 +1,59 @@
from django.test import TestCase
from django.conf import settings
from django.urls import resolve, reverse
from django.test.utils import override_settings

import onelogin


from . import init_test_settings

test_settings = init_test_settings()

try:
settings.configure(**test_settings)
except RuntimeError:
# already configured in other test
pass

settings.SAML_ROUTE = '/sso/saml'
settings.ROOT_URLCONF = 'django_saml2_pro_auth.urls'

from django_saml2_pro_auth.urls import urlpatterns, SAML_ROUTE, AUTH, METADATA

class TestURLS(TestCase):
def test_url_constants(self):
self.assertEqual(SAML_ROUTE, 'sso/saml')
self.assertEqual(AUTH, '^sso/saml/$')
self.assertEqual(METADATA, '^sso/saml/metadata/$')


def test_url_names_with_start_forward_slash(self):
self.assertEqual(reverse('saml2_auth'), '/sso/saml/')
self.assertEqual(reverse('metadata'), '/sso/saml/metadata/')

def test_url_resolving_with_start_forward_slash(self):
self.assertEqual(resolve('/sso/saml/').view_name, 'saml2_auth')
self.assertEqual(resolve('/sso/saml/metadata/').view_name, 'metadata')

@override_settings(SAML_ROUTE='/sso/saml/')
def test_url_names_with_end_forward_slash(self):
self.assertEqual(reverse('saml2_auth'), '/sso/saml/')
self.assertEqual(reverse('metadata'), '/sso/saml/metadata/')

@override_settings(SAML_ROUTE='/sso/saml/')
def test_url_resolving_with_end_forward_slash(self):
self.assertEqual(resolve('/sso/saml/').view_name, 'saml2_auth')
self.assertEqual(resolve('/sso/saml/metadata/').view_name, 'metadata')

@override_settings(SAML_ROUTE='sso/saml')
def test_url_names_with_no_rl_slashes(self):
self.assertEqual(reverse('saml2_auth'), '/sso/saml/')
self.assertEqual(reverse('metadata'), '/sso/saml/metadata/')

@override_settings(SAML_ROUTE='sso/saml')
def test_url_resolving_with_no_rl_slashes(self):
self.assertEqual(resolve('/sso/saml/').view_name, 'saml2_auth')
self.assertEqual(resolve('/sso/saml/metadata/').view_name, 'metadata')


0 comments on commit 8e1842c

Please sign in to comment.