Skip to content

Commit

Permalink
refactor: Organize field-level checks thematically. Rename for consis…
Browse files Browse the repository at this point in the history
…tency.
  • Loading branch information
jpmckinney committed Oct 29, 2021
1 parent 9bfe678 commit ae0447d
Show file tree
Hide file tree
Showing 32 changed files with 46 additions and 59 deletions.
@@ -1,5 +1,5 @@
from tools.checks import get_empty_result_field
from tools.codelists import get_document_format_codelist
from tools.codelists import get_media_type_codelist

name = "document_format_codelist"

Expand All @@ -10,7 +10,7 @@ def calculate(item, key):

document_format = item[key]

passed = document_format in get_document_format_codelist()
passed = document_format in get_media_type_codelist()
result["result"] = passed

if not passed:
Expand Down
Empty file.
69 changes: 29 additions & 40 deletions contracting_process/field_level/definitions.py
@@ -1,24 +1,15 @@
import functools

from contracting_process.field_level.checks import (
date_time,
document_description_length,
document_format_codelist,
document_type,
email,
exists,
identifier_scheme,
language,
non_empty,
number_checks,
ocid_prefix_check,
telephone,
)
from contracting_process.field_level.codelist import document_format, identifier_scheme, language
from contracting_process.field_level.coherent import document_type, number
from contracting_process.field_level.format import email, ocid, telephone
from contracting_process.field_level.misc import date_time, document_description_length
from contracting_process.field_level.present import exists, non_empty

coverage_checks = [(exists.calculate, exists.name), (non_empty.calculate, non_empty.name)]

definitions = {
"ocid": [(ocid_prefix_check.calculate, ocid_prefix_check.name)],
"ocid": [(ocid.calculate, ocid.name)],
"id": [],
"date": [(date_time.calculate, date_time.name)],
"tag": [],
Expand Down Expand Up @@ -97,7 +88,7 @@
"planning.documents.url": [],
"planning.documents.datePublished": [(date_time.calculate, date_time.name)],
"planning.documents.dateModified": [(date_time.calculate, date_time.name)],
"planning.documents.format": [(document_format_codelist.calculate, document_format_codelist.name)],
"planning.documents.format": [(document_format.calculate, document_format.name)],
"planning.documents.language": [(language.calculate, language.name)],
"planning.milestones": [],
"planning.milestones.id": [],
Expand All @@ -121,7 +112,7 @@
"planning.milestones.documents.url": [],
"planning.milestones.documents.datePublished": [(date_time.calculate, date_time.name)],
"planning.milestones.documents.dateModified": [(date_time.calculate, date_time.name)],
"planning.milestones.documents.format": [(document_format_codelist.calculate, document_format_codelist.name)],
"planning.milestones.documents.format": [(document_format.calculate, document_format.name)],
"planning.milestones.documents.language": [(language.calculate, language.name)],
"tender": [],
"tender.id": [],
Expand Down Expand Up @@ -166,13 +157,13 @@
"tender.items.additionalClassifications.id": [],
"tender.items.additionalClassifications.description": [],
"tender.items.additionalClassifications.uri": [],
"tender.items.quantity": [(number_checks.calculate, number_checks.name)],
"tender.items.quantity": [(number.calculate, number.name)],
"tender.items.unit": [],
"tender.items.unit.scheme": [],
"tender.items.unit.id": [],
"tender.items.unit.name": [],
"tender.items.unit.value": [],
"tender.items.unit.value.amount": [(number_checks.calculate, number_checks.name)],
"tender.items.unit.value.amount": [(number.calculate, number.name)],
"tender.items.unit.value.currency": [],
"tender.items.unit.uri": [],
"tender.value": [],
Expand All @@ -194,9 +185,9 @@
"tender.tenderPeriod.startDate": [(date_time.calculate, date_time.name)],
"tender.tenderPeriod.endDate": [(date_time.calculate, date_time.name)],
"tender.tenderPeriod.maxExtentDate": [(date_time.calculate, date_time.name)],
"tender.tenderPeriod.durationInDays": [(number_checks.calculate, number_checks.name)],
"tender.tenderPeriod.durationInDays": [(number.calculate, number.name)],
"tender.enquiryPeriod": [],
"tender.enquiryPeriod.durationInDays": [(number_checks.calculate, number_checks.name)],
"tender.enquiryPeriod.durationInDays": [(number.calculate, number.name)],
"tender.enquiryPeriod.startDate": [(date_time.calculate, date_time.name)],
"tender.enquiryPeriod.endDate": [(date_time.calculate, date_time.name)],
"tender.enquiryPeriod.maxExtentDate": [(date_time.calculate, date_time.name)],
Expand All @@ -206,13 +197,13 @@
"tender.awardPeriod.startDate": [(date_time.calculate, date_time.name)],
"tender.awardPeriod.endDate": [(date_time.calculate, date_time.name)],
"tender.awardPeriod.maxExtentDate": [(date_time.calculate, date_time.name)],
"tender.awardPeriod.durationInDays": [(number_checks.calculate, number_checks.name)],
"tender.awardPeriod.durationInDays": [(number.calculate, number.name)],
"tender.contractPeriod": [],
"tender.contractPeriod.startDate": [(date_time.calculate, date_time.name)],
"tender.contractPeriod.endDate": [(date_time.calculate, date_time.name)],
"tender.contractPeriod.maxExtentDate": [(date_time.calculate, date_time.name)],
"tender.contractPeriod.durationInDays": [(number_checks.calculate, number_checks.name)],
"tender.numberOfTenderers": [(number_checks.calculate, number_checks.name)],
"tender.contractPeriod.durationInDays": [(number.calculate, number.name)],
"tender.numberOfTenderers": [(number.calculate, number.name)],
"tender.tenderers": [],
"tender.tenderers.name": [],
"tender.tenderers.id": [],
Expand Down Expand Up @@ -248,7 +239,7 @@
"tender.documents.url": [],
"tender.documents.datePublished": [(date_time.calculate, date_time.name)],
"tender.documents.dateModified": [(date_time.calculate, date_time.name)],
"tender.documents.format": [(document_format_codelist.calculate, document_format_codelist.name)],
"tender.documents.format": [(document_format.calculate, document_format.name)],
"tender.documents.language": [(language.calculate, language.name)],
"tender.milestones": [],
"tender.milestones.id": [],
Expand All @@ -272,7 +263,7 @@
"tender.milestones.documents.url": [],
"tender.milestones.documents.datePublished": [(date_time.calculate, date_time.name)],
"tender.milestones.documents.dateModified": [(date_time.calculate, date_time.name)],
"tender.milestones.documents.format": [(document_format_codelist.calculate, document_format_codelist.name)],
"tender.milestones.documents.format": [(document_format.calculate, document_format.name)],
"tender.milestones.documents.language": [(language.calculate, language.name)],
"tender.amendments": [],
"tender.amendments.date": [(date_time.calculate, date_time.name)],
Expand Down Expand Up @@ -341,20 +332,20 @@
"awards.items.additionalClassifications.id": [],
"awards.items.additionalClassifications.description": [],
"awards.items.additionalClassifications.uri": [],
"awards.items.quantity": [(number_checks.calculate, number_checks.name)],
"awards.items.quantity": [(number.calculate, number.name)],
"awards.items.unit": [],
"awards.items.unit.scheme": [],
"awards.items.unit.id": [],
"awards.items.unit.name": [],
"awards.items.unit.value": [],
"awards.items.unit.value.amount": [(number_checks.calculate, number_checks.name)],
"awards.items.unit.value.amount": [(number.calculate, number.name)],
"awards.items.unit.value.currency": [],
"awards.items.unit.uri": [],
"awards.contractPeriod": [],
"awards.contractPeriod.startDate": [(date_time.calculate, date_time.name)],
"awards.contractPeriod.endDate": [(date_time.calculate, date_time.name)],
"awards.contractPeriod.maxExtentDate": [(date_time.calculate, date_time.name)],
"awards.contractPeriod.durationInDays": [(number_checks.calculate, number_checks.name)],
"awards.contractPeriod.durationInDays": [(number.calculate, number.name)],
"awards.documents": [],
"awards.documents.id": [],
"awards.documents.documentType": [
Expand All @@ -365,7 +356,7 @@
"awards.documents.url": [],
"awards.documents.datePublished": [(date_time.calculate, date_time.name)],
"awards.documents.dateModified": [(date_time.calculate, date_time.name)],
"awards.documents.format": [(document_format_codelist.calculate, document_format_codelist.name)],
"awards.documents.format": [(document_format.calculate, document_format.name)],
"awards.documents.language": [(language.calculate, language.name)],
"awards.amendments": [],
"awards.amendments.date": [(date_time.calculate, date_time.name)],
Expand Down Expand Up @@ -397,7 +388,7 @@
"contracts.period.startDate": [(date_time.calculate, date_time.name)],
"contracts.period.endDate": [(date_time.calculate, date_time.name)],
"contracts.period.maxExtentDate": [(date_time.calculate, date_time.name)],
"contracts.period.durationInDays": [(number_checks.calculate, number_checks.name)],
"contracts.period.durationInDays": [(number.calculate, number.name)],
"contracts.value": [],
"contracts.value.amount": [],
"contracts.value.currency": [],
Expand All @@ -414,13 +405,13 @@
"contracts.items.additionalClassifications.id": [],
"contracts.items.additionalClassifications.description": [],
"contracts.items.additionalClassifications.uri": [],
"contracts.items.quantity": [(number_checks.calculate, number_checks.name)],
"contracts.items.quantity": [(number.calculate, number.name)],
"contracts.items.unit": [],
"contracts.items.unit.scheme": [],
"contracts.items.unit.id": [],
"contracts.items.unit.name": [],
"contracts.items.unit.value": [],
"contracts.items.unit.value.amount": [(number_checks.calculate, number_checks.name)],
"contracts.items.unit.value.amount": [(number.calculate, number.name)],
"contracts.items.unit.value.currency": [],
"contracts.items.unit.uri": [],
"contracts.dateSigned": [(date_time.calculate, date_time.name)],
Expand All @@ -434,15 +425,15 @@
"contracts.documents.url": [],
"contracts.documents.datePublished": [(date_time.calculate, date_time.name)],
"contracts.documents.dateModified": [(date_time.calculate, date_time.name)],
"contracts.documents.format": [(document_format_codelist.calculate, document_format_codelist.name)],
"contracts.documents.format": [(document_format.calculate, document_format.name)],
"contracts.documents.language": [(language.calculate, language.name)],
"contracts.implementation": [(document_description_length.calculate, document_description_length.name)],
"contracts.implementation.transactions": [],
"contracts.implementation.transactions.id": [],
"contracts.implementation.transactions.source": [],
"contracts.implementation.transactions.date": [(date_time.calculate, date_time.name)],
"contracts.implementation.transactions.value": [],
"contracts.implementation.transactions.value.amount": [(number_checks.calculate, number_checks.name)],
"contracts.implementation.transactions.value.amount": [(number.calculate, number.name)],
"contracts.implementation.transactions.value.currency": [],
"contracts.implementation.transactions.payer": [],
"contracts.implementation.transactions.payer.name": [],
Expand Down Expand Up @@ -542,9 +533,7 @@
"contracts.implementation.milestones.documents.url": [],
"contracts.implementation.milestones.documents.datePublished": [(date_time.calculate, date_time.name)],
"contracts.implementation.milestones.documents.dateModified": [(date_time.calculate, date_time.name)],
"contracts.implementation.milestones.documents.format": [
(document_format_codelist.calculate, document_format_codelist.name)
],
"contracts.implementation.milestones.documents.format": [(document_format.calculate, document_format.name)],
"contracts.implementation.milestones.documents.language": [(language.calculate, language.name)],
"contracts.implementation.documents": [],
"contracts.implementation.documents.id": [],
Expand All @@ -558,7 +547,7 @@
"contracts.implementation.documents.url": [],
"contracts.implementation.documents.datePublished": [(date_time.calculate, date_time.name)],
"contracts.implementation.documents.dateModified": [(date_time.calculate, date_time.name)],
"contracts.implementation.documents.format": [(document_format_codelist.calculate, document_format_codelist.name)],
"contracts.implementation.documents.format": [(document_format.calculate, document_format.name)],
"contracts.implementation.documents.language": [(language.calculate, language.name)],
"contracts.relatedProcesses": [],
"contracts.relatedProcesses.id": [],
Expand Down Expand Up @@ -589,7 +578,7 @@
"contracts.milestones.documents.url": [],
"contracts.milestones.documents.datePublished": [(date_time.calculate, date_time.name)],
"contracts.milestones.documents.dateModified": [(date_time.calculate, date_time.name)],
"contracts.milestones.documents.format": [(document_format_codelist.calculate, document_format_codelist.name)],
"contracts.milestones.documents.format": [(document_format.calculate, document_format.name)],
"contracts.milestones.documents.language": [(language.calculate, language.name)],
"contracts.amendments": [],
"contracts.amendments.date": [(date_time.calculate, date_time.name)],
Expand Down
Empty file.
Empty file.
Empty file.
2 changes: 1 addition & 1 deletion tests/field/test_date_time.py
@@ -1,4 +1,4 @@
from contracting_process.field_level.checks.date_time import calculate
from contracting_process.field_level.misc.date_time import calculate
from tests import is_subset_dict


Expand Down
2 changes: 1 addition & 1 deletion tests/field/test_document_description_length.py
@@ -1,4 +1,4 @@
from contracting_process.field_level.checks.document_description_length import calculate
from contracting_process.field_level.misc.document_description_length import calculate
from tests import is_subset_dict


Expand Down
@@ -1,4 +1,4 @@
from contracting_process.field_level.checks.document_format_codelist import calculate
from contracting_process.field_level.codelist.document_format import calculate
from tests import is_subset_dict


Expand Down
2 changes: 1 addition & 1 deletion tests/field/test_document_type.py
@@ -1,4 +1,4 @@
from contracting_process.field_level.checks import document_type
from contracting_process.field_level.coherent import document_type
from tests import is_subset_dict


Expand Down
2 changes: 1 addition & 1 deletion tests/field/test_email.py
@@ -1,4 +1,4 @@
from contracting_process.field_level.checks.email import calculate
from contracting_process.field_level.format.email import calculate
from tests import is_subset_dict

"""
Expand Down
2 changes: 1 addition & 1 deletion tests/field/test_exists.py
@@ -1,4 +1,4 @@
from contracting_process.field_level.checks.exists import calculate
from contracting_process.field_level.present.exists import calculate
from tests import is_subset_dict


Expand Down
2 changes: 1 addition & 1 deletion tests/field/test_identifier_scheme.py
@@ -1,4 +1,4 @@
from contracting_process.field_level.checks.identifier_scheme import calculate
from contracting_process.field_level.codelist.identifier_scheme import calculate
from tests import is_subset_dict


Expand Down
2 changes: 1 addition & 1 deletion tests/field/test_language.py
@@ -1,4 +1,4 @@
from contracting_process.field_level.checks.language import calculate
from contracting_process.field_level.codelist.language import calculate
from tests import is_subset_dict


Expand Down
2 changes: 1 addition & 1 deletion tests/field/test_non_empty.py
@@ -1,4 +1,4 @@
from contracting_process.field_level.checks.non_empty import calculate
from contracting_process.field_level.present.non_empty import calculate
from tests import is_subset_dict


Expand Down
@@ -1,4 +1,4 @@
from contracting_process.field_level.checks.number_checks import calculate
from contracting_process.field_level.coherent.number import calculate
from tests import is_subset_dict


Expand Down
@@ -1,4 +1,4 @@
from contracting_process.field_level.checks.ocid_prefix_check import calculate
from contracting_process.field_level.format.ocid import calculate
from tests import is_subset_dict


Expand Down
2 changes: 1 addition & 1 deletion tests/field/test_telephone.py
@@ -1,4 +1,4 @@
from contracting_process.field_level.checks.telephone import calculate
from contracting_process.field_level.format.telephone import calculate
from tests import is_subset_dict

"""
Expand Down
6 changes: 2 additions & 4 deletions tests/tools/test_codelists.py
Expand Up @@ -2,13 +2,11 @@

import pytest

from tools.codelists import get_document_format_codelist, get_identifier_scheme_codelist, get_ocid_prefix_codelist
from tools.codelists import get_identifier_scheme_codelist, get_media_type_codelist, get_ocid_prefix_codelist


@patch("requests.get")
@pytest.mark.parametrize(
"func", [get_document_format_codelist, get_identifier_scheme_codelist, get_ocid_prefix_codelist]
)
@pytest.mark.parametrize("func", [get_identifier_scheme_codelist, get_media_type_codelist, get_ocid_prefix_codelist])
def test_get(get, func):
get.return_value = MagicMock()
get.return_value.text = ""
Expand Down
2 changes: 1 addition & 1 deletion tools/codelists.py
Expand Up @@ -14,7 +14,7 @@ def _get(url, key):
return tuple(row[key] for row in reader)


def get_document_format_codelist():
def get_media_type_codelist():
return _get(
"https://raw.githubusercontent.com/open-contracting/standard/1.2-dev/schema/codelists/mediaType.csv", "Code"
)
Expand Down

0 comments on commit ae0447d

Please sign in to comment.