Move appliance and template management code in their own classes.

This commit is contained in:
grossmj committed 2019-01-14 16:09:06 +07:00
1 parent 5a3929f01a
commit 8360ae98b1
10 files changed
+340 -224

No files matched your search

+13 -13
View File
@@ -481,14 +481,14 @@ def test_appliances(controller, async_run, tmpdir):
json.dump(my_appliance, f)
with patch("gns3server.config.Config.get_section_config", return_value={"appliances_path": str(tmpdir)}):
controller.load_appliances()
assert len(controller.appliances) > 0
for appliance in controller.appliances.values():
controller.appliance_manager.load_appliances()
assert len(controller.appliance_manager.appliances) > 0
for appliance in controller.appliance_manager.appliances.values():
assert appliance.__json__()["status"] != "broken"
assert "Alpine Linux" in [c.__json__()["name"] for c in controller.appliances.values()]
assert "My Appliance" in [c.__json__()["name"] for c in controller.appliances.values()]
assert "Alpine Linux" in [c.__json__()["name"] for c in controller.appliance_manager.appliances.values()]
assert "My Appliance" in [c.__json__()["name"] for c in controller.appliance_manager.appliances.values()]
for c in controller.appliances.values():
for c in controller.appliance_manager.appliances.values():
j = c.__json__()
if j["name"] == "Alpine Linux":
assert j["builtin"]
@@ -498,23 +498,23 @@ def test_appliances(controller, async_run, tmpdir):
def test_load_templates(controller):
controller._settings = {}
controller.load_templates()
controller.template_manager.load_templates()
assert "Cloud" in [template.name for template in controller.templates.values()]
assert "VPCS" in [template.name for template in controller.templates.values()]
assert "Cloud" in [template.name for template in controller.template_manager.templates.values()]
assert "VPCS" in [template.name for template in controller.template_manager.templates.values()]
for template in controller.templates.values():
for template in controller.template_manager.templates.values():
if template.name == "VPCS":
assert template._settings["properties"] == {"base_script_file": "vpcs_base_config.txt"}
# UUID should not change when you run again the function
for template in controller.templates.values():
for template in controller.template_manager.templates.values():
if template.name == "Test":
qemu_uuid = template.id
elif template.name == "Cloud":
cloud_uuid = template.id
controller.load_templates()
for template in controller.templates.values():
controller.template_manager.load_templates()
for template in controller.template_manager.templates.values():
if template.name == "Test":
assert qemu_uuid == template.id
elif template.name == "Cloud":
+1 -1
View File
@@ -219,7 +219,7 @@ def test_add_node_from_template(async_run, controller):
"template_type": "vpcs",
"builtin": False,
})
controller._templates[template.id] = template
controller.template_manager.templates[template.id] = template
controller._computes["local"] = compute
response = MagicMock()
@@ -18,7 +18,7 @@
def test_appliances_list(http_controller, controller, async_run):
controller.load_appliances()
controller.appliance_manager.load_appliances()
response = http_controller.get("/appliances", example=True)
assert response.status == 200
assert len(response.json) > 0
@@ -28,8 +28,8 @@ from gns3server.controller.template import Template
def test_template_list(http_controller, controller):
id = str(uuid.uuid4())
controller.load_templates()
controller._templates[id] = Template(id, {
controller.template_manager.load_templates()
controller.template_manager._templates[id] = Template(id, {
"template_type": "qemu",
"category": 0,
"name": "test",
@@ -59,7 +59,7 @@ def test_template_create_without_id(http_controller, controller):
assert response.status == 201
assert response.route == "/templates"
assert response.json["template_id"] is not None
assert len(controller.templates) == 1
assert len(controller.template_manager._templates) == 1
def test_template_create_with_id(http_controller, controller):
@@ -79,7 +79,7 @@ def test_template_create_with_id(http_controller, controller):
assert response.status == 201
assert response.route == "/templates"
assert response.json["template_id"] is not None
assert len(controller.templates) == 1
assert len(controller.template_manager._templates) == 1
def test_template_create_wrong_type(http_controller, controller):
@@ -97,7 +97,7 @@ def test_template_create_wrong_type(http_controller, controller):
response = http_controller.post("/templates", params)
assert response.status == 400
assert len(controller.templates) == 0
assert len(controller.template_manager._templates) == 0
def test_template_get(http_controller, controller):
@@ -169,14 +169,14 @@ def test_template_delete(http_controller, controller):
response = http_controller.get("/templates")
assert len(response.json) == 1
assert len(controller.templates) == 1
assert len(controller.template_manager._templates) == 1
response = http_controller.delete("/templates/{}".format(template_id), example=True)
assert response.status == 204
response = http_controller.get("/templates")
assert len(response.json) == 0
assert len(controller.templates) == 0
assert len(controller.template_manager._templates) == 0
def test_template_duplicate(http_controller, controller):
@@ -205,7 +205,7 @@ def test_template_duplicate(http_controller, controller):
response = http_controller.get("/templates")
assert len(response.json) == 2
assert len(controller.templates) == 2
assert len(controller.template_manager._templates) == 2
def test_c7200_dynamips_template_create(http_controller):
@@ -953,7 +953,7 @@ def project(http_controller, async_run):
def test_create_node_from_template(http_controller, controller, project, compute):
id = str(uuid.uuid4())
controller._templates = {id: Template(id, {
controller.template_manager._templates = {id: Template(id, {
"template_type": "qemu",
"category": 0,
"name": "test",