Пример #1
0
def test_delete_drawing(http_controller, tmpdir, project, async_run):

    drawing = Drawing(project)
    project._drawings = {drawing.id: drawing}
    response = http_controller.delete("/projects/{}/drawings/{}".format(
        project.id, drawing.id),
                                      example=True)
    assert response.status == 204
    assert drawing.id not in project._drawings
Пример #2
0
def test_json(project):
    i = Drawing(project, None, svg="<svg></svg>")
    assert i.__json__() == {
        "drawing_id": i.id,
        "project_id": project.id,
        "x": i.x,
        "y": i.y,
        "z": i.z,
        "svg": i.svg,
        "rotation": i.rotation
    }
    assert i.__json__(topology_dump=True) == {
        "drawing_id": i.id,
        "x": i.x,
        "y": i.y,
        "z": i.z,
        "rotation": i.rotation,
        "svg": i.svg
    }
Пример #3
0
def test_json(project):
    i = Drawing(project, None, svg="<svg></svg>")
    assert i.__json__() == {
        "drawing_id": i.id,
        "project_id": project.id,
        "x": i.x,
        "y": i.y,
        "z": i.z,
        "locked": i.locked,
        "svg": i.svg,
        "rotation": i.rotation
    }
    assert i.__json__(topology_dump=True) == {
        "drawing_id": i.id,
        "x": i.x,
        "y": i.y,
        "z": i.z,
        "rotation": i.rotation,
        "locked": i.locked,
        "svg": i.svg
    }
Пример #4
0
def test_image_base64(project):
    """
    If image are embed as base 64 we need to dump them on disk
    """
    svg = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" height=\"128\" width=\"128\">\n<image height=\"128\" width=\"128\" xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAN2AAADdgF91YLMAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAHm5JREFUeJztnXl8FGXSx7/VIYAKKCoe4IEIq6ALuQnI4YXXKihulCSACIIsu4qKNyqXByqK67EeiMtyJGrwXnfABSu/L3I31aclPub3oBIQ/YD2zdUBZ+T37l7Dt0OAKoIYcUf07mBhpkieonJe+FcAUOgeX8dL/4ysTCSmTiwwsx1FPLJfuas89mXsByu/N/BR43E09+xMafDrYFI6wmzINu7QreFo1kD4EQIW/m8ICm1iAdBXWp0wuusiJp+Q7ilok3VE02RR+MoWPTYMXTYNlarAx6c6iQU7X/RbQ4DZA2m1F44CnrdYjDPG8ZcLBe/1kzz2Z9ybfUZQALAS\" />\n</svg>"

    drawing = Drawing(project, None, svg=svg)
    assert drawing._svg == "8418154b760b4e8023650e04c4992e24.png"
    assert os.path.exists(
        os.path.join(project.pictures_directory,
                     "8418154b760b4e8023650e04c4992e24.png"))

    assert drawing.svg == svg
Пример #5
0
def test_image_svg(project):
    """
    Large SVG are dump on disk
    """
    svg = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" height=\"128\" width=\"128\">\n"

    for i in range(0, 1000):
        svg += "<rect width=\"100\"></rect>"
    svg += "</svg>"

    drawing = Drawing(project, None, svg=svg)
    assert drawing._svg == "fdf4d3035774a72ba165f7199b9431b2.svg"
    assert os.path.exists(
        os.path.join(project.pictures_directory,
                     "fdf4d3035774a72ba165f7199b9431b2.svg"))

    assert drawing.svg.replace("\r", "") == svg.replace("\r", "")
Пример #6
0
def test_init_with_uuid(project):

    id = str(uuid.uuid4())
    drawing = Drawing(project, id, svg="<svg></svg>")
    assert drawing.id == id
Пример #7
0
def test_init_without_uuid(project):

    drawing = Drawing(project, None, svg="<svg></svg>")
    assert drawing.id is not None
Пример #8
0
def drawing(project):

    return Drawing(project, None, svg="<svg></svg>")