@@ -28,6 +28,68 @@ def test_read_tc_properties(monkeypatch: MonkeyPatch) -> None:
28
28
assert config .tc_properties == {"tc.host" : "some_value" }
29
29
30
30
31
+ def test_set_tc_properties (monkeypatch : MonkeyPatch ) -> None :
32
+ """
33
+ Ensure the configuration file variables can be read if no environment variable is set
34
+ """
35
+ with tempfile .TemporaryDirectory () as tmpdirname :
36
+ file = f"{ tmpdirname } /{ TC_FILE } "
37
+ with open (file , "w" ) as f :
38
+ f .write ("ryuk.disabled=true\n " )
39
+ f .write ("ryuk.container.privileged=false\n " )
40
+
41
+ monkeypatch .setattr ("testcontainers.core.config.TC_GLOBAL" , file )
42
+
43
+ config = TCC ()
44
+
45
+ assert config .ryuk_disabled == True
46
+ assert config .ryuk_privileged == False
47
+
48
+
49
+ def test_override_tc_properties_1 (monkeypatch : MonkeyPatch ) -> None :
50
+ """
51
+ Ensure that we can re-set the configuration variables programattically to override
52
+ testcontainers.properties
53
+ """
54
+ with tempfile .TemporaryDirectory () as tmpdirname :
55
+ file = f"{ tmpdirname } /{ TC_FILE } "
56
+ with open (file , "w" ) as f :
57
+ f .write ("ryuk.disabled=true\n " )
58
+ f .write ("ryuk.container.privileged=false\n " )
59
+
60
+ monkeypatch .setattr ("testcontainers.core.config.TC_GLOBAL" , file )
61
+
62
+ config = TCC ()
63
+ config .ryuk_disabled = False
64
+ config .ryuk_privileged = True
65
+
66
+ assert config .ryuk_disabled == False
67
+ assert config .ryuk_privileged == True
68
+
69
+
70
+ def test_override_tc_properties_2 (monkeypatch : MonkeyPatch ) -> None :
71
+ """
72
+ Ensure that we can override the testcontainers.properties with environment variables
73
+ """
74
+ with tempfile .TemporaryDirectory () as tmpdirname :
75
+ file = f"{ tmpdirname } /{ TC_FILE } "
76
+ with open (file , "w" ) as f :
77
+ f .write ("ryuk.disabled=true\n " )
78
+ f .write ("ryuk.container.privileged=false\n " )
79
+
80
+ monkeypatch .setattr ("testcontainers.core.config.TC_GLOBAL" , file )
81
+
82
+ import os
83
+
84
+ os .environ ["TESTCONTAINERS_RYUK_DISABLED" ] = "false"
85
+ os .environ ["TESTCONTAINERS_RYUK_PRIVILEGED" ] = "true"
86
+
87
+ config = TCC ()
88
+
89
+ assert config .ryuk_disabled == False
90
+ assert config .ryuk_privileged == True
91
+
92
+
31
93
@mark .parametrize ("docker_auth_config_env" , ["key=value" , "" ])
32
94
@mark .parametrize ("warning_dict" , [{}, {"key" : "value" }, {"DOCKER_AUTH_CONFIG" : "TEST" }])
33
95
@mark .parametrize ("warning_dict_post" , [{}, {"key" : "value" }, {"DOCKER_AUTH_CONFIG" : "TEST" }])
0 commit comments