diff --git a/common/djangoapps/third_party_auth/tests/specs/base.py b/common/djangoapps/third_party_auth/tests/specs/base.py index 570906b6cf..b510c26106 100644 --- a/common/djangoapps/third_party_auth/tests/specs/base.py +++ b/common/djangoapps/third_party_auth/tests/specs/base.py @@ -47,9 +47,6 @@ class IntegrationTestMixin(object): super(IntegrationTestMixin, self).setUp() self.login_page_url = reverse('signin_user') self.register_page_url = reverse('register_user') - # Set the server name: - self.client.defaults['SERVER_NAME'] = 'example.none' # The SAML lib we use doesn't like testserver' as a domain - self.url_prefix = 'http://example.none' patcher = testutil.patch_mako_templates() patcher.start() self.addCleanup(patcher.stop) @@ -104,9 +101,9 @@ class IntegrationTestMixin(object): def test_login(self): user = UserFactory.create() - # The user goes to the login page, and sees a button to login with TestShib: + # The user goes to the login page, and sees a button to login with this provider: provider_login_url = self._check_login_page() - # The user clicks on the TestShib button: + # The user clicks on the provider's button: try_login_response = self.client.get(provider_login_url) # The user should be redirected to the provider's login page: self.assertEqual(try_login_response.status_code, 302) @@ -148,9 +145,9 @@ class IntegrationTestMixin(object): # Make sure we're not logged in: dashboard_response = self.client.get(reverse('dashboard')) self.assertEqual(dashboard_response.status_code, 302) - # The user goes to the login page, and sees a button to login with TestShib: + # The user goes to the login page, and sees a button to login with this provider: provider_login_url = self._check_login_page() - # The user clicks on the TestShib button: + # The user clicks on the provider's login button: try_login_response = self.client.get(provider_login_url) # The user should be redirected to the provider: self.assertEqual(try_login_response.status_code, 302) @@ -164,7 +161,7 @@ class IntegrationTestMixin(object): if user_is_activated: url_expected = reverse('dashboard') else: - url_expected = '/auth/inactive?next=/dashboard' + url_expected = reverse('third_party_inactive_redirect') + '?next=' + reverse('dashboard') self.assertEqual(login_response['Location'], self.url_prefix + url_expected) # Now we are logged in: dashboard_response = self.client.get(reverse('dashboard')) diff --git a/common/djangoapps/third_party_auth/tests/specs/test_lti.py b/common/djangoapps/third_party_auth/tests/specs/test_lti.py index d6622def7e..9d7469f282 100644 --- a/common/djangoapps/third_party_auth/tests/specs/test_lti.py +++ b/common/djangoapps/third_party_auth/tests/specs/test_lti.py @@ -29,6 +29,8 @@ class IntegrationTestLTI(testutil.TestCase): def setUp(self): super(IntegrationTestLTI, self).setUp() + self.client.defaults['SERVER_NAME'] = 'testserver' + self.url_prefix = 'http://testserver' self.configure_lti_provider( name='Other Tool Consumer 1', enabled=True, lti_consumer_key='other1', diff --git a/common/djangoapps/third_party_auth/tests/testutil.py b/common/djangoapps/third_party_auth/tests/testutil.py index baf1ec5ca4..36ac1c698c 100644 --- a/common/djangoapps/third_party_auth/tests/testutil.py +++ b/common/djangoapps/third_party_auth/tests/testutil.py @@ -155,7 +155,12 @@ class ThirdPartyAuthTestMixin(object): class TestCase(ThirdPartyAuthTestMixin, django.test.TestCase): """Base class for auth test cases.""" - pass + def setUp(self): + super(TestCase, self).setUp() + # Explicitly set a server name that is compatible with all our providers: + # (The SAML lib we use doesn't like the default 'testserver' as a domain) + self.client.defaults['SERVER_NAME'] = 'example.none' + self.url_prefix = 'http://example.none' class SAMLTestCase(TestCase): diff --git a/common/djangoapps/third_party_auth/urls.py b/common/djangoapps/third_party_auth/urls.py index 69c600932b..152ffe4777 100644 --- a/common/djangoapps/third_party_auth/urls.py +++ b/common/djangoapps/third_party_auth/urls.py @@ -6,7 +6,7 @@ from .views import inactive_user_view, saml_metadata_view, lti_login_and_complet urlpatterns = patterns( '', - url(r'^auth/inactive', inactive_user_view), + url(r'^auth/inactive', inactive_user_view, name="third_party_inactive_redirect"), url(r'^auth/saml/metadata.xml', saml_metadata_view), url(r'^auth/login/(?Plti)/$', lti_login_and_complete_view), url(r'^auth/', include('social.apps.django_app.urls', namespace='social')),