|
20 | 20 | import os |
21 | 21 | import json |
22 | 22 | import shutil |
23 | | -import builtins |
24 | 23 | from unittest import mock |
25 | 24 | from charon.utils.files import overwrite_file |
26 | 25 | from charon.pkgs.radas_sign import generate_radas_sign |
@@ -68,20 +67,14 @@ def test_sign_files_generation_with_failure(self): |
68 | 67 | expected_asc1 = os.path.join(self.__repo_dir, "foo/bar/1.0/foo-bar-1.0.jar.asc") |
69 | 68 | expected_asc2 = os.path.join(self.__repo_dir, "foo/bar/2.0/foo-bar-2.0.jar.asc") |
70 | 69 |
|
71 | | - # simulate expected_asc1 can not open to write properly |
72 | | - real_open = builtins.open |
73 | | - with mock.patch("builtins.open") as mock_open: |
74 | | - def side_effect(path, *args, **kwargs): |
75 | | - # this is for pylint check |
76 | | - mode = "r" |
77 | | - if len(args) > 0: |
78 | | - mode = args[0] |
79 | | - elif "mode" in kwargs: |
80 | | - mode = kwargs["mode"] |
81 | | - if path == expected_asc1 and "w" in mode: |
| 70 | + # simulate expected_asc1 can not be written properly |
| 71 | + real_overwrite = overwrite_file |
| 72 | + with mock.patch("charon.pkgs.radas_sign.files.overwrite_file") as mock_overwrite: |
| 73 | + def side_effect(path, content): |
| 74 | + if path == expected_asc1: |
82 | 75 | raise IOError("mock write error") |
83 | | - return real_open(path, *args, **kwargs) |
84 | | - mock_open.side_effect = side_effect |
| 76 | + return real_overwrite(path, content) |
| 77 | + mock_overwrite.side_effect = side_effect |
85 | 78 | failed, generated = generate_radas_sign(self.__repo_dir, self.__sign_result_file) |
86 | 79 |
|
87 | 80 | self.assertEqual(len(failed), 1) |
|
0 commit comments