From 6174e4deb62c0a397ccf00602c5d10c4a4a1febb Mon Sep 17 00:00:00 2001 From: John Eskew Date: Fri, 5 Jan 2018 14:43:50 -0500 Subject: [PATCH] Ensure npm install before static asset pipeline tests. --- .../djangoapps/pipeline_mako/tests/test_render.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/common/djangoapps/pipeline_mako/tests/test_render.py b/common/djangoapps/pipeline_mako/tests/test_render.py index 9a7d6254ac..ff9b00fb12 100644 --- a/common/djangoapps/pipeline_mako/tests/test_render.py +++ b/common/djangoapps/pipeline_mako/tests/test_render.py @@ -3,6 +3,7 @@ from unittest import skipUnless import ddt +import os from django.conf import settings from django.test import TestCase from paver.easy import call_task @@ -49,6 +50,19 @@ class PipelineRenderTest(TestCase): Create static assets once for all pipeline render tests. """ super(PipelineRenderTest, cls).setUpClass() + # Ensure that the npm requirements are always installed before updating static assets. + prereq_install_value_orig = os.environ.get('NO_PREREQ_INSTALL') + os.environ['NO_PREREQ_INSTALL'] = 'False' + try: + call_task('pavelib.prereqs.install_node_prereqs') + except: + raise + finally: + if prereq_install_value_orig is None: + del os.environ['NO_PREREQ_INSTALL'] + else: + os.environ['NO_PREREQ_INSTALL'] = prereq_install_value_orig + # Update all static assets. call_task('pavelib.assets.update_assets', args=('lms', '--settings=test', '--themes=no')) @skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in LMS')