Skip to content

Commit 6efa15b

Browse files
Merge pull request #183 from jscotka/tempfile
fix tempfile handling Reviewed-by: None <None>
2 parents 4be1b6b + faff308 commit 6efa15b

11 files changed

+2877
-1363
lines changed

requre/helpers/tempfile.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,36 @@
2727
from typing import Optional, Any
2828
from requre.cassette import Cassette, CassetteExecution
2929
from requre.objects import ObjectStorage
30+
from requre.helpers.simple_object import Simple
31+
from warnings import warn
3032

3133
logger = logging.getLogger(__name__)
3234

3335

36+
class MkTemp(Simple):
37+
"""
38+
decorate mktemp method wrapper
39+
"""
40+
41+
pass
42+
43+
44+
class MkDTemp(Simple):
45+
"""
46+
decorate mkdtemp method wrapper
47+
"""
48+
49+
def from_serializable(self, data: Any) -> Any:
50+
os.makedirs(data, exist_ok=True)
51+
return data
52+
53+
3454
class TempFile(ObjectStorage):
3555
"""
3656
replace system tempfile module with own predictable names implementation
3757
of temp files for mocking
58+
59+
Warn: Replaced by new implementations MkDTemp and MkTemp classes
3860
"""
3961

4062
root = "/tmp"
@@ -81,6 +103,7 @@ def mktemp(cls, cassette: Optional[Cassette] = None) -> Any:
81103
:return: CassetteExecution class with function and cassette instance
82104
83105
"""
106+
warn("Please replace it by MkTemp.decorator_plain()")
84107
casex = CassetteExecution()
85108
casex.cassette = cassette or cls.get_cassette()
86109
casex.obj_cls = cls
@@ -105,6 +128,7 @@ def mkdtemp(cls, cassette: Optional[Cassette] = None) -> Any:
105128
:return: CassetteExecution class with function and cassette instance
106129
107130
"""
131+
warn("Please replace it by class mkdtemp MkDTemp.decorator_plain()")
108132
casex = CassetteExecution()
109133
casex.cassette = cassette or cls.get_cassette()
110134
casex.obj_cls = cls

requre/modules_decorate_all_methods.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
apply_decorator_to_all_methods,
55
record_requests_for_all_methods,
66
)
7-
from requre.helpers.tempfile import TempFile
7+
from requre.helpers.tempfile import MkTemp, MkDTemp
88
from requre.cassette import Cassette
99
from requre.constants import TEST_METHOD_REGEXP
1010
from requre.helpers.git.repo import Repo
@@ -47,8 +47,8 @@ def record_tempfile_module(
4747
regexp_method_pattern=TEST_METHOD_REGEXP,
4848
):
4949
decorators = [
50-
("tempfile.mkdtemp", TempFile.mkdtemp()),
51-
("tempfile.mktemp", TempFile.mktemp()),
50+
("tempfile.mkdtemp", MkDTemp.decorator_plain()),
51+
("tempfile.mktemp", MkTemp.decorator_plain()),
5252
]
5353
return __replace_module_match_with_multiple_decorators(
5454
*decorators,

0 commit comments

Comments
 (0)