Skip to content

Commit

Permalink
Fix apiurl_aliases handling in OscOptions.__getitem__
Browse files Browse the repository at this point in the history
  • Loading branch information
dmach committed Oct 23, 2023
1 parent ea7bebf commit 6fb84de
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 3 deletions.
2 changes: 1 addition & 1 deletion osc/commandline.py
Original file line number Diff line number Diff line change
Expand Up @@ -3870,7 +3870,7 @@ def do_copypac(self, subcmd, opts, *args):

src_apiurl = conf.config['apiurl']
if opts.to_apiurl:
tgt_apiurl = conf.config['apiurl_aliases'].get(opts.to_apiurl, opts.to_apiurl)
tgt_apiurl = conf.config.apiurl_aliases.get(opts.to_apiurl, opts.to_apiurl)

Check warning on line 3873 in osc/commandline.py

View check run for this annotation

Codecov / codecov/patch

osc/commandline.py#L3873

Added line #L3873 was not covered by tests
else:
tgt_apiurl = src_apiurl

Expand Down
6 changes: 4 additions & 2 deletions osc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,9 @@ def _get_field_name(self, name):
def __getitem__(self, name):
field_name = self._get_field_name(name)

if field_name is None:
if name == "apiurl_aliases" and hasattr(self, "apiurl_aliases"):
return self.apiurl_aliases
elif field_name is None:
return self.extra_fields[name]

try:
Expand Down Expand Up @@ -1617,7 +1619,7 @@ def config_set_option(section, opt, val=None, delete=False, update=True, creds_m
cp = get_configParser(config['conffile'])

if section != 'general':
section = config['apiurl_aliases'].get(section, section)
section = config.apiurl_aliases.get(section, section)

Check warning on line 1622 in osc/conf.py

View check run for this annotation

Codecov / codecov/patch

osc/conf.py#L1622

Added line #L1622 was not covered by tests
scheme, host, path = \
parse_apisrv_url(config.get('scheme', 'https'), section)
section = urljoin(scheme, host, path)
Expand Down
7 changes: 7 additions & 0 deletions tests/test_conf.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import importlib
import os
import shutil
import tempfile
Expand Down Expand Up @@ -104,6 +105,7 @@

class TestExampleConfig(unittest.TestCase):
def setUp(self):
importlib.reload(osc.conf)
self.tmpdir = tempfile.mkdtemp(prefix="osc_test_")
self.oscrc = os.path.join(self.tmpdir, "oscrc")
with open(self.oscrc, "w", encoding="utf-8") as f:
Expand Down Expand Up @@ -419,6 +421,11 @@ def test_extra_fields(self):
self.assertEqual(host_options["new-option"], "value")
self.assertEqual(host_options.extra_fields, {"plugin-option": "plugin-host-option", "new-option": "value"})

def test_apiurl_aliases(self):
expected = {"https://api.opensuse.org": "https://api.opensuse.org", "osc": "https://api.opensuse.org"}
self.assertEqual(self.config.apiurl_aliases, expected)
self.assertEqual(self.config["apiurl_aliases"], expected)


class TestFromParent(unittest.TestCase):
def setUp(self):
Expand Down

0 comments on commit 6fb84de

Please sign in to comment.