本文整理汇总了Python中gns3.project.Project类的典型用法代码示例。如果您正苦于以下问题:Python Project类的具体用法?Python Project怎么用?Python Project使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Project类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_image_in_project
def test_image_in_project(tmpdir):
project_dir = tmpdir / "project" / "project-files"
os.makedirs(str(project_dir / "images"))
project = Project()
project.setFilesDir(str(tmpdir / "project"))
topology = Topology()
topology.project = project
with open(str(project_dir / "images" / "1.jpg"), "w+") as f:
f.write("AA")
image1 = PixmapImageItem(None, "images/1.jpg")
topology.addImage(image1)
assert image1 in topology._images
image2 = PixmapImageItem(None, "images/1.jpg")
topology.addImage(image2)
assert image1 in topology._images
assert image2 in topology._images
topology.removeImage(image2)
assert os.path.exists(str(project_dir / "images" / "1.jpg"))
# If not image use this file delete it
topology.removeImage(image1)
assert not os.path.exists(str(project_dir / "images" / "1.jpg"))
示例2: test_project_post_non_created_project_remote_server_two_query_two_server
def test_project_post_non_created_project_remote_server_two_query_two_server(remote_server, local_server):
"""
Test a post on a remote servers. The project
is not created on the server and should be created automaticaly.
And after make the call
Another server is also waiting for the project to be create on the first server
"""
uuid = str(uuid4())
project = Project()
project._created_servers = set()
project.setId(uuid)
with patch("gns3.http_client.HTTPClient.createHTTPQuery") as mock:
project.post(remote_server, "/test", lambda: 0, body={"test": "test"})
args, kwargs = mock.call_args
# Send a query from another server, this should wait the first server to finish
project.post(local_server, "/test3", lambda: 0, body={"test": "test"})
assert args[0] == "POST"
assert args[1] == "/projects"
assert kwargs["body"] == {"name": "untitled", "temporary": False, "project_id": uuid}
project.post(remote_server, "/test2", lambda: 0, body={"test": "test"})
assert mock.call_count == 1
args[2]({}, server=remote_server)
assert len(project._created_servers) == 1
calls = mock.mock_calls
name, args, kwargs = calls[1]
assert args[0] == "GET"
assert args[1] == "/projects/{uuid}/notifications".format(uuid=uuid)
name, args, kwargs = calls[3]
assert args[0] == "POST"
assert args[1] == "/projects/{uuid}/test".format(uuid=uuid)
assert kwargs["body"] == {"test": "test"}
# Call to the create project on second server
name, args, kwargs = calls[4]
assert args[0] == "POST"
assert args[1] == "/projects".format(uuid=uuid)
assert kwargs["body"] == {"name": "untitled", "project_id": uuid, "path": None, "temporary": False}
name, args, kwargs = calls[5]
assert args[0] == "POST"
assert args[1] == "/projects/{uuid}/test2".format(uuid=uuid)
assert kwargs["body"] == {"test": "test"}
示例3: test_project_moveFromTemporaryToPath
def test_project_moveFromTemporaryToPath(tmpdir, local_server):
project = Project()
project.setId(str(uuid4()))
project._created_servers = set((local_server, ))
project._temporary = True
with patch("gns3.http_client.HTTPClient.put") as mock:
project.moveFromTemporaryToPath(str(tmpdir))
assert mock.called
args, kwargs = mock.call_args
assert args[0] == "/projects/{project_id}".format(project_id=project.id())
assert kwargs["body"] == {"name": "untitled", "path": str(tmpdir), "temporary": False}
assert project.temporary() is False
assert project.filesDir() == str(tmpdir)
示例4: test_project_post_non_created_project_local_server
def test_project_post_non_created_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 automaticaly.
And after make the call
"""
uuid = str(uuid4())
project = Project()
project.setId(uuid)
project.setFilesDir(str(tmpdir))
with patch("gns3.http_client.HTTPClient.createHTTPQuery") as mock:
project.post(local_server, "/test", lambda: 0, body={"test": "test"})
args, kwargs = mock.call_args
assert args[0] == "POST"
assert args[1] == "/projects"
assert kwargs["body"] == {"name": "untitled",
"temporary": False,
"project_id": uuid,
"path": str(tmpdir)}
args[2]({}, server=local_server)
assert len(project._created_servers) == 1
args, kwargs = mock.call_args
assert args[0] == "POST"
assert args[1] == "/projects/{uuid}/test".format(uuid=uuid)
assert kwargs["body"] == {"test": "test"}
示例5: test_project_create
def test_project_create(tmpdir, controller):
"""
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.setFilesDir(str(tmpdir))
project.setName("test")
project.create()
mock = controller._http_client.createHTTPQuery
assert mock.called
args, kwargs = mock.call_args
assert args[0] == "POST"
assert args[1] == "/projects"
assert kwargs["body"] == {"name": "test",
"path": str(tmpdir),
"grid_size": 75,
"drawing_grid_size": 25,
"show_grid": False,
"snap_to_grid": False,
"show_interface_labels": False}
args[2]({"project_id": uuid, "name": "test"})
assert project._closed is False
示例6: test_project_close_error
def test_project_close_error(local_server):
uuid = uuid4()
mock = MagicMock
with patch("gns3.http_client.HTTPClient.post") as mock:
signal = MagicMock()
project = Project()
project.setId(uuid)
project._created_servers = set((local_server, ))
mock_signal = MagicMock()
mock_signal_closed = MagicMock()
project.project_about_to_close_signal.connect(mock_signal)
project.project_closed_signal.connect(mock_signal_closed)
project.close()
assert mock_signal.called
assert not mock_signal_closed.called
args, kwargs = mock.call_args
assert args[0] == "/projects/{project_id}/close".format(project_id=uuid)
assert kwargs["body"] == {}
# Call the project close callback
args[1]({"message": "Can't connect"}, error=True, server=local_server)
assert mock_signal_closed.called
assert project.closed()
示例7: project
def project(local_server):
from gns3.project import Project
project = Project()
project.setId(str(uuid.uuid4()))
project._created_servers.add(local_server)
project.setType("local")
project.setName("unsaved")
return project
示例8: test_project_update
def test_project_update(controller):
project = Project()
project.setVariables([{'name': 'TEST'}])
project.setSupplier({'logo': 'test.png', 'url': 'http://domain'})
project.update()
mock = controller._http_client.createHTTPQuery
args, kwargs = mock.call_args
body = kwargs['body']
assert body['variables'] == [{'name': 'TEST'}]
assert body['supplier'] == {'logo': 'test.png', 'url': 'http://domain'}
示例9: test_project_parse_response
def test_project_parse_response():
result = {
'project_id': 'projectid',
'name': 'projectname',
'filename': 'filename.gns3',
'variables': [{'name': 'TEST'}],
'supplier': {'logo': 'test.png', 'url': 'http://domain'}
}
project = Project()
project._parseResponse(result)
assert project.id() == 'projectid'
assert project.name() == 'projectname'
assert project.filename() == 'filename.gns3'
assert project.variables() == [{'name': 'TEST'}]
assert project.supplier() == {'logo': 'test.png', 'url': 'http://domain'}
示例10: project
def project():
from gns3.project import Project
project = Project()
project.setId(str(uuid.uuid4()))
project._created = True
project.setName("unsaved")
return project
示例11: test_project_commit
def test_project_commit(local_server):
with patch("gns3.http_client.HTTPClient.post") as mock:
project = Project()
project.setId(str(uuid4()))
project._created_servers = set((local_server, ))
project.commit()
assert mock.called
args, kwargs = mock.call_args
assert args[0] == "/projects/{project_id}/commit".format(project_id=project.id())
示例12: test_image_outside_project
def test_image_outside_project(tmpdir):
"""
By security we do not delete image outside project.
This should not append but if someone reuse the image items for
something else.
"""
project_img_dir = tmpdir / "project" / "project-files" / "images"
os.makedirs(str(project_img_dir))
project = Project()
project.setFilesDir(str(tmpdir / "project"))
topology = Topology()
topology.project = project
with open(str(tmpdir / "1.jpg"), "w+") as f:
f.write("AA")
image1 = PixmapImageItem(None, str(tmpdir / "1.jpg"))
topology.addImage(image1)
assert image1 in topology._images
topology.removeImage(image1)
assert os.path.exists(str(tmpdir / "1.jpg"))
示例13: project
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
示例14: test_project_destroy
def test_project_destroy(controller):
project = Project()
project.setId(str(uuid4()))
project.destroy()
mock = controller._http_client.createHTTPQuery
assert mock.called
args, kwargs = mock.call_args
assert args[0] == "DELETE"
assert args[1] == "/projects/{project_id}".format(project_id=project.id())
示例15: test_project_post_non_created_project_remote_server_two_query
def test_project_post_non_created_project_remote_server_two_query(remote_server):
"""
Test a post on a remote servers. The project
is not created on the server and should be created automaticaly.
And after make the call
"""
uuid = str(uuid4())
project = Project()
project._created_servers = set()
project.setId(uuid)
with patch("gns3.http_client.HTTPClient.createHTTPQuery") as mock:
project.post(remote_server, "/test", lambda: 0, body={"test": "test"})
args, kwargs = mock.call_args
assert args[0] == "POST"
assert args[1] == "/projects"
assert kwargs["body"] == {"name": "untitled", "temporary": False, "project_id": uuid}
project.post(remote_server, "/test2", lambda: 0, body={"test": "test"})
assert mock.call_count == 1
args[2]({}, server=remote_server)
assert len(project._created_servers) == 1
calls = mock.mock_calls
name, args, kwargs = calls[1]
assert args[1] == "/projects/{uuid}/notifications".format(uuid=uuid)
assert args[0] == "GET"
name, args, kwargs = calls[3]
assert args[1] == "/projects/{uuid}/test".format(uuid=uuid)
assert args[0] == "POST"
assert kwargs["body"] == {"test": "test"}
name, args, kwargs = calls[4]
assert args[0] == "POST"
assert args[1] == "/projects/{uuid}/test2".format(uuid=uuid)
assert kwargs["body"] == {"test": "test"}