Use project_id instead of project_uuid for the API.

This commit is contained in:
Jeremy 2015-02-03 18:40:13 -07:00
parent d2699f051d
commit 59c82e26df
8 changed files with 30 additions and 30 deletions

View File

@ -44,7 +44,7 @@ class VPCSHandler:
vpcs = VPCS.instance() vpcs = VPCS.instance()
vm = yield from vpcs.create_vm(request.json["name"], vm = yield from vpcs.create_vm(request.json["name"],
request.json["project_uuid"], request.json["project_id"],
request.json.get("uuid"), request.json.get("uuid"),
console=request.json.get("console"), console=request.json.get("console"),
startup_script=request.json.get("startup_script")) startup_script=request.json.get("startup_script"))

View File

@ -42,23 +42,23 @@ class ProjectManager:
cls._instance = cls() cls._instance = cls()
return cls._instance return cls._instance
def get_project(self, project_uuid): def get_project(self, uuid):
""" """
Returns a Project instance. Returns a Project instance.
:param project_uuid: Project UUID :param uuid: Project UUID
:returns: Project instance :returns: Project instance
""" """
try: try:
UUID(project_uuid, version=4) UUID(uuid, version=4)
except ValueError: except ValueError:
raise aiohttp.web.HTTPBadRequest(text="{} is not a valid UUID".format(project_uuid)) raise aiohttp.web.HTTPBadRequest(text="{} is not a valid UUID".format(uuid))
if project_uuid not in self._projects: if uuid not in self._projects:
raise aiohttp.web.HTTPNotFound(text="Project UUID {} doesn't exist".format(project_uuid)) raise aiohttp.web.HTTPNotFound(text="Project UUID {} doesn't exist".format(uuid))
return self._projects[project_uuid] return self._projects[uuid]
def create_project(self, **kwargs): def create_project(self, **kwargs):
""" """

View File

@ -79,7 +79,7 @@ class VirtualBoxVM(BaseVM):
return {"name": self.name, return {"name": self.name,
"uuid": self.uuid, "uuid": self.uuid,
"console": self.console, "console": self.console,
"project_uuid": self.project.uuid, "project_id": self.project.uuid,
"vmname": self.vmname, "vmname": self.vmname,
"headless": self.headless, "headless": self.headless,
"enable_remote_console": self.enable_remote_console, "enable_remote_console": self.enable_remote_console,

View File

@ -107,7 +107,7 @@ class VPCSVM(BaseVM):
return {"name": self.name, return {"name": self.name,
"uuid": self.uuid, "uuid": self.uuid,
"console": self._console, "console": self._console,
"project_uuid": self.project.uuid, "project_id": self.project.uuid,
"script_file": self.script_file, "script_file": self.script_file,
"startup_script": self.startup_script} "startup_script": self.startup_script}

View File

@ -32,7 +32,7 @@ VBOX_CREATE_SCHEMA = {
"description": "VirtualBox VM instance ID (for project created before GNS3 1.3)", "description": "VirtualBox VM instance ID (for project created before GNS3 1.3)",
"type": "integer" "type": "integer"
}, },
"project_uuid": { "project_id": {
"description": "Project UUID", "description": "Project UUID",
"type": "string", "type": "string",
"minLength": 36, "minLength": 36,
@ -86,7 +86,7 @@ VBOX_CREATE_SCHEMA = {
}, },
}, },
"additionalProperties": False, "additionalProperties": False,
"required": ["name", "vmname", "linked_clone", "project_uuid"], "required": ["name", "vmname", "linked_clone", "project_id"],
} }
VBOX_UPDATE_SCHEMA = { VBOX_UPDATE_SCHEMA = {
@ -211,7 +211,7 @@ VBOX_OBJECT_SCHEMA = {
"maxLength": 36, "maxLength": 36,
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}, },
"project_uuid": { "project_id": {
"description": "Project UUID", "description": "Project UUID",
"type": "string", "type": "string",
"minLength": 36, "minLength": 36,
@ -256,5 +256,5 @@ VBOX_OBJECT_SCHEMA = {
}, },
}, },
"additionalProperties": False, "additionalProperties": False,
"required": ["name", "uuid", "project_uuid"] "required": ["name", "uuid", "project_id"]
} }

View File

@ -37,7 +37,7 @@ VPCS_CREATE_SCHEMA = {
"maxLength": 36, "maxLength": 36,
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}, },
"project_uuid": { "project_id": {
"description": "Project UUID", "description": "Project UUID",
"type": "string", "type": "string",
"minLength": 36, "minLength": 36,
@ -56,7 +56,7 @@ VPCS_CREATE_SCHEMA = {
}, },
}, },
"additionalProperties": False, "additionalProperties": False,
"required": ["name", "project_uuid"] "required": ["name", "project_id"]
} }
VPCS_UPDATE_SCHEMA = { VPCS_UPDATE_SCHEMA = {
@ -162,7 +162,7 @@ VPCS_OBJECT_SCHEMA = {
"maximum": 65535, "maximum": 65535,
"type": "integer" "type": "integer"
}, },
"project_uuid": { "project_id": {
"description": "Project UUID", "description": "Project UUID",
"type": "string", "type": "string",
"minLength": 36, "minLength": 36,
@ -179,5 +179,5 @@ VPCS_OBJECT_SCHEMA = {
}, },
}, },
"additionalProperties": False, "additionalProperties": False,
"required": ["name", "uuid", "console", "project_uuid"] "required": ["name", "uuid", "console", "project_id"]
} }

View File

@ -25,7 +25,7 @@ def vm(server, project):
response = server.post("/virtualbox", {"name": "VMTEST", response = server.post("/virtualbox", {"name": "VMTEST",
"vmname": "VMTEST", "vmname": "VMTEST",
"linked_clone": False, "linked_clone": False,
"project_uuid": project.uuid}) "project_id": project.uuid})
assert mock.called assert mock.called
assert response.status == 201 assert response.status == 201
return response.json return response.json
@ -37,11 +37,11 @@ def test_vbox_create(server, project):
response = server.post("/virtualbox", {"name": "VM1", response = server.post("/virtualbox", {"name": "VM1",
"vmname": "VM1", "vmname": "VM1",
"linked_clone": False, "linked_clone": False,
"project_uuid": project.uuid}, "project_id": project.uuid},
example=True) example=True)
assert response.status == 201 assert response.status == 201
assert response.json["name"] == "VM1" assert response.json["name"] == "VM1"
assert response.json["project_uuid"] == project.uuid assert response.json["project_id"] == project.uuid
def test_vbox_get(server, project, vm): def test_vbox_get(server, project, vm):
@ -49,7 +49,7 @@ def test_vbox_get(server, project, vm):
assert response.status == 200 assert response.status == 200
assert response.route == "/virtualbox/{uuid}" assert response.route == "/virtualbox/{uuid}"
assert response.json["name"] == "VMTEST" assert response.json["name"] == "VMTEST"
assert response.json["project_uuid"] == project.uuid assert response.json["project_id"] == project.uuid
def test_vbox_start(server, vm): def test_vbox_start(server, vm):

View File

@ -23,17 +23,17 @@ from unittest.mock import patch
@pytest.fixture(scope="module") @pytest.fixture(scope="module")
def vm(server, project): def vm(server, project):
response = server.post("/vpcs", {"name": "PC TEST 1", "project_uuid": project.uuid}) response = server.post("/vpcs", {"name": "PC TEST 1", "project_id": project.uuid})
assert response.status == 201 assert response.status == 201
return response.json return response.json
def test_vpcs_create(server, project): def test_vpcs_create(server, project):
response = server.post("/vpcs", {"name": "PC TEST 1", "project_uuid": project.uuid}, example=True) response = server.post("/vpcs", {"name": "PC TEST 1", "project_id": project.uuid}, example=True)
assert response.status == 201 assert response.status == 201
assert response.route == "/vpcs" assert response.route == "/vpcs"
assert response.json["name"] == "PC TEST 1" assert response.json["name"] == "PC TEST 1"
assert response.json["project_uuid"] == project.uuid assert response.json["project_id"] == project.uuid
assert response.json["script_file"] is None assert response.json["script_file"] is None
@ -42,24 +42,24 @@ def test_vpcs_get(server, project, vm):
assert response.status == 200 assert response.status == 200
assert response.route == "/vpcs/{uuid}" assert response.route == "/vpcs/{uuid}"
assert response.json["name"] == "PC TEST 1" assert response.json["name"] == "PC TEST 1"
assert response.json["project_uuid"] == project.uuid assert response.json["project_id"] == project.uuid
def test_vpcs_create_startup_script(server, project): def test_vpcs_create_startup_script(server, project):
response = server.post("/vpcs", {"name": "PC TEST 1", "project_uuid": project.uuid, "startup_script": "ip 192.168.1.2\necho TEST"}) response = server.post("/vpcs", {"name": "PC TEST 1", "project_id": project.uuid, "startup_script": "ip 192.168.1.2\necho TEST"})
assert response.status == 201 assert response.status == 201
assert response.route == "/vpcs" assert response.route == "/vpcs"
assert response.json["name"] == "PC TEST 1" assert response.json["name"] == "PC TEST 1"
assert response.json["project_uuid"] == project.uuid assert response.json["project_id"] == project.uuid
assert response.json["startup_script"] == "ip 192.168.1.2\necho TEST" assert response.json["startup_script"] == "ip 192.168.1.2\necho TEST"
def test_vpcs_create_port(server, project, free_console_port): def test_vpcs_create_port(server, project, free_console_port):
response = server.post("/vpcs", {"name": "PC TEST 1", "project_uuid": project.uuid, "console": free_console_port}) response = server.post("/vpcs", {"name": "PC TEST 1", "project_id": project.uuid, "console": free_console_port})
assert response.status == 201 assert response.status == 201
assert response.route == "/vpcs" assert response.route == "/vpcs"
assert response.json["name"] == "PC TEST 1" assert response.json["name"] == "PC TEST 1"
assert response.json["project_uuid"] == project.uuid assert response.json["project_id"] == project.uuid
assert response.json["console"] == free_console_port assert response.json["console"] == free_console_port