From 51a8dc2326490dc490863d2b9afb7545ec516d14 Mon Sep 17 00:00:00 2001 From: Tim Babych Date: Thu, 24 Jul 2014 19:12:11 +0300 Subject: [PATCH] Make test_export_all_courses do not rely on the order in which files are returned by os.walk(). --- .../commands/tests/test_cleanup_assets.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/cms/djangoapps/contentstore/management/commands/tests/test_cleanup_assets.py b/cms/djangoapps/contentstore/management/commands/tests/test_cleanup_assets.py index 748884a7bb..6c7dfc8628 100644 --- a/cms/djangoapps/contentstore/management/commands/tests/test_cleanup_assets.py +++ b/cms/djangoapps/contentstore/management/commands/tests/test_cleanup_assets.py @@ -43,8 +43,7 @@ class ExportAllCourses(ModuleStoreTestCase): # check that there are two assets ['example.txt', '.example.txt'] in contentstore for imported course all_assets, count = self.content_store.get_all_content_for_course(course.id) self.assertEqual(count, 2) - self.assertEqual(all_assets[0]['_id']['name'], u'.example.txt') - self.assertEqual(all_assets[1]['_id']['name'], u'example.txt') + self.assertEqual(set([asset['_id']['name'] for asset in all_assets]), set([u'.example.txt', u'example.txt'])) # manually add redundant assets (file ".DS_Store" and filename starts with "._") course_filter = course.id.make_asset_key("asset", None) @@ -59,14 +58,12 @@ class ExportAllCourses(ModuleStoreTestCase): # check that now course has four assets all_assets, count = self.content_store.get_all_content_for_course(course.id) self.assertEqual(count, 4) - self.assertEqual(all_assets[0]['_id']['name'], u'.example.txt') - self.assertEqual(all_assets[1]['_id']['name'], u'example.txt') - self.assertEqual(all_assets[2]['_id']['name'], u'._example_test.txt') - self.assertEqual(all_assets[3]['_id']['name'], u'.DS_Store') - + self.assertEqual( + set([asset['_id']['name'] for asset in all_assets]), + set([u'.example.txt', u'example.txt', u'._example_test.txt', u'.DS_Store']) + ) # now call asset_cleanup command and check that there is only two proper assets in contentstore for the course call_command('cleanup_assets') all_assets, count = self.content_store.get_all_content_for_course(course.id) self.assertEqual(count, 2) - self.assertEqual(all_assets[0]['_id']['name'], u'.example.txt') - self.assertEqual(all_assets[1]['_id']['name'], u'example.txt') + self.assertEqual(set([asset['_id']['name'] for asset in all_assets]), set([u'.example.txt', u'example.txt']))