Bug fix: #4011 #4012 - "show run acl", "show run interfaces" - traceback when no ACL_RULE/INTERFACE is present. (#4226)
* Fix bugs - "show run acl/interfaces" returns traceback when no ACL_RULE/INTERFACE is present in configuration - Change logic in main to take data only if the var_json appears in DB. - Add unit testing for bug fix & fix comments Signed-off-by: Noa Or <noaor@mellanox.com>
This commit is contained in:
parent
eede9a9db9
commit
1a0067ede0
@ -295,7 +295,7 @@ def main():
|
|||||||
template = jinja2.Template('{{' + args.var + '}}')
|
template = jinja2.Template('{{' + args.var + '}}')
|
||||||
print(template.render(data))
|
print(template.render(data))
|
||||||
|
|
||||||
if args.var_json != None:
|
if args.var_json != None and args.var_json in data:
|
||||||
if args.key != None:
|
if args.key != None:
|
||||||
print(json.dumps(FormatConverter.to_serialized(data[args.var_json], args.key), indent=4, cls=minigraph_encoder))
|
print(json.dumps(FormatConverter.to_serialized(data[args.var_json], args.key), indent=4, cls=minigraph_encoder))
|
||||||
else:
|
else:
|
||||||
|
@ -331,3 +331,13 @@ class TestCfgGen(TestCase):
|
|||||||
output = subprocess.check_output("sed -i \'s/%s/%s/g\' %s" % (BACKEND_TOR_ROUTER, TOR_ROUTER, self.sample_graph_simple), shell=True)
|
output = subprocess.check_output("sed -i \'s/%s/%s/g\' %s" % (BACKEND_TOR_ROUTER, TOR_ROUTER, self.sample_graph_simple), shell=True)
|
||||||
|
|
||||||
self.test_jinja_expression(self.sample_graph_simple, TOR_ROUTER)
|
self.test_jinja_expression(self.sample_graph_simple, TOR_ROUTER)
|
||||||
|
|
||||||
|
def test_show_run_acl(self):
|
||||||
|
argument = '-a \'{"key1":"value"}\' --var-json ACL_RULE'
|
||||||
|
output = self.run_script(argument)
|
||||||
|
self.assertEqual(output, '')
|
||||||
|
|
||||||
|
def test_show_run_interfaces(self):
|
||||||
|
argument = '-a \'{"key1":"value"}\' --var-json INTERFACE'
|
||||||
|
output = self.run_script(argument)
|
||||||
|
self.assertEqual(output, '')
|
||||||
|
Loading…
Reference in New Issue
Block a user