Skip to content
Snippets Groups Projects

Correct labels in yaml model parser

Merged Alexander Schlemmer requested to merge f-correct-labels into dev
2 unresolved threads
@@ -21,8 +21,11 @@ from datetime import date
from tempfile import NamedTemporaryFile
from pytest import raises, mark
from unittest.mock import Mock
import linkahead as db
import caosadvancedtools
from caosadvancedtools.models.parser import (TwiceDefinedException,
YamlDefinitionError,
parse_model_from_string,
@@ -644,6 +647,46 @@ RT2:
}"""
def test_sync_output(capfd):
Please register or sign in to reply
model = parse_model_from_string("""
RT:
obligatory_properties:
identifier:
datatype: TEXT
""")
existing_entities = [db.RecordType(name="RT", id=25).add_property(name="identifier",
datatype="INTEGER",
importance="OBLIGATORY",
id=24),
db.Property(name="identifier", datatype="INTEGER", id=24)]
def get_existing_entities(ent_cont):
return existing_entities
class MockQuery:
def __init__(self, q):
self.q = q
def execute(self, unique=True):
id = int(self.q.split("=")[1])
for existing_ent in existing_entities:
if existing_ent.id == id:
return existing_ent
return None
model.get_existing_entities = get_existing_entities
caosadvancedtools.models.parser.db.Query = MockQuery
caosadvancedtools.models.parser.db.Container.update = Mock()
model.sync_data_model(True, True)
assert caosadvancedtools.models.parser.db.Container.update.called
output, err = capfd.readouterr()
print(output)
assert "version from the yaml file: TEXT" in output
assert "version from LinkAhead: INTEGER" in output
def test_setting_values():
model = parse_model_from_string("""
parameter:
Loading