remote: error out when modifying a non-existing remote

Close #3131
This commit is contained in:
Mr. Outis
2020-01-13 18:29:40 -06:00
parent fe635a5040
commit ff094b2560
2 changed files with 12 additions and 4 deletions
+3 -2
View File
@@ -3,8 +3,7 @@ import os
import posixpath
from urllib.parse import urlparse
from dvc.config import Config
from dvc.config import ConfigError
from dvc.config import Config, ConfigError
from dvc.utils import relpath
@@ -134,6 +133,8 @@ class RemoteConfig(object):
break
def modify(self, name, option, value, level=None):
self.get_settings(name)
self.config.set(
Config.SECTION_REMOTE_FMT.format(name), option, value, level=level
)
+9 -2
View File
@@ -6,7 +6,7 @@ import configobj
import pytest
from mock import patch
from dvc.config import Config
from dvc.config import Config, ConfigError
from dvc.exceptions import DownloadError, UploadError
from dvc.main import main
from dvc.path_info import PathInfo
@@ -31,10 +31,10 @@ class TestRemote(TestDvc):
self.assertEqual(main(["remote", "list"]), 0)
self.assertEqual(main(["remote", "remove", remotes[0]]), 0)
self.assertEqual(
main(["remote", "modify", remotes[0], "option", "value"]), 0
)
self.assertEqual(main(["remote", "remove", remotes[0]]), 0)
self.assertEqual(main(["remote", "list"]), 0)
@@ -250,3 +250,10 @@ def test_raise_on_too_many_open_files(tmp_dir, dvc, tmp_path_factory, mocker):
with pytest.raises(OSError) as e:
dvc.push()
assert e.errno == errno.EMFILE
def test_modify_missing_remote(dvc):
remote_config = RemoteConfig(dvc.config)
with pytest.raises(ConfigError, match=r"unable to find remote section"):
remote_config.modify("myremote", "gdrive_client_id", "xxx")