示例#1
0
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()
示例#2
0
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()
示例#3
0
def test_project_close_multiple_servers(local_server, remote_server):

    uuid = uuid4()
    mock = MagicMock
    with patch("gns3.http_client.HTTPClient.post") as mock:

        signal = MagicMock()

        project = Project()
        project._created_servers = set((local_server, ))
        project._created_servers.add(remote_server)
        project.setId(uuid)

        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.call_count == 1
        assert not mock_signal_closed.called

        assert mock.call_count == 2

        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]({"project_id": uuid}, server=local_server)
        args[1]({"project_id": uuid}, server=remote_server)

        assert mock_signal_closed.call_count == 1
        assert project.closed()
示例#4
0
def test_project_close_multiple_servers(local_server, remote_server):

    uuid = uuid4()
    mock = MagicMock
    with patch("gns3.http_client.HTTPClient.post") as mock:

        signal = MagicMock()

        project = Project()
        project._created_servers = set((local_server, ))
        project._created_servers.add(remote_server)
        project.setId(uuid)

        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.call_count == 1
        assert not mock_signal_closed.called

        assert mock.call_count == 2

        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]({"project_id": uuid}, server=local_server)
        args[1]({"project_id": uuid}, server=remote_server)

        assert mock_signal_closed.call_count == 1
        assert project.closed()