Skip to content

result_factory

Conversions between schema and internal models.

create_results_model(test_results_orm)

Creates the internal model object from the corresponding DB object.

Source code in mlte/store/artifact/underlying/rdbs/result_factory.py
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
def create_results_model(
    test_results_orm: DBTestResults,
) -> TestResultsModel:
    """Creates the internal model object from the corresponding DB object."""
    body = TestResultsModel(
        results=(
            {
                result.evidence_metadata.test_case_id: ResultModel(
                    type=result.type,
                    message=result.message,
                    additional_data=result.additional_data,
                    evidence_metadata=EvidenceMetadata(
                        test_case_id=result.evidence_metadata.test_case_id,
                        measurement=MeasurementMetadata.from_json_string(
                            result.evidence_metadata.measurement
                        ),
                    ),
                )
                for result in test_results_orm.results
            }
        ),
        test_suite_id=test_results_orm.test_suite_identifier,
        test_suite=(
            suite_factory.create_suite_model(test_results_orm.test_suite)
        ),
    )
    return body

create_results_orm(test_results)

Creates the DB object from the corresponding internal model.

Source code in mlte/store/artifact/underlying/rdbs/result_factory.py
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
def create_results_orm(
    test_results: TestResultsModel,
) -> DBTestResults:
    """Creates the DB object from the corresponding internal model."""
    test_results_orm = DBTestResults(
        results=[],
        test_suite_identifier=test_results.test_suite_id,
        test_suite=suite_factory.create_suite_orm(test_results.test_suite),
    )
    for test_case_id, result in test_results.results.items():
        result_orm = DBResult(
            type=result.type,
            message=result.message,
            additional_data=result.additional_data,
            test_results=test_results_orm,
            evidence_metadata=(
                DBEvidenceMetadata(
                    test_case_id=test_case_id,
                    measurement=result.evidence_metadata.measurement.to_json_string(),
                )
                if result.evidence_metadata is not None
                else None
            ),
        )
        test_results_orm.results.append(result_orm)
    return test_results_orm