Esempio n. 1
0
 def test_enterprise_elements_inserted(self):
     settings.apply_settings(self.settings)
     self.assertIn(
         'enterprise.tpa_pipeline.set_data_sharing_consent_record',
         self.settings.SOCIAL_AUTH_PIPELINE)
     self.assertIn('enterprise.tpa_pipeline.verify_data_sharing_consent',
                   self.settings.SOCIAL_AUTH_PIPELINE)
Esempio n. 2
0
 def test_apply_settings_prepends_auth_backends(self):
     self.assertEqual(_ORIGINAL_AUTHENTICATION_BACKENDS, self.settings.AUTHENTICATION_BACKENDS)
     settings.apply_settings({provider.GoogleOauth2.NAME: {}, provider.MozillaPersona.NAME: {}}, self.settings)
     self.assertEqual((
         provider.GoogleOauth2.AUTHENTICATION_BACKEND, provider.MozillaPersona.AUTHENTICATION_BACKEND) +
         _ORIGINAL_AUTHENTICATION_BACKENDS,
         self.settings.AUTHENTICATION_BACKENDS)
Esempio n. 3
0
 def test_can_enable_google_oauth2(self):
     auth_settings.apply_settings(
         {'Google': {
             'SOCIAL_AUTH_GOOGLE_OAUTH2_KEY': 'google_key'
         }}, settings)
     self.assertEqual([provider.GoogleOauth2], provider.Registry.enabled())
     self.assertEqual('google_key', settings.SOCIAL_AUTH_GOOGLE_OAUTH2_KEY)
Esempio n. 4
0
 def test_apply_settings_prepends_auth_backends(self):
     self.assertEqual(_ORIGINAL_AUTHENTICATION_BACKENDS, self.settings.AUTHENTICATION_BACKENDS)
     settings.apply_settings({provider.GoogleOauth2.NAME: {}, provider.LinkedInOauth2.NAME: {}}, self.settings)
     self.assertEqual((
         provider.GoogleOauth2.get_authentication_backend(), provider.LinkedInOauth2.get_authentication_backend()) +
         _ORIGINAL_AUTHENTICATION_BACKENDS,
         self.settings.AUTHENTICATION_BACKENDS)
Esempio n. 5
0
 def _enable_third_party_auth(self):
     """
     Enable the use of third_party_auth, which allows users to sign in to edX
     using other identity providers. For configuration details, see
     common/djangoapps/third_party_auth/settings.py.
     """
     from third_party_auth import settings as auth_settings
     auth_settings.apply_settings(settings)
Esempio n. 6
0
 def configure_runtime(self):
     """Configures settings details."""
     auth_settings.apply_settings(
         {self.PROVIDER_CLASS.NAME: self.PROVIDER_SETTINGS},
         django_settings)
     # Force settings to propagate into cached members on
     # social.apps.django_app.utils.
     reload(social_utils)
Esempio n. 7
0
 def test_can_enable_linkedin_oauth2(self):
     auth_settings.apply_settings(
         {'LinkedIn': {
             'SOCIAL_AUTH_LINKEDIN_OAUTH2_KEY': 'linkedin_key'
         }}, settings)
     self.assertEqual([provider.LinkedInOauth2],
                      provider.Registry.enabled())
     self.assertEqual('linkedin_key',
                      settings.SOCIAL_AUTH_LINKEDIN_OAUTH2_KEY)
Esempio n. 8
0
 def test_apply_settings_raises_value_error_if_provider_contains_uninitialized_setting(self):
     bad_setting_name = 'bad_setting'
     self.assertNotIn('bad_setting_name', provider.GoogleOauth2.SETTINGS)
     auth_info = {
         provider.GoogleOauth2.NAME: {
             bad_setting_name: None,
         },
     }
     with self.assertRaisesRegexp(ValueError, '^.*not initialized$'):
         settings.apply_settings(auth_info, self.settings)
Esempio n. 9
0
 def test_apply_settings_avoids_default_username_check(self):
     # Avoid the default username check where non-ascii characters are not
     # allowed when unicode username is enabled
     settings.apply_settings(self.settings)
     self.assertTrue(self.settings.SOCIAL_AUTH_CLEAN_USERNAMES
                     )  # verify default behavior
     with patch.dict('django.conf.settings.FEATURES',
                     {'ENABLE_UNICODE_USERNAME': True}):
         settings.apply_settings(self.settings)
         self.assertFalse(self.settings.SOCIAL_AUTH_CLEAN_USERNAMES)
Esempio n. 10
0
 def test_apply_settings_raises_value_error_if_provider_contains_uninitialized_setting(
         self):
     bad_setting_name = 'bad_setting'
     self.assertNotIn('bad_setting_name', provider.GoogleOauth2.SETTINGS)
     auth_info = {
         provider.GoogleOauth2.NAME: {
             bad_setting_name: None,
         },
     }
     with self.assertRaisesRegexp(ValueError, '^.*not initialized$'):
         settings.apply_settings(auth_info, self.settings)
Esempio n. 11
0
    def test_apply_settings_initializes_stubs_and_merges_settings_from_auth_info(self):
        for key in provider.GoogleOauth2.SETTINGS:
            self.assertFalse(hasattr(self.settings, key))

        auth_info = {
            provider.GoogleOauth2.NAME: {
                'SOCIAL_AUTH_GOOGLE_OAUTH2_KEY': 'google_oauth2_key',
            },
        }
        settings.apply_settings(auth_info, self.settings)
        self.assertEqual('google_oauth2_key', self.settings.SOCIAL_AUTH_GOOGLE_OAUTH2_KEY)
        self.assertIsNone(self.settings.SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET)
Esempio n. 12
0
 def test_apply_settings_prepends_auth_backends(self):
     self.assertEqual(_ORIGINAL_AUTHENTICATION_BACKENDS,
                      self.settings.AUTHENTICATION_BACKENDS)
     settings.apply_settings(
         {
             provider.GoogleOauth2.NAME: {},
             provider.LinkedInOauth2.NAME: {}
         }, self.settings)
     self.assertEqual(
         (provider.GoogleOauth2.get_authentication_backend(),
          provider.LinkedInOauth2.get_authentication_backend()) +
         _ORIGINAL_AUTHENTICATION_BACKENDS,
         self.settings.AUTHENTICATION_BACKENDS)
Esempio n. 13
0
    def test_apply_settings_initializes_stubs_and_merges_settings_from_auth_info(
            self):
        for key in provider.GoogleOauth2.SETTINGS:
            self.assertFalse(hasattr(self.settings, key))

        auth_info = {
            provider.GoogleOauth2.NAME: {
                'SOCIAL_AUTH_GOOGLE_OAUTH2_KEY': 'google_oauth2_key',
            },
        }
        settings.apply_settings(auth_info, self.settings)
        self.assertEqual('google_oauth2_key',
                         self.settings.SOCIAL_AUTH_GOOGLE_OAUTH2_KEY)
        self.assertIsNone(self.settings.SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET)
Esempio n. 14
0
def run():
    """
    Executed during django startup
    """
    django_utils_translation.patch()

    autostartup()

    add_mimetypes()

    if settings.FEATURES.get('ENABLE_THIRD_PARTY_AUTH', False):
        from third_party_auth import settings as auth_settings
        auth_settings.apply_settings(settings)

    if settings.FEATURES.get('USE_CUSTOM_THEME', False):
        enable_theme()
Esempio n. 15
0
def run():
    """
    Executed during django startup
    """
    django_utils_translation.patch()

    autostartup()

    add_mimetypes()

    if settings.FEATURES.get('ENABLE_THIRD_PARTY_AUTH', False):
        from third_party_auth import settings as auth_settings
        auth_settings.apply_settings(settings)

    if settings.FEATURES.get('USE_CUSTOM_THEME', False):
        enable_theme()
Esempio n. 16
0
 def test_apply_settings_adds_third_party_auth_to_installed_apps(self):
     settings.apply_settings(self.settings)
     self.assertIn('third_party_auth', self.settings.INSTALLED_APPS)
Esempio n. 17
0
 def test_apply_settings_adds_fields_stored_in_session(self):
     settings.apply_settings(self.settings)
     self.assertEqual(['auth_entry', 'next'],
                      self.settings.FIELDS_STORED_IN_SESSION)
Esempio n. 18
0
 def test_apply_settings_adds_fields_stored_in_session(self):
     settings.apply_settings(self.settings)
     self.assertEqual(settings._FIELDS_STORED_IN_SESSION,
                      self.settings.FIELDS_STORED_IN_SESSION)
Esempio n. 19
0
 def test_apply_settings_turns_off_redirect_sanitization(self):
     settings.apply_settings(self.settings)
     self.assertFalse(self.settings.SOCIAL_AUTH_SANITIZE_REDIRECTS)
Esempio n. 20
0
 def test_apply_settings_adds_exception_middleware(self):
     settings.apply_settings(self.settings)
     self.assertIn('third_party_auth.middleware.ExceptionMiddleware', self.settings.MIDDLEWARE_CLASSES)
Esempio n. 21
0
 def test_apply_settings_adds_exception_middleware(self):
     settings.apply_settings({}, self.settings)
     for middleware_name in settings._MIDDLEWARE_CLASSES:
         self.assertIn(middleware_name, self.settings.MIDDLEWARE_CLASSES)
Esempio n. 22
0
 def test_apply_settings_adds_third_party_auth_to_installed_apps(self):
     settings.apply_settings({}, self.settings)
     self.assertIn('third_party_auth', self.settings.INSTALLED_APPS)
Esempio n. 23
0
 def test_enterprise_elements_inserted(self):
     settings.apply_settings(self.settings)
     self.assertIn('enterprise.tpa_pipeline.set_data_sharing_consent_record', self.settings.SOCIAL_AUTH_PIPELINE)
     self.assertIn('enterprise.tpa_pipeline.verify_data_sharing_consent', self.settings.SOCIAL_AUTH_PIPELINE)
Esempio n. 24
0
 def test_can_enable_mozilla_persona(self):
     auth_settings.apply_settings({'Mozilla Persona': {}}, settings)
     self.assertEqual([provider.MozillaPersona],
                      provider.Registry.enabled())
Esempio n. 25
0
 def test_enterprise_elements_inserted(self):
     settings.apply_settings(self.settings)
     self.assertIn('enterprise.tpa_pipeline.handle_enterprise_logistration',
                   self.settings.SOCIAL_AUTH_PIPELINE)
Esempio n. 26
0
 def test_apply_settings_enables_no_providers_and_completes_when_app_info_empty(
         self):
     settings.apply_settings({}, self.settings)
     self.assertEqual([], provider.Registry.enabled())
Esempio n. 27
0
 def test_apply_settings_enables_no_providers_by_default(self):
     # Providers are only enabled via ConfigurationModels in the database
     settings.apply_settings(self.settings)
     self.assertEqual([], provider.Registry.enabled())
Esempio n. 28
0
 def test_enterprise_elements_inserted(self):
     settings.apply_settings(self.settings)
     self.assertIn('enterprise.tpa_pipeline.handle_enterprise_logistration', self.settings.SOCIAL_AUTH_PIPELINE)
Esempio n. 29
0
 def test_apply_settings_turns_off_redirect_sanitization(self):
     settings.apply_settings(self.settings)
     self.assertFalse(self.settings.SOCIAL_AUTH_SANITIZE_REDIRECTS)
Esempio n. 30
0
 def test_apply_settings_enables_no_providers_by_default(self):
     # Providers are only enabled via ConfigurationModels in the database
     settings.apply_settings(self.settings)
     self.assertEqual([], provider.Registry.enabled())
Esempio n. 31
0
 def configure_runtime(self):
     """Configures settings details."""
     auth_settings.apply_settings({self.PROVIDER_CLASS.NAME: self.PROVIDER_SETTINGS}, django_settings)
     # Force settings to propagate into cached members on
     # social.apps.django_app.utils.
     reload(social_utils)
Esempio n. 32
0
 def test_apply_settings_turns_off_raising_social_exceptions(self):
     # Guard against submitting a conf change that's convenient in dev but
     # bad in prod.
     settings.apply_settings(self.settings)
     self.assertFalse(self.settings.SOCIAL_AUTH_RAISE_EXCEPTIONS)
 def test_can_enable_google_oauth2(self):
     auth_settings.apply_settings({'Google': {'SOCIAL_AUTH_GOOGLE_OAUTH2_KEY': 'google_key'}}, settings)
     self.assertEqual([provider.GoogleOauth2], provider.Registry.enabled())
     self.assertEqual('google_key', settings.SOCIAL_AUTH_GOOGLE_OAUTH2_KEY)
Esempio n. 34
0
 def test_apply_settings_adds_fields_stored_in_session(self):
     settings.apply_settings({}, self.settings)
     self.assertEqual(settings._FIELDS_STORED_IN_SESSION, self.settings.FIELDS_STORED_IN_SESSION)
 def test_can_enable_linkedin_oauth2(self):
     auth_settings.apply_settings({'LinkedIn': {'SOCIAL_AUTH_LINKEDIN_OAUTH2_KEY': 'linkedin_key'}}, settings)
     self.assertEqual([provider.LinkedInOauth2], provider.Registry.enabled())
     self.assertEqual('linkedin_key', settings.SOCIAL_AUTH_LINKEDIN_OAUTH2_KEY)
Esempio n. 36
0
 def test_apply_settings_enables_no_providers_and_completes_when_app_info_empty(self):
     settings.apply_settings({}, self.settings)
     self.assertEqual([], provider.Registry.enabled())
 def test_can_enable_mozilla_persona(self):
     auth_settings.apply_settings({'Mozilla Persona': {}}, settings)
     self.assertEqual([provider.MozillaPersona], provider.Registry.enabled())
Esempio n. 38
0
 def test_apply_settings_adds_fields_stored_in_session(self):
     settings.apply_settings(self.settings)
     self.assertEqual(['auth_entry', 'next'], self.settings.FIELDS_STORED_IN_SESSION)
Esempio n. 39
0
 def test_apply_settings_adds_exception_middleware(self):
     settings.apply_settings(self.settings)
     for middleware_name in settings._MIDDLEWARE_CLASSES:
         self.assertIn(middleware_name, self.settings.MIDDLEWARE_CLASSES)
Esempio n. 40
0
 def test_apply_settings_turns_off_raising_social_exceptions(self):
     # Guard against submitting a conf change that's convenient in dev but
     # bad in prod.
     settings.apply_settings({}, self.settings)
     self.assertFalse(self.settings.SOCIAL_AUTH_RAISE_EXCEPTIONS)
Esempio n. 41
0
 def test_apply_settings_adds_exception_middleware(self):
     settings.apply_settings(self.settings)
     self.assertIn('third_party_auth.middleware.ExceptionMiddleware',
                   self.settings.MIDDLEWARE_CLASSES)