diff --git a/cms/djangoapps/contentstore/tests/test_contentstore.py b/cms/djangoapps/contentstore/tests/test_contentstore.py index 32928bb2fd..6f40ac0e53 100644 --- a/cms/djangoapps/contentstore/tests/test_contentstore.py +++ b/cms/djangoapps/contentstore/tests/test_contentstore.py @@ -170,6 +170,16 @@ class ContentStoreToyCourseTest(ModuleStoreTestCase): resp = self.client.get(reverse('edit_unit', kwargs={'location': descriptor.location.url()})) self.assertEqual(resp.status_code, 200) + def lockAnAsset(self, content_store, course_location): + """ + Lock an arbitrary asset in the course + :param course_location: + """ + course_assets = content_store.get_all_content_for_course(course_location) + self.assertGreater(len(course_assets), 0, "No assets to lock") + content_store.set_attr(course_assets[0]['_id'], 'locked', True) + return course_assets[0]['_id'] + def test_edit_unit_toy(self): self.check_edit_unit('toy') @@ -952,6 +962,11 @@ class ContentStoreToyCourseTest(ModuleStoreTestCase): self.assertIn(private_location_no_draft.url(), sequential.children) + locked_asset = self.lockAnAsset(content_store, location) + locked_asset_attrs = content_store.get_attrs(locked_asset) + # the later import will reupload + del locked_asset_attrs['uploadDate'] + print 'Exporting to tempdir = {0}'.format(root_dir) # export out to a tempdir @@ -1034,6 +1049,10 @@ class ContentStoreToyCourseTest(ModuleStoreTestCase): self.assertGreater(len(course.textbooks), 0) + new_attrs = content_store.get_attrs(locked_asset) + for key, value in locked_asset_attrs.iteritems(): + self.assertEqual(value, new_attrs[key]) + shutil.rmtree(root_dir) def test_export_course_with_metadata_only_video(self):