Exemple #1
0
    def test_black_run(self) -> None:
        """Pretend to run Black to ensure we cater for all scenarios"""
        loop = asyncio.get_event_loop()
        repo_path = Path(gettempdir())
        project_config = deepcopy(FAKE_PROJECT_CONFIG)
        results = lib.Results({"failed": 0, "success": 0}, {})

        # Test a successful Black run
        with patch("black_primer.lib._gen_check_output", return_subproccess_output):
            loop.run_until_complete(lib.black_run(repo_path, project_config, results))
        self.assertEqual(1, results.stats["success"])
        self.assertFalse(results.failed_projects)

        # Test a fail based on expecting formatting changes but not getting any
        project_config["expect_formatting_changes"] = True
        results = lib.Results({"failed": 0, "success": 0}, {})
        with patch("black_primer.lib._gen_check_output", return_subproccess_output):
            loop.run_until_complete(lib.black_run(repo_path, project_config, results))
        self.assertEqual(1, results.stats["failed"])
        self.assertTrue(results.failed_projects)

        # Test a fail based on returning 1 and not expecting formatting changes
        project_config["expect_formatting_changes"] = False
        results = lib.Results({"failed": 0, "success": 0}, {})
        with patch("black_primer.lib._gen_check_output", raise_subprocess_error_1):
            loop.run_until_complete(lib.black_run(repo_path, project_config, results))
        self.assertEqual(1, results.stats["failed"])
        self.assertTrue(results.failed_projects)

        # Test a formatting error based on returning 123
        with patch("black_primer.lib._gen_check_output", raise_subprocess_error_123):
            loop.run_until_complete(lib.black_run(repo_path, project_config, results))
        self.assertEqual(2, results.stats["failed"])
Exemple #2
0
 def test_analyze_results(self) -> None:
     fake_results = lib.Results(
         {
             "disabled": 0,
             "failed": 1,
             "skipped_long_checkout": 0,
             "success": 68,
             "wrong_py_ver": 0,
         },
         {"black": CalledProcessError(69, ["black"], b"Black didn't work", b"")},
     )
     with capture_stdout(lib.analyze_results, 69, fake_results) as analyze_stdout:
         self.assertEqual(EXPECTED_ANALYSIS_OUTPUT, analyze_stdout)
Exemple #3
0
 def test_analyze_results(self) -> None:
     fake_results = lib.Results(
         {
             'disabled': 0,
             'failed': 1,
             'skipped_long_checkout': 0,
             'success': 68,
             'wrong_py_ver': 0,
         },
         {
             'black':
             CalledProcessError(69, ['black'], b"Black didn't work", b'')
         },
     )
     with capture_stdout(lib.analyze_results, 69,
                         fake_results) as analyze_stdout:
         self.assertEqual(EXPECTED_ANALYSIS_OUTPUT, analyze_stdout)