Beispiel #1
0
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())
Beispiel #2
0
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())
Beispiel #3
0
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())
Beispiel #4
0
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())
Beispiel #5
0
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'}
Beispiel #6
0
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)
Beispiel #7
0
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)
Beispiel #8
0
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'}