mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Run interactive_prompt callbacks after CSV values are split.
https://fedorahosted.org/freeipa/ticket/3334
This commit is contained in:
committed by
Rob Crittenden
parent
1c68c3edff
commit
cfbdeebe66
@@ -1045,6 +1045,14 @@ class cli(backend.Executioner):
|
||||
if self.env.interactive:
|
||||
self.prompt_interactively(cmd, kw)
|
||||
kw = cmd.split_csv(**kw)
|
||||
if self.env.interactive:
|
||||
try:
|
||||
callbacks = cmd.get_callbacks('interactive_prompt')
|
||||
except AttributeError:
|
||||
pass
|
||||
else:
|
||||
for callback in callbacks:
|
||||
callback(cmd, kw)
|
||||
kw['version'] = API_VERSION
|
||||
self.load_files(cmd, kw)
|
||||
return kw
|
||||
@@ -1207,14 +1215,6 @@ class cli(backend.Executioner):
|
||||
param.label, param.confirm
|
||||
)
|
||||
|
||||
try:
|
||||
callbacks = cmd.get_callbacks('interactive_prompt')
|
||||
except AttributeError:
|
||||
pass
|
||||
else:
|
||||
for callback in callbacks:
|
||||
callback(cmd, kw)
|
||||
|
||||
def load_files(self, cmd, kw):
|
||||
"""
|
||||
Load files from File parameters.
|
||||
|
||||
@@ -237,3 +237,31 @@ class TestCLIParsing(object):
|
||||
all=False,
|
||||
force=False,
|
||||
version=API_VERSION)
|
||||
|
||||
def test_dnsrecord_del_comma(self):
|
||||
try:
|
||||
self.run_command(
|
||||
'dnszone_add', idnsname=u'test-example.com',
|
||||
idnssoamname=u'ns.test-example.com', force=True)
|
||||
except errors.NotFound:
|
||||
raise nose.SkipTest('DNS is not configured')
|
||||
try:
|
||||
self.run_command(
|
||||
'dnsrecord_add',
|
||||
dnszoneidnsname=u'test-example.com',
|
||||
idnsname=u'test',
|
||||
txtrecord=u'"A pretty little problem," said Holmes.')
|
||||
with self.fake_stdin('no\nyes\n'):
|
||||
self.check_command(
|
||||
'dnsrecord_del test-example.com test',
|
||||
'dnsrecord_del',
|
||||
dnszoneidnsname=u'test-example.com',
|
||||
idnsname=u'test',
|
||||
del_all=False,
|
||||
txtrecord=[u'"A pretty little problem," said Holmes.'],
|
||||
structured=False,
|
||||
raw=False,
|
||||
all=False,
|
||||
version=API_VERSION)
|
||||
finally:
|
||||
self.run_command('dnszone_del', idnsname=u'test-example.com')
|
||||
|
||||
Reference in New Issue
Block a user