Exemplo n.º 1
0
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
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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