def project(local_server): from gns3.project import Project project = Project() project.setId(str(uuid.uuid4())) project._listen_notification = True project._created_servers.add(local_server) project.setName("unsaved") return project
def test_project_post_non_initialized_project_local_server( tmpdir, local_server): """ Test a post on a local servers. The project is not created on the server and should be created automatically. And after make the call """ uuid = str(uuid4()) project = Project() project._created_servers = set() project._listen_notification = False project.setFilesDir(str(tmpdir)) with patch("gns3.http_client.HTTPClient.createHTTPQuery") as mock: project.post(local_server, "/test", lambda: 0, body={"test": "test"}) assert mock.called args, kwargs = mock.call_args assert args[0] == "POST" assert args[1] == "/projects" assert kwargs["body"] == { "name": "untitled", "temporary": False, "path": str(tmpdir), "project_id": None } args[2]({"project_id": uuid}, server=local_server) assert len(project._created_servers) == 1 assert project._closed is False args, kwargs = mock.call_args assert args[0] == "POST" assert args[1] == "/projects/{uuid}/test".format(uuid=uuid) assert kwargs["body"] == {"test": "test"} assert len(project._notifications_stream) == 1
def test_project_post_non_initialized_project_local_server(tmpdir, local_server): """ Test a post on a local servers. The project is not created on the server and should be created automatically. And after make the call """ uuid = str(uuid4()) project = Project() project._created_servers = set() project._listen_notification = False project.setFilesDir(str(tmpdir)) with patch("gns3.http_client.HTTPClient.createHTTPQuery") as mock: project.post(local_server, "/test", lambda: 0, body={"test": "test"}) assert mock.called args, kwargs = mock.call_args assert args[0] == "POST" assert args[1] == "/projects" assert kwargs["body"] == {"name": "untitled", "temporary": False, "path": str(tmpdir), "project_id": None} args[2]({"project_id": uuid}, server=local_server) assert len(project._created_servers) == 1 assert project._closed is False args, kwargs = mock.call_args assert args[0] == "POST" assert args[1] == "/projects/{uuid}/test".format(uuid=uuid) assert kwargs["body"] == {"test": "test"} assert len(project._notifications_stream) == 1