[dhcp_server] add config dhcp server del (#17603)
* add config dhcp server del
This commit is contained in:
parent
d4a78665ee
commit
08666100fc
@ -62,10 +62,19 @@ def mock_db():
|
|||||||
if table == "STATE_DB":
|
if table == "STATE_DB":
|
||||||
return key in mock_state_db
|
return key in mock_state_db
|
||||||
|
|
||||||
|
def delete(table, key):
|
||||||
|
assert table == "CONFIG_DB" or table == "STATE_DB"
|
||||||
|
if table == "CONFIG_DB":
|
||||||
|
del mock_config_db[key]
|
||||||
|
if table == "STATE_DB":
|
||||||
|
del mock_state_db[key]
|
||||||
|
|
||||||
|
|
||||||
db.keys = mock.Mock(side_effect=keys)
|
db.keys = mock.Mock(side_effect=keys)
|
||||||
db.get_all = mock.Mock(side_effect=get_all)
|
db.get_all = mock.Mock(side_effect=get_all)
|
||||||
db.get = mock.Mock(side_effect=get)
|
db.get = mock.Mock(side_effect=get)
|
||||||
db.hmset = mock.Mock(side_effect=hmset)
|
db.hmset = mock.Mock(side_effect=hmset)
|
||||||
db.exists = mock.Mock(side_effect=exists)
|
db.exists = mock.Mock(side_effect=exists)
|
||||||
|
db.delete = mock.Mock(side_effect=delete)
|
||||||
|
|
||||||
yield db
|
yield db
|
||||||
|
@ -113,3 +113,18 @@ class TestConfigDHCPServer(object):
|
|||||||
["Vlan100", "--mode=PORT", "--lease_time=1000", "--gateway=10.10.10.10", "--netmask=255.255.254.0"], obj=db)
|
["Vlan100", "--mode=PORT", "--lease_time=1000", "--gateway=10.10.10.10", "--netmask=255.255.254.0"], obj=db)
|
||||||
assert result.exit_code == 2, "exit code: {}, Exception: {}, Traceback: {}".format(result.exit_code, result.exception, result.exc_info)
|
assert result.exit_code == 2, "exit code: {}, Exception: {}, Traceback: {}".format(result.exit_code, result.exception, result.exc_info)
|
||||||
|
|
||||||
|
def test_config_dhcp_server_ipv4_del_already_exist(self, mock_db):
|
||||||
|
runner = CliRunner()
|
||||||
|
db = clicommon.Db()
|
||||||
|
db.db = mock_db
|
||||||
|
result = runner.invoke(dhcp_server.dhcp_server.commands["ipv4"].commands["del"], ["Vlan100"], obj=db)
|
||||||
|
assert result.exit_code == 0, "exit code: {}, Exception: {}, Traceback: {}".format(result.exit_code, result.exception, result.exc_info)
|
||||||
|
assert mock_db.exists("CONFIG_DB", "DHCP_SERVER_IPV4|Vlan100") == False
|
||||||
|
|
||||||
|
def test_config_dhcp_server_ipv4_del_does_not_exist(self, mock_db):
|
||||||
|
runner = CliRunner()
|
||||||
|
db = clicommon.Db()
|
||||||
|
db.db = mock_db
|
||||||
|
result = runner.invoke(dhcp_server.dhcp_server.commands["ipv4"].commands["del"], ["Vlan200"], obj=db)
|
||||||
|
assert result.exit_code == 2, "exit code: {}, Exception: {}, Traceback: {}".format(result.exit_code, result.exception, result.exc_info)
|
||||||
|
|
||||||
|
@ -102,6 +102,20 @@ def dhcp_server_ipv4_add(db, mode, lease_time, dup_gw_nm, gateway, netmask, dhcp
|
|||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
@dhcp_server_ipv4.command(name="del")
|
||||||
|
@click.argument("dhcp_interface", required=True)
|
||||||
|
@clicommon.pass_db
|
||||||
|
def dhcp_server_ipv4_del(db, dhcp_interface):
|
||||||
|
ctx = click.get_current_context()
|
||||||
|
dbconn = db.db
|
||||||
|
key = "DHCP_SERVER_IPV4|" + dhcp_interface
|
||||||
|
if dbconn.exists("CONFIG_DB", key):
|
||||||
|
click.echo("Dhcp interface %s exists in config db, proceed to delete".format(dhcp_interface))
|
||||||
|
dbconn.delete("CONFIG_DB", key)
|
||||||
|
else:
|
||||||
|
ctx.fail("Dhcp interface %s does not exist in config db".format(dhcp_interface))
|
||||||
|
|
||||||
|
|
||||||
def register(cli):
|
def register(cli):
|
||||||
# cli.add_command(dhcp_server)
|
# cli.add_command(dhcp_server)
|
||||||
pass
|
pass
|
||||||
|
Reference in New Issue
Block a user