Merge pull request #14368 from edx/beryl/bt_version_checking

Fix Block Transformer version checking so cache can be pre-populated
This commit is contained in:
Nimisha Asthagiri
2017-01-23 14:28:47 -05:00
committed by GitHub
2 changed files with 4 additions and 2 deletions

View File

@@ -169,8 +169,10 @@ class TestBlockStructureManager(TestCase, ChildrenMapTestMixin):
def test_get_collected_outdated_data(self):
self.collect_and_verify(expect_modulestore_called=True, expect_cache_updated=True)
TestTransformer1.VERSION += 1
TestTransformer1.VERSION += 1 # transformer code requires new schema version
self.collect_and_verify(expect_modulestore_called=True, expect_cache_updated=True)
TestTransformer1.VERSION -= 1 # old transformer code works with new schema version
self.collect_and_verify(expect_modulestore_called=False, expect_cache_updated=False)
self.assertEquals(TestTransformer1.collect_call_count, 2)
def test_get_collected_version_update(self):

View File

@@ -90,7 +90,7 @@ class BlockStructureTransformers(object):
outdated_transformers = []
for transformer in TransformerRegistry.get_registered_transformers():
version_in_block_structure = block_structure._get_transformer_data_version(transformer) # pylint: disable=protected-access
if transformer.VERSION != version_in_block_structure:
if transformer.VERSION > version_in_block_structure:
outdated_transformers.append(transformer)
if outdated_transformers: