Files
edx-platform/pavelib/paver_tests/test_xsscommitlint.py
2021-03-05 15:24:59 +05:00

47 lines
1.4 KiB
Python

"""
Tests for paver xsscommitlint quality tasks
"""
from unittest.mock import patch
import pytest
from paver.easy import call_task
import pavelib.quality
from .utils import PaverTestCase
class PaverXSSCommitLintTest(PaverTestCase):
"""
Test run_xsscommitlint with a mocked environment in order to pass in
opts.
"""
def setUp(self):
super().setUp()
self.reset_task_messages()
@patch.object(pavelib.quality, '_write_metric')
@patch.object(pavelib.quality, '_prepare_report_dir')
@patch.object(pavelib.quality, '_get_xsscommitlint_count')
def test_xsscommitlint_violation_number_not_found(self, _mock_count, _mock_report_dir, _mock_write_metric):
"""
run_xsscommitlint encounters an error parsing the xsscommitlint output
log.
"""
_mock_count.return_value = None
with pytest.raises(SystemExit):
call_task('pavelib.quality.run_xsscommitlint')
@patch.object(pavelib.quality, '_write_metric')
@patch.object(pavelib.quality, '_prepare_report_dir')
@patch.object(pavelib.quality, '_get_xsscommitlint_count')
def test_xsscommitlint_vanilla(self, _mock_count, _mock_report_dir, _mock_write_metric):
"""
run_xsscommitlint finds violations.
"""
_mock_count.return_value = 0
call_task('pavelib.quality.run_xsscommitlint')