Python upgrades (django-config-models v2)+
Some tests that used to mock the cache internals of ConfigurationModels had to be modified to use CacheIsolationTestCase instead (the things they were mocking no longer exist).
This commit is contained in:
@@ -16,6 +16,7 @@ from django.utils.six import StringIO
|
||||
from requests import exceptions
|
||||
from requests.models import Response
|
||||
|
||||
from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
|
||||
from third_party_auth.tests.factories import SAMLConfigurationFactory, SAMLProviderConfigFactory
|
||||
|
||||
|
||||
@@ -47,7 +48,7 @@ def mock_get(status_code=200):
|
||||
|
||||
|
||||
@unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms')
|
||||
class TestSAMLCommand(TestCase):
|
||||
class TestSAMLCommand(CacheIsolationTestCase):
|
||||
"""
|
||||
Test django management command for fetching saml metadata.
|
||||
"""
|
||||
|
||||
@@ -17,6 +17,7 @@ from django.contrib.sites.models import Site
|
||||
from mako.template import Template
|
||||
from provider import constants
|
||||
from provider.oauth2.models import Client as OAuth2Client
|
||||
from openedx.core.djangolib.testing.utils import CacheIsolationMixin
|
||||
from openedx.core.storage import OverwriteStorage
|
||||
|
||||
from third_party_auth.models import (
|
||||
@@ -188,7 +189,7 @@ class ThirdPartyAuthTestMixin(object):
|
||||
return f.read()
|
||||
|
||||
|
||||
class TestCase(ThirdPartyAuthTestMixin, django.test.TestCase):
|
||||
class TestCase(ThirdPartyAuthTestMixin, CacheIsolationMixin, django.test.TestCase):
|
||||
"""Base class for auth test cases."""
|
||||
def setUp(self):
|
||||
super(TestCase, self).setUp()
|
||||
|
||||
@@ -2,19 +2,18 @@
|
||||
|
||||
|
||||
import ddt
|
||||
import mock
|
||||
|
||||
from django.test import TestCase, override_settings
|
||||
|
||||
from openedx.core.djangoapps.catalog.tests import mixins
|
||||
from openedx.core.djangoapps.site_configuration.tests.test_util import with_site_configuration
|
||||
from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
|
||||
|
||||
COURSE_CATALOG_API_URL = 'https://api.example.com/v1/'
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
# ConfigurationModels use the cache. Make every cache get a miss.
|
||||
@mock.patch('config_models.models.cache.get', return_value=None)
|
||||
class TestCatalogIntegration(mixins.CatalogIntegrationMixin, TestCase):
|
||||
class TestCatalogIntegration(mixins.CatalogIntegrationMixin, CacheIsolationTestCase):
|
||||
"""Tests covering the CatalogIntegration model."""
|
||||
|
||||
def assert_get_internal_api_url_value(self, expected):
|
||||
@@ -27,13 +26,13 @@ class TestCatalogIntegration(mixins.CatalogIntegrationMixin, TestCase):
|
||||
(1, True),
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_cache_control(self, cache_ttl, is_cache_enabled, _mock_cache):
|
||||
def test_cache_control(self, cache_ttl, is_cache_enabled):
|
||||
"""Test the behavior of the property controlling whether API responses are cached."""
|
||||
catalog_integration = self.create_catalog_integration(cache_ttl=cache_ttl)
|
||||
self.assertEqual(catalog_integration.is_cache_enabled, is_cache_enabled)
|
||||
|
||||
@override_settings(COURSE_CATALOG_API_URL=COURSE_CATALOG_API_URL)
|
||||
def test_get_internal_api_url(self, _mock_cache):
|
||||
def test_get_internal_api_url(self):
|
||||
""" Requests made without a microsite should return the value from settings. """
|
||||
self.assert_get_internal_api_url_value(COURSE_CATALOG_API_URL)
|
||||
catalog_integration = self.create_catalog_integration()
|
||||
@@ -41,14 +40,14 @@ class TestCatalogIntegration(mixins.CatalogIntegrationMixin, TestCase):
|
||||
|
||||
@override_settings(COURSE_CATALOG_API_URL=COURSE_CATALOG_API_URL)
|
||||
@with_site_configuration(configuration={})
|
||||
def test_get_internal_api_url_without_microsite_override(self, _mock_cache):
|
||||
def test_get_internal_api_url_without_microsite_override(self):
|
||||
""" Requests made to microsites that do not have COURSE_CATALOG_API_URL overridden should
|
||||
return the default value from settings. """
|
||||
self.assert_get_internal_api_url_value(COURSE_CATALOG_API_URL)
|
||||
|
||||
@override_settings(COURSE_CATALOG_API_URL=COURSE_CATALOG_API_URL)
|
||||
@with_site_configuration(configuration={'COURSE_CATALOG_API_URL': 'foo'})
|
||||
def test_get_internal_api_url_with_microsite_override(self, _mock_cache):
|
||||
def test_get_internal_api_url_with_microsite_override(self):
|
||||
""" If a microsite has overridden the value of COURSE_CATALOG_API_URL, the overridden
|
||||
value should be returned. """
|
||||
self.assert_get_internal_api_url_value('foo')
|
||||
|
||||
@@ -439,7 +439,7 @@ class TestGetLocalizedPriceText(TestCase):
|
||||
|
||||
@skip_unless_lms
|
||||
@mock.patch(UTILS_MODULE + '.get_edx_api_data')
|
||||
class TestGetCourseRuns(CatalogIntegrationMixin, TestCase):
|
||||
class TestGetCourseRuns(CatalogIntegrationMixin, CacheIsolationTestCase):
|
||||
"""
|
||||
Tests covering retrieval of course runs from the catalog service.
|
||||
"""
|
||||
@@ -474,6 +474,7 @@ class TestGetCourseRuns(CatalogIntegrationMixin, TestCase):
|
||||
Verify that no errors occur when catalog config is missing.
|
||||
"""
|
||||
CatalogIntegration.objects.all().delete()
|
||||
self.clear_caches()
|
||||
|
||||
data = get_course_runs()
|
||||
self.assertFalse(mock_get_edx_api_data.called)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
common/lib/sandbox-packages
|
||||
common/lib/symmath
|
||||
git+https://github.com/edx/openedx-calc.git@e9b698c85ad1152002bc0868f475f153dce88952#egg=calc==0.4
|
||||
cffi==1.13.2
|
||||
cffi==1.14.0
|
||||
git+https://github.com/edx/openedx-chem.git@ff4e3a03d3c7610e47a9af08eb648d8aabe2eb18#egg=chem==1.0.0
|
||||
cryptography==2.8
|
||||
cycler==0.10.0 # via matplotlib
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
# make upgrade
|
||||
#
|
||||
cffi==1.13.2 # via cryptography
|
||||
cffi==1.14.0 # via cryptography
|
||||
cryptography==2.8
|
||||
lxml==4.5.0
|
||||
nltk==3.4.5
|
||||
|
||||
@@ -38,7 +38,7 @@ git+https://github.com/edx/bridgekeeper.git@2423e8d8788c2132ebeec509e1a7b17e1f5b
|
||||
git+https://github.com/edx/openedx-calc.git@e9b698c85ad1152002bc0868f475f153dce88952#egg=calc==0.4
|
||||
celery==3.1.25
|
||||
certifi==2019.11.28
|
||||
cffi==1.13.2
|
||||
cffi==1.14.0
|
||||
chardet==3.0.4
|
||||
git+https://github.com/edx/openedx-chem.git@ff4e3a03d3c7610e47a9af08eb648d8aabe2eb18#egg=chem==1.0.0
|
||||
click==7.0 # via code-annotations, user-util
|
||||
@@ -57,7 +57,7 @@ django-babel-underscore==0.5.2
|
||||
django-babel==0.6.2 # via django-babel-underscore
|
||||
git+https://github.com/edx/django-celery.git@756cb57aad765cb2b0d37372c1855b8f5f37e6b0#egg=django-celery==3.2.1+edx.2
|
||||
django-classy-tags==1.0.0 # via django-sekizai
|
||||
django-config-models==1.0.4
|
||||
django-config-models==2.0.0
|
||||
django-cors-headers==2.5.3
|
||||
django-countries==5.5
|
||||
django-crum==0.7.5
|
||||
|
||||
@@ -42,7 +42,7 @@ git+https://github.com/edx/bridgekeeper.git@2423e8d8788c2132ebeec509e1a7b17e1f5b
|
||||
git+https://github.com/edx/openedx-calc.git@e9b698c85ad1152002bc0868f475f153dce88952#egg=calc==0.4
|
||||
celery==3.1.25
|
||||
certifi==2019.11.28
|
||||
cffi==1.13.2
|
||||
cffi==1.14.0
|
||||
chardet==3.0.4
|
||||
git+https://github.com/edx/openedx-chem.git@ff4e3a03d3c7610e47a9af08eb648d8aabe2eb18#egg=chem==1.0.0
|
||||
click-log==0.3.2
|
||||
@@ -67,7 +67,7 @@ django-babel-underscore==0.5.2
|
||||
django-babel==0.6.2
|
||||
git+https://github.com/edx/django-celery.git@756cb57aad765cb2b0d37372c1855b8f5f37e6b0#egg=django-celery==3.2.1+edx.2
|
||||
django-classy-tags==1.0.0
|
||||
django-config-models==1.0.4
|
||||
django-config-models==2.0.0
|
||||
django-cors-headers==2.5.3
|
||||
django-countries==5.5
|
||||
django-crum==0.7.5
|
||||
|
||||
@@ -41,7 +41,7 @@ git+https://github.com/edx/bridgekeeper.git@2423e8d8788c2132ebeec509e1a7b17e1f5b
|
||||
git+https://github.com/edx/openedx-calc.git@e9b698c85ad1152002bc0868f475f153dce88952#egg=calc==0.4
|
||||
celery==3.1.25
|
||||
certifi==2019.11.28
|
||||
cffi==1.13.2
|
||||
cffi==1.14.0
|
||||
chardet==3.0.4
|
||||
git+https://github.com/edx/openedx-chem.git@ff4e3a03d3c7610e47a9af08eb648d8aabe2eb18#egg=chem==1.0.0
|
||||
click-log==0.3.2 # via edx-lint
|
||||
@@ -66,7 +66,7 @@ django-babel-underscore==0.5.2
|
||||
django-babel==0.6.2
|
||||
git+https://github.com/edx/django-celery.git@756cb57aad765cb2b0d37372c1855b8f5f37e6b0#egg=django-celery==3.2.1+edx.2
|
||||
django-classy-tags==1.0.0
|
||||
django-config-models==1.0.4
|
||||
django-config-models==2.0.0
|
||||
django-cors-headers==2.5.3
|
||||
django-countries==5.5
|
||||
django-crum==0.7.5
|
||||
|
||||
Reference in New Issue
Block a user