1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-11-28 11:18:11 +00:00

Add endpoint to list the compute nodes

This commit is contained in:
Julien Duponchelle 2016-04-19 16:53:41 +02:00
parent f5e5cf5059
commit c8c61f2ae8
No known key found for this signature in database
GPG Key ID: CE8B29639E07F5E8
4 changed files with 45 additions and 2 deletions

View File

@ -48,6 +48,18 @@ class ComputeHandler:
response.set_status(201)
response.json(compute)
@classmethod
@Route.get(
r"/computes",
description="List compute nodes",
status_codes={
200: "Compute list"
})
def list(request, response):
controller = Controller.instance()
response.json([ c for c in controller.computes.values() ])
@classmethod
@Route.post(
r"/computes/shutdown",

View File

@ -82,6 +82,7 @@ def test_addCompute(controller, controller_config_path, async_run):
async_run(controller.addCompute("test2"))
assert len(controller.computes) == 2
def test_addComputeConfigFile(controller, controller_config_path, async_run):
async_run(controller.addCompute("test1"))
assert len(controller.computes) == 1

View File

@ -34,3 +34,33 @@ def test_compute_create(http_controller, controller):
assert len(controller.computes) == 1
assert controller.computes["my_compute_id"].host == "example.com"
def test_compute_list(http_controller, controller):
params = {
"compute_id": "my_compute_id",
"protocol": "http",
"host": "example.com",
"port": 84,
"user": "julien",
"password": "secure"
}
response = http_controller.post("/computes", params)
assert response.status == 201
assert response.route == "/computes"
assert response.json["user"] == "julien"
assert "password" not in response.json
response = http_controller.get("/computes", example=True)
assert response.json == [
{
'compute_id': 'my_compute_id',
'connected': False,
'host': 'example.com',
'port': 84,
'protocol': 'http',
'user': 'julien'
}
]