Ejemplo n.º 1
0
 def test_domain_url(self):
     """
     Domain and URL attributes
     """
     instance = OpenEdXInstanceFactory(
         internal_lms_domain='sample.example.org', name='Sample Instance'
     )
     internal_lms_domain = 'sample.example.org'
     internal_lms_preview_domain = 'preview-sample.example.org'
     internal_studio_domain = 'studio-sample.example.org'
     self.assertEqual(instance.internal_lms_domain, internal_lms_domain)
     self.assertEqual(instance.internal_lms_preview_domain, internal_lms_preview_domain)
     self.assertEqual(instance.internal_studio_domain, internal_studio_domain)
     # External domains are empty by default.
     self.assertEqual(instance.external_lms_domain, '')
     self.assertEqual(instance.external_lms_preview_domain, '')
     self.assertEqual(instance.external_studio_domain, '')
     # When external domain is empty, main domains/URLs equal internal domains.
     self.assertEqual(instance.domain, internal_lms_domain)
     self.assertEqual(instance.lms_preview_domain, internal_lms_preview_domain)
     self.assertEqual(instance.studio_domain, internal_studio_domain)
     self.assertEqual(instance.studio_domain_nginx_regex, r'~^(studio\-sample\.example\.org)$')
     self.assertEqual(instance.url, 'http://{}/'.format(internal_lms_domain))
     self.assertEqual(instance.lms_preview_url, 'http://{}/'.format(internal_lms_preview_domain))
     self.assertEqual(instance.studio_url, 'http://{}/'.format(internal_studio_domain))
     self.assertEqual(str(instance), 'Sample Instance (sample.example.org)')
     # External domains take precedence over internal domains.
     external_lms_domain = 'external.domain.com'
     external_lms_preview_domain = 'lms-preview.external.domain.com'
     external_studio_domain = 'external-studio.domain.com'
     instance.external_lms_domain = external_lms_domain
     instance.external_lms_preview_domain = external_lms_preview_domain
     instance.external_studio_domain = external_studio_domain
     # Internal domains are still the same.
     self.assertEqual(instance.internal_lms_domain, internal_lms_domain)
     self.assertEqual(instance.internal_lms_preview_domain, internal_lms_preview_domain)
     self.assertEqual(instance.internal_studio_domain, internal_studio_domain)
     # Default domains will now equal external domains.
     self.assertEqual(instance.domain, external_lms_domain)
     self.assertEqual(instance.lms_preview_domain, external_lms_preview_domain)
     self.assertEqual(instance.studio_domain, external_studio_domain)
     self.assertEqual(
         instance.studio_domain_nginx_regex,
         r'~^(external\-studio\.domain\.com|studio\-sample\.example\.org)$'
     )
     self.assertEqual(instance.url, 'http://{}/'.format(external_lms_domain))
     self.assertEqual(instance.lms_preview_url, 'http://{}/'.format(external_lms_preview_domain))
     self.assertEqual(instance.studio_url, 'http://{}/'.format(external_studio_domain))
     self.assertEqual(str(instance), 'Sample Instance (external.domain.com)')
     # URLs respect the protocol setting.
     instance.protocol = 'https'
     self.assertEqual(instance.url, 'https://{}/'.format(external_lms_domain))
     self.assertEqual(instance.lms_preview_url, 'https://{}/'.format(external_lms_preview_domain))
     self.assertEqual(instance.studio_url, 'https://{}/'.format(external_studio_domain))