@@ -284,3 +284,74 @@ def test_remote_modify_default(dvc):
284
284
285
285
assert repo_config ["core" ]["remote" ] == remote_repo
286
286
assert local_config ["core" ]["remote" ] == remote_local
287
+
288
+
289
+ def test_remote_rename (dvc ):
290
+ remote_name = "drive"
291
+ remote_url = "gdrive://test/test"
292
+ new_name = "new"
293
+ other_name = "other"
294
+ # prepare
295
+ assert main (["remote" , "add" , remote_name , remote_url ]) == 0
296
+ config = dvc .config .load_one ("repo" )
297
+ assert config ["remote" ][remote_name ]["url" ] == remote_url
298
+ assert new_name not in config .get ("remote" , {})
299
+
300
+ # rename failed
301
+ assert main (["remote" , "rename" , remote_name ]) == 254
302
+ assert main (["remote" , "rename" , new_name , other_name ]) == 251
303
+ config = dvc .config .load_one ("repo" )
304
+ assert config ["remote" ][remote_name ]["url" ] == remote_url
305
+ assert new_name not in config .get ("remote" , {})
306
+
307
+ # rename success
308
+ assert main (["remote" , "rename" , remote_name , new_name ]) == 0
309
+ config = dvc .config .load_one ("repo" )
310
+ assert remote_name not in config .get ("remote" , {})
311
+ assert config ["remote" ][new_name ]["url" ] == remote_url
312
+
313
+
314
+ def test_remote_duplicated (dvc ):
315
+ remote_name = "drive"
316
+ remote_url = "gdrive://test/test"
317
+ used_name = "overlap"
318
+ another_url = "gdrive://test/test1"
319
+ # prepare
320
+ assert main (["remote" , "add" , remote_name , remote_url ]) == 0
321
+ assert main (["remote" , "add" , "--local" , used_name , another_url ]) == 0
322
+ config = dvc .config .load_one ("repo" )
323
+ assert config ["remote" ][remote_name ]["url" ] == remote_url
324
+ local_config = dvc .config .load_one ("local" )
325
+ assert local_config ["remote" ][used_name ]["url" ] == another_url
326
+
327
+ # rename duplicated
328
+ assert main (["remote" , "rename" , remote_name , used_name ]) == 251
329
+ config = dvc .config .load_one ("repo" )
330
+ assert config ["remote" ][remote_name ]["url" ] == remote_url
331
+ local_config = dvc .config .load_one ("local" )
332
+ assert local_config ["remote" ][used_name ]["url" ] == another_url
333
+
334
+
335
+ def test_remote_default (dvc ):
336
+ remote_name = "drive"
337
+ remote_url = "gdrive://test/test"
338
+ new_name = "new"
339
+ # prepare
340
+ assert main (["remote" , "add" , "-d" , remote_name , remote_url ]) == 0
341
+ assert main (["remote" , "default" , "--local" , remote_name ]) == 0
342
+ config = dvc .config .load_one ("repo" )
343
+ assert config ["core" ]["remote" ] == remote_name
344
+ assert config ["remote" ][remote_name ]["url" ] == remote_url
345
+ assert new_name not in config .get ("remote" , {})
346
+ local_config = dvc .config .load_one ("local" )
347
+ assert local_config ["core" ]["remote" ] == remote_name
348
+
349
+ # rename success
350
+ assert main (["remote" , "rename" , remote_name , new_name ]) == 0
351
+ config = dvc .config .load_one ("repo" )
352
+ assert remote_name not in config .get ("remote" , {})
353
+ assert config ["core" ]["remote" ] == new_name
354
+ assert config ["remote" ][new_name ]["url" ] == remote_url
355
+ assert remote_name not in config .get ("remote" , {})
356
+ local_config = dvc .config .load_one ("local" )
357
+ assert local_config ["core" ]["remote" ] == new_name
0 commit comments