@@ -28,6 +28,68 @@ def test_read_tc_properties(monkeypatch: MonkeyPatch) -> None:
2828 assert config .tc_properties == {"tc.host" : "some_value" }
2929
3030
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+
3193@mark .parametrize ("docker_auth_config_env" , ["key=value" , "" ])
3294@mark .parametrize ("warning_dict" , [{}, {"key" : "value" }, {"DOCKER_AUTH_CONFIG" : "TEST" }])
3395@mark .parametrize ("warning_dict_post" , [{}, {"key" : "value" }, {"DOCKER_AUTH_CONFIG" : "TEST" }])
0 commit comments