When you delete a node all link connected are destroyed

Ref #608
This commit is contained in:
Julien Duponchelle committed 2016-07-05 16:07:05 +02:00
1 parent ca4d09ea40
commit 7a4c01e737
6 files changed
+55 -1

No files matched your search

+6
View File
@@ -50,6 +50,12 @@ def link(async_run, project, compute):
return link
def test_eq(project, link, controller):
assert link == Link(project, link_id=link.id)
assert link != "a"
assert link != Link(project)
def test_add_node(async_run, project, compute):
node1 = Node(project, compute, "node1")
+7
View File
@@ -50,6 +50,13 @@ def node(compute, project):
return node
def test_eq(compute, project, node, controller):
assert node == Node(project, compute, "demo", node_id=node.id)
assert node != "a"
assert node != Node(project, compute, "demo", node_id=str(uuid.uuid4()))
assert node != Node( Project(str(uuid.uuid4()), controller=controller), compute, "demo", node_id=node.id)
def test_json(node, compute):
assert node.__json__() == {
"compute_id": str(compute.id),
+26
View File
@@ -151,6 +151,32 @@ def test_delete_node(async_run, controller):
controller.notification.emit.assert_any_call("node.deleted", node.__json__())
def test_delete_node_delete_link(async_run, controller):
"""
Delete a node delete all the node connected
"""
compute = MagicMock()
project = Project(controller=controller)
controller._notification = MagicMock()
response = MagicMock()
response.json = {"console": 2048}
compute.post = AsyncioMagicMock(return_value=response)
node = async_run(project.add_node(compute, "test", None, node_type="vpcs", properties={"startup_config": "test.cfg"}))
link = async_run(project.add_link())
async_run(link.add_node(node, 0, 0))
async_run(project.delete_node(node.id))
assert node.id not in project._nodes
assert link.id not in project._links
compute.delete.assert_any_call('/projects/{}/vpcs/nodes/{}'.format(project.id, node.id))
controller.notification.emit.assert_any_call("node.deleted", node.__json__())
controller.notification.emit.assert_any_call("link.deleted", link.__json__())
def test_getVM(async_run, controller):
compute = MagicMock()
project = Project(controller=controller)