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

Fix you can not pass auto close at project creation

This commit is contained in:
Julien Duponchelle 2016-11-14 16:10:19 +01:00
parent 5e4f5fe2d1
commit e996b825c6
No known key found for this signature in database
GPG Key ID: CE8B29639E07F5E8
2 changed files with 11 additions and 11 deletions

View File

@ -65,9 +65,7 @@ class ProjectHandler:
def create_project(request, response): def create_project(request, response):
controller = Controller.instance() controller = Controller.instance()
project = yield from controller.add_project(name=request.json.get("name"), project = yield from controller.add_project(**request.json)
path=request.json.get("path"),
project_id=request.json.get("project_id"))
response.set_status(201) response.set_status(201)
response.json(project) response.json(project)

View File

@ -34,6 +34,8 @@ coloredlogs.install(fmt=" %(asctime)s %(levelname)s %(message)s")
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
PROJECT_ID = "9e26e37d-4962-4921-8c0e-136d3b04ba9c" PROJECT_ID = "9e26e37d-4962-4921-8c0e-136d3b04ba9c"
# Use for node names uniqueness
node_i = 1
def die(*args): def die(*args):
@ -72,7 +74,7 @@ async def query(method, path, body=None, **kwargs):
kwargs["data"] = json.dumps(body) kwargs["data"] = json.dumps(body)
with async_timeout.timeout(10): with async_timeout.timeout(10):
async with session.request(method, "http://localhost:3080/v2" + path, **kwargs) as response: async with session.request(method, "http://localhost:3081/v2" + path, **kwargs) as response:
if response.status == 409: if response.status == 409:
raise HTTPConflict(method, path, response) raise HTTPConflict(method, path, response)
elif response.status >= 300: elif response.status >= 300:
@ -101,14 +103,16 @@ async def create_project():
response = await get("/projects") response = await get("/projects")
project_exists = False project_exists = False
for project in response: for project in response:
if project["name"] == "random": if project["name"] == "random" and project["project_id"] != PROJECT_ID:
await delete("/projects/" + project["project_id"]) await delete("/projects/" + project["project_id"])
elif project["project_id"] == PROJECT_ID: elif project["project_id"] == PROJECT_ID:
project_exists = True project_exists = True
for node in await get("/projects/" + PROJECT_ID + "/nodes"): for node in await get("/projects/" + PROJECT_ID + "/nodes"):
delete("/projects/" + PROJECT_ID + "/nodes/" + node["node_id"]) await delete("/projects/" + PROJECT_ID + "/nodes/" + node["node_id"])
if project_exists: if project_exists:
response = await post("/projects/" + PROJECT_ID + "/open") response = await post("/projects/" + PROJECT_ID + "/open")
else:
response = await post("/projects", body={"name": "random", "project_id": PROJECT_ID, "auto_close": False})
return response return response
@ -118,8 +122,8 @@ async def create_node(project):
"node_type": "vpcs", "node_type": "vpcs",
"compute_id": "local", "compute_id": "local",
"name": "Node{}".format(node_i), "name": "Node{}".format(node_i),
"x": (math.floor(node_i / 10) * 100) - 300, "x": (math.floor((node_i - 1) % 12.0) * 100) - 500,
"y": (math.ceil(node_i / 10) * 100) - 200 "y": (math.ceil((node_i) / 12.0) * 100) - 300
}) })
node_i += 1 node_i += 1
return response return response
@ -128,14 +132,12 @@ async def create_node(project):
async def build_topology(): async def build_topology():
global node_i global node_i
# Use for node names uniqueness
node_i = 1
nodes = {} nodes = {}
project = await create_project() project = await create_project()
while True: while True:
node = await create_node(project) node = await create_node(project)
nodes[node["node_id"]] = node nodes[node["node_id"]] = node
await asyncio.sleep(1) await asyncio.sleep(0.5)
async def main(loop): async def main(loop):
global session global session