Skip to content
Snippets Groups Projects
Commit 9808a1a3 authored by Henrik tom Wörden's avatar Henrik tom Wörden
Browse files

TST: add test for plantuml

parent 25402474
No related branches found
No related tags found
2 merge requests!57RELEASE 0.7.3,!47Refactored the plantuml module
Pipeline #21949 passed with warnings
......@@ -377,7 +377,9 @@ def to_graphics(recordtypes: list[db.Entity], filename: str,
if os.system(cmd) != 0: # TODO: replace with subprocess.run
raise Exception("An error occured during the execution of "
"plantuml. "
"Is plantuml installed?")
"plantuml when using the format {}. "
"Is plantuml installed? "
"You might want to dry a different format.".format(format))
# copy only the final product into the target directory
shutil.copy(os.path.join(td, filename + "." + extension),
output_dirname)
#!/usr/bin/env python3
# encoding: utf-8
#
# ** header v3.0
# This file is a part of the CaosDB Project.
#
# Copyright (C) 2022 Indiscale GmbH <info@indiscale.com>
# Copyright (C) 2022 Henrik tom Wörden <h.tomwoerden@indiscale.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
# ** end header
#
"""
test plantuml utility
"""
import tempfile
import pytest
import caosdb as db
import shutil
from caosdb.utils.plantuml import to_graphics
@pytest.fixture
def setup_n_teardown(autouse=True):
with tempfile.TemporaryDirectory() as td:
global output
output = td
yield
@pytest.fixture
def entities():
return [db.RecordType(name="TestRT1").add_property("testprop"),
db.RecordType(name="TestRT2").add_property("testprop2"),
db.Property("testprop")]
@pytest.mark.skipif(shutil.which('plantuml') is None, reason="No plantuml found")
def test_to_graphics1(entities, setup_n_teardown):
to_graphics(entities, "data_model", output_dirname=output)
@pytest.mark.skipif(shutil.which('plantuml') is None, reason="No plantuml found")
def test_to_graphics2(entities, setup_n_teardown):
to_graphics(entities, "data_model", output_dirname=output, formats=["tpng", "tsvg"],
add_properties=False, add_legend=False, style="salexan")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment