8
8
from dangerzone import container_utils , errors
9
9
from dangerzone .isolation_provider .container import Container
10
10
from dangerzone .isolation_provider .qubes import is_qubes_native_conversion
11
+ from dangerzone .util import get_resource_path
11
12
12
13
from .base import IsolationProviderTermination , IsolationProviderTest
13
14
@@ -47,7 +48,7 @@ def test_is_available_works(self, provider: Container, fp: FakeProcess) -> None:
47
48
provider .is_available ()
48
49
49
50
def test_install_raise_if_image_cant_be_installed (
50
- self , mocker : MockerFixture , provider : Container , fp : FakeProcess
51
+ self , provider : Container , fp : FakeProcess
51
52
) -> None :
52
53
"""When an image installation fails, an exception should be raised"""
53
54
@@ -68,19 +69,21 @@ def test_install_raise_if_image_cant_be_installed(
68
69
occurrences = 2 ,
69
70
)
70
71
71
- # Make podman load fail
72
- mocker .patch ("builtins.open" , mocker .mock_open (read_data = "" ))
73
-
74
72
fp .register_subprocess (
75
- [container_utils .get_runtime (), "load" ],
73
+ [
74
+ container_utils .get_runtime (),
75
+ "load" ,
76
+ "-i" ,
77
+ get_resource_path ("container.tar" ),
78
+ ],
76
79
returncode = - 1 ,
77
80
)
78
81
79
82
with pytest .raises (errors .ImageInstallationException ):
80
83
provider .install ()
81
84
82
85
def test_install_raises_if_still_not_installed (
83
- self , mocker : MockerFixture , provider : Container , fp : FakeProcess
86
+ self , provider : Container , fp : FakeProcess
84
87
) -> None :
85
88
"""When an image keep being not installed, it should return False"""
86
89
fp .register_subprocess (
@@ -105,10 +108,13 @@ def test_install_raises_if_still_not_installed(
105
108
occurrences = 2 ,
106
109
)
107
110
108
- # Patch open and podman load so that it works
109
- mocker .patch ("builtins.open" , mocker .mock_open (read_data = "" ))
110
111
fp .register_subprocess (
111
- [container_utils .get_runtime (), "load" ],
112
+ [
113
+ container_utils .get_runtime (),
114
+ "load" ,
115
+ "-i" ,
116
+ get_resource_path ("container.tar" ),
117
+ ],
112
118
)
113
119
with pytest .raises (errors .ImageNotPresentException ):
114
120
provider .install ()
@@ -195,7 +201,7 @@ def test_docker_desktop_version_failure_returns_true(
195
201
reason = "Linux specific" ,
196
202
)
197
203
def test_linux_skips_desktop_version_check_returns_true (
198
- self , mocker : MockerFixture , provider : Container
204
+ self , provider : Container
199
205
) -> None :
200
206
assert (True , "" ) == provider .check_docker_desktop_version ()
201
207
0 commit comments