• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Clinical-Genomics / cg / 12294747514

12 Dec 2024 10:43AM UTC coverage: 85.003%. First build
12294747514

Pull #4004

github

web-flow
Merge 2f0d51093 into a5253152d
Pull Request #4004: Add RML validation rules

22 of 32 new or added lines in 5 files covered. (68.75%)

25659 of 30186 relevant lines covered (85.0%)

0.85 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

66.67
/cg/services/order_validation_service/workflows/rml/validation_service.py
1
from cg.services.order_validation_service.errors.order_errors import OrderError
1✔
2
from cg.services.order_validation_service.errors.sample_errors import SampleError
1✔
3
from cg.services.order_validation_service.errors.validation_errors import ValidationErrors
1✔
4
from cg.services.order_validation_service.model_validator.model_validator import ModelValidator
1✔
5
from cg.services.order_validation_service.order_validation_service import OrderValidationService
1✔
6
from cg.services.order_validation_service.response_mapper import create_order_validation_response
1✔
7
from cg.services.order_validation_service.utils import (
1✔
8
    apply_order_validation,
9
    apply_sample_validation,
10
)
11
from cg.services.order_validation_service.workflows.order_validation_rules import ORDER_RULES
1✔
12
from cg.services.order_validation_service.workflows.rml.models.order import RmlOrder
1✔
13
from cg.services.order_validation_service.workflows.rml.validation_rules import SAMPLE_RULES
1✔
14
from cg.store.store import Store
1✔
15

16

17
class RmlValidationService(OrderValidationService):
1✔
18

19
    def __init__(self, store: Store):
1✔
20
        self.store = store
1✔
21

22
    def validate(self, raw_order: dict) -> dict:
1✔
NEW
23
        errors: ValidationErrors = self._get_errors(raw_order)
×
NEW
24
        return create_order_validation_response(raw_order=raw_order, errors=errors)
×
25

26
    def _get_errors(self, raw_order: dict) -> ValidationErrors:
1✔
NEW
27
        order, field_errors = ModelValidator.validate(order=raw_order, model=RmlOrder)
×
28

NEW
29
        if not order:
×
NEW
30
            return field_errors
×
31

NEW
32
        order_errors: list[OrderError] = apply_order_validation(
×
33
            rules=ORDER_RULES,
34
            order=order,
35
            store=self.store,
36
        )
NEW
37
        sample_errors: list[SampleError] = apply_sample_validation(
×
38
            rules=SAMPLE_RULES,
39
            order=order,
40
            store=self.store,
41
        )
42

NEW
43
        return ValidationErrors(
×
44
            sample_errors=sample_errors,
45
            order_errors=order_errors,
46
        )
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc