@@ -257,6 +257,54 @@ def test_create_parse_host_port(self, mock):
257
257
]
258
258
self .assertEqual (expected_ports , actual_ports )
259
259
260
+ @requests_mock .Mocker ()
261
+ def test_create_userns_mode_simple (self , mock ):
262
+ mock_response = MagicMock ()
263
+ mock_response .json = lambda : {
264
+ "Id" : "87e1325c82424e49a00abdd4de08009eb76c7de8d228426a9b8af9318ced5ecd" ,
265
+ "Size" : 1024 ,
266
+ }
267
+ self .client .containers .client .post = MagicMock (return_value = mock_response )
268
+ mock .get (
269
+ tests .LIBPOD_URL
270
+ + "/containers/87e1325c82424e49a00abdd4de08009eb76c7de8d228426a9b8af9318ced5ecd/json" ,
271
+ json = FIRST_CONTAINER ,
272
+ )
273
+
274
+ userns = "keep-id"
275
+ self .client .containers .create ("fedora" , "/usr/bin/ls" , userns_mode = userns )
276
+ self .client .containers .client .post .assert_called ()
277
+ expected_userns = {"nsmode" : userns }
278
+
279
+ actual_userns = json .loads (self .client .containers .client .post .call_args [1 ]["data" ])[
280
+ "userns"
281
+ ]
282
+ self .assertEqual (expected_userns , actual_userns )
283
+
284
+ @requests_mock .Mocker ()
285
+ def test_create_userns_mode_dict (self , mock ):
286
+ mock_response = MagicMock ()
287
+ mock_response .json = lambda : {
288
+ "Id" : "87e1325c82424e49a00abdd4de08009eb76c7de8d228426a9b8af9318ced5ecd" ,
289
+ "Size" : 1024 ,
290
+ }
291
+ self .client .containers .client .post = MagicMock (return_value = mock_response )
292
+ mock .get (
293
+ tests .LIBPOD_URL
294
+ + "/containers/87e1325c82424e49a00abdd4de08009eb76c7de8d228426a9b8af9318ced5ecd/json" ,
295
+ json = FIRST_CONTAINER ,
296
+ )
297
+
298
+ userns = {"nsmode" : "keep-id" , "value" : "uid=900" }
299
+ self .client .containers .create ("fedora" , "/usr/bin/ls" , userns_mode = userns )
300
+ self .client .containers .client .post .assert_called ()
301
+ expected_userns = dict (** userns )
302
+
303
+ actual_userns = json .loads (self .client .containers .client .post .call_args [1 ]["data" ])[
304
+ "userns"
305
+ ]
306
+ self .assertEqual (expected_userns , actual_userns )
307
+
260
308
def test_create_unsupported_key (self ):
261
309
with self .assertRaises (TypeError ):
262
310
self .client .containers .create ("fedora" , "/usr/bin/ls" , blkio_weight = 100.0 )
0 commit comments