Merge pull request #890 from GNS3/base_config_server_side

Manage base configuration on server
This commit is contained in:
Jeremy Grossmann authored and GitHub committed 2017-02-19 22:59:06 -08:00
commit 5672b4b748
31 files changed
+649 -324

No files matched your search

+14
View File
@@ -465,3 +465,17 @@ def test_get_free_project_name(controller, async_run):
async_run(controller.add_project(project_id=str(uuid.uuid4()), name="Test-1"))
assert controller.get_free_project_name("Test") == "Test-2"
assert controller.get_free_project_name("Hello") == "Hello"
def test_load_base_files(controller, config, tmpdir):
config.set_section_config("Server", {"configs_path": str(tmpdir)})
with open(str(tmpdir / 'iou_l2_base_startup-config.txt'), 'w+') as f:
f.write('test')
controller.load_base_files()
assert os.path.exists(str(tmpdir / 'iou_l3_base_startup-config.txt'))
# Check is the file has not been overwrite
with open(str(tmpdir / 'iou_l2_base_startup-config.txt')) as f:
assert f.read() == 'test'
+24 -13
View File
@@ -88,19 +88,6 @@ def test_eq(compute, project, node, controller):
assert node != Node(Project(str(uuid.uuid4()), controller=controller), compute, "demo3", node_id=node.id, node_type="qemu")
def test_properties_filter(project, compute):
"""
Some properties are private and should not be exposed
"""
node = Node(project, compute, "demo",
node_id=str(uuid.uuid4()),
node_type="vpcs",
console_type="vnc",
properties={"startup_script": "echo test", "iourc_content": "test"})
assert node._properties == {"startup_script": "echo test", "iourc_content": "test"}
assert node._filter_properties() == {"startup_script": "echo test"}
def test_json(node, compute):
assert node.__json__() == {
"compute_id": str(compute.id),
@@ -207,6 +194,30 @@ def test_create_image_missing(node, compute, project, async_run):
node._upload_missing_image.called is True
def test_create_base_script(node, config, compute, tmpdir, async_run):
config.set_section_config("Server", {"configs_path": str(tmpdir)})
with open(str(tmpdir / 'test.txt'), 'w+') as f:
f.write('hostname test')
node._properties = {"base_script_file": "test.txt"}
node._console = 2048
response = MagicMock()
response.json = {"console": 2048}
compute.post = AsyncioMagicMock(return_value=response)
assert async_run(node.create()) is True
data = {
"console": 2048,
"console_type": "vnc",
"node_id": node.id,
"startup_script": "hostname test",
"name": "demo"
}
compute.post.assert_called_with("/projects/{}/vpcs/nodes".format(node.project.id), data=data, timeout=120)
def test_symbol(node, symbols_dir):
"""
Change symbol should change the node size
+4 -4
View File
@@ -137,7 +137,7 @@ def test_add_node_local(async_run, controller):
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"}))
node = async_run(project.add_node(compute, "test", None, node_type="vpcs", properties={"startup_script": "test.cfg"}))
assert node.id in project._nodes
compute.post.assert_any_call('/projects', data={
@@ -147,7 +147,7 @@ def test_add_node_local(async_run, controller):
})
compute.post.assert_any_call('/projects/{}/vpcs/nodes'.format(project.id),
data={'node_id': node.id,
'startup_config': 'test.cfg',
'startup_script': 'test.cfg',
'name': 'test'},
timeout=120)
assert compute in project._project_created_on_compute
@@ -167,7 +167,7 @@ def test_add_node_non_local(async_run, controller):
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"}))
node = async_run(project.add_node(compute, "test", None, node_type="vpcs", properties={"startup_script": "test.cfg"}))
compute.post.assert_any_call('/projects', data={
"name": project._name,
@@ -175,7 +175,7 @@ def test_add_node_non_local(async_run, controller):
})
compute.post.assert_any_call('/projects/{}/vpcs/nodes'.format(project.id),
data={'node_id': node.id,
'startup_config': 'test.cfg',
'startup_script': 'test.cfg',
'name': 'test'},
timeout=120)
assert compute in project._project_created_on_compute
-2
View File
@@ -106,7 +106,6 @@ def demo_topology():
"node_type": "vpcs",
"properties": {
"startup_script": "",
"startup_script_path": "startup.vpc"
},
"symbol": ":/symbols/computer.svg",
"width": 65,
@@ -131,7 +130,6 @@ def demo_topology():
"node_type": "vpcs",
"properties": {
"startup_script": "",
"startup_script_path": "startup.vpc"
},
"symbol": ":/symbols/computer.svg",
"width": 65,