Ejemplo n.º 1
0
def test_load(project, local_server):
    node = {
        "description": "Docker image",
        "id": 1,
        "label": {
          "color": "#ff000000",
          "font": "TypeWriter,10,-1,5,75,0,0,0,0,0",
          "text": "mysql:latest",
          "x": -2.609375,
          "y": -25
        },
        "ports": [
          {
            "adapter_number": 0,
            "id": 1,
            "name": "Ethernet0",
            "port_number": 0
          }
        ],
        "properties": {
          "adapters": 1,
          "console": 6000,
          "image": "mysql:latest",
          "name": "mysql:latest-1",
          "start_command": "/bin/ls"
        },
        "server_id": 1,
        "type": "DockerVM",
        "vm_id": "ec35076f-f6e5-4c72-a594-e94a47419710",
        "x": -102.5,
        "y": -229.5
    }

    docker_vm = DockerVM(Docker(), local_server, project)
    with patch('gns3.node.Node.httpPost') as mock:
        docker_vm.load(node)
        assert mock.called
        args, kwargs = mock.call_args
        assert args[0] == "/docker/vms".format(project_id=project.id())
        assert kwargs["body"] == {
            "image": "mysql:latest",
            "name": "mysql:latest-1",
            "adapters": 1,
            "start_command": "/bin/ls",
            "console": 6000,
            "vm_id": "ec35076f-f6e5-4c72-a594-e94a47419710",
        }