Skip to content

Commit

Permalink
Refactor de algunos tests para soporte de py36
Browse files Browse the repository at this point in the history
refs:#87
  • Loading branch information
leandro-gomez committed Dec 20, 2017
1 parent 8f2c57e commit eedb9d8
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 117 deletions.
23 changes: 21 additions & 2 deletions tests/factories/catalog_errors.py
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ def malformed_uri():
"superThemeTaxonomy"
],
"message": "%s is not a %s" % (
jsonschema_str('datos.gob.ar/superThemeTaxonomy.json'), jsonschema_str('uri')),
jsonschema_str('datos.gob.ar/superThemeTaxonomy.json'), jsonschema_str('uri')),
"error_code": 2,
"validator_value": "uri"
})
Expand All @@ -256,7 +256,26 @@ def invalid_theme_taxonomy():
"catalog",
"themeTaxonomy"
],
"message": "Los ids [%s] estan repetidos en mas de un `theme`" % jsonschema_str('convocatorias'),
"message": "Los ids [%s] estan repetidos en mas de un `theme`" % jsonschema_str(
'convocatorias'),
"error_code": 2,
"validator_value": "Chequea ids duplicados en themeTaxonomy"
})


def missing_dataset():
return catalog_error_response({
"instance": None,
"validator": "required",
"path": [],
"message": "%s is a required property" % jsonschema_str('dataset'),
"error_code": 1,
"validator_value": [
"dataset",
"title",
"description",
"publisher",
"superThemeTaxonomy"
],
"dataset": None,
})
41 changes: 4 additions & 37 deletions tests/factories/core_files.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
from tests.factories.catalog_errors import missing_catalog_title, missing_catalog_description, \
missing_catalog_dataset, invalid_catalog_publisher_type, invalid_publisher_mbox_format, \
null_catalog_publisher, empty_mandatory_string, malformed_date, malformed_datetime, \
malformed_datetime2, malformed_email, malformed_uri, invalid_theme_taxonomy
malformed_datetime2, malformed_email, malformed_uri, invalid_theme_taxonomy, missing_dataset
from tests.factories.dataset_errors import missing_dataset_title, missing_dataset_description, \
malformed_accrualperiodicity, malformed_temporal, malformed_temporal2
malformed_accrualperiodicity, malformed_temporal, malformed_temporal2, too_long_field_title
from tests.factories.other_errors import multiple_missing_descriptions, invalid_multiple_fields_type
from .utils import jsonschema_str

Expand Down Expand Up @@ -45,14 +45,6 @@
'full_data': FULL_DATA_RESPONSE,
# Un datajson con valores correctos únicamente para las claves requeridas
'minimum_data': None,
# Tests de inputs inválidos
# 'missing_catalog_title': None,
# 'missing_catalog_description': None,
# 'missing_catalog_dataset': None,
# 'missing_dataset_title': None,
# 'missing_dataset_description': None,
# 'missing_distribution_title': None,
# 'multiple_missing_descriptions': None,

# Tests de TIPOS DE CAMPOS
# Tests de inputs válidos
Expand All @@ -62,36 +54,9 @@
'invalid_catalog_publisher_type': None,
'invalid_publisher_mbox_format': None,
# Catalog_publisher y distribution_bytesize fallan
# 'invalid_multiple_fields_type': None,
# 'invalid_dataset_theme_type': None,
'invalid_field_description_type': None,
#'null_catalog_publisher': None,
# La clave requerida catalog["description"] NO puede ser str vacía
# 'empty_mandatory_string': None,
'empty_optional_string': None,
# dataset["accrualPeriodicity"] no cumple con el patrón esperado
# 'malformed_accrualperiodicity': None,
# catalog["issued"] no es una fecha ISO 8601 válida
# 'malformed_date': None,
# catalog["issued"] no es una fecha y hora ISO 8601 válida
# 'malformed_datetime': None,
# catalog["issued"] no es una fecha y hora ISO 8601 válida
# 'malformed_datetime2': None,
# dataset["temporal"] no es un rango de fechas ISO 8601 válido
# 'malformed_temporal': None,
# dataset["temporal"] no es un rango de fechas ISO 8601 válido
# 'malformed_temporal2': None,
# catalog["publisher"]["mbox"] no es un email válido
# 'malformed_email': None,
# catalog["superThemeTaxonomy"] no es una URI válida
# 'malformed_uri': None,
# 'invalid_dataset_type': None,
# 'invalid_themeTaxonomy': None,
'missing_dataset': None,
'too_long_field_title': None,
# Prueba que las listas con info de errores se generen correctamente
# en presencia de 7 errores de distinto tipo y jerarquía
# 'several_assorted_errors': None,

}

Expand Down Expand Up @@ -156,13 +121,15 @@ def missing_distribution_title():
'malformed_email': malformed_email(),
'malformed_uri': malformed_uri(),
'invalid_themeTaxonomy': invalid_theme_taxonomy(),
'missing_dataset': missing_dataset(),

'missing_dataset_title': missing_dataset_title(),
'missing_dataset_description': missing_dataset_description(),
'malformed_accrualperiodicity': malformed_accrualperiodicity(),
'malformed_date': malformed_date(),
'malformed_temporal': malformed_temporal(),
'malformed_temporal2': malformed_temporal2(),
'too_long_field_title': too_long_field_title(),

'missing_distribution_title': missing_distribution_title(),

Expand Down
30 changes: 29 additions & 1 deletion tests/factories/dataset_errors.py
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,8 @@ def malformed_temporal2():
0,
"temporal"
],
"message": "%s is not valid under any of the given schemas" % jsonschema_str('2015-01-10/31-12-2015'),
"message": "%s is not valid under any of the given schemas" % jsonschema_str(
'2015-01-10/31-12-2015'),
"error_code": 2,
"validator_value": [
{
Expand All @@ -174,3 +175,30 @@ def malformed_temporal2():
}
]
})


def too_long_field_title():
return gen_dataset_error({
"instance": "organismo_unidad_operativa_contrataciones_desc_organismo_unidad_operativa_contrataciones_desc",
"validator": "anyOf",
"path": [
"dataset",
0,
"distribution",
0,
"field",
3,
"title"
],
"message": "%s is not valid under any of the given schemas" % jsonschema_str('organismo_unidad_operativa_contrataciones_desc_organismo_unidad_operativa_contrataciones_desc'),
"error_code": 2,
"validator_value": [
{
"type": "string",
"maxLength": 60
},
{
"type": "null"
}
]
})
26 changes: 0 additions & 26 deletions tests/results/missing_dataset.json

This file was deleted.

51 changes: 0 additions & 51 deletions tests/samples/too_long_field_title.json
Original file line number Diff line number Diff line change
Expand Up @@ -155,57 +155,6 @@
]
}
]
},
{
"title": "Sistema de contrataciones electrónicas (sin datos)",
"description": "Datos correspondientes al Sistema de Contrataciones Electrónicas (Argentina Compra)",
"publisher": {
"name": "Ministerio de Modernización. Secretaría de Modernización Administrativa. Oficina Nacional de Contrataciones",
"mbox": "onc@modernizacion.gob.ar"
},
"contactPoint": {
"fn": "Ministerio de Modernización. Secretaría de Modernización Administrativa. Oficina Nacional de Contrataciones. Dirección de Compras Electrónicas.",
"hasEmail": "onc-compraselectronicas@modernizacion.gob.ar"
},
"superTheme": [
"ECON"
],
"theme": [
"contrataciones",
"compras",
"convocatorias"
],
"keyword": [
"bienes",
"compras",
"contrataciones"
],
"accrualPeriodicity": "R/P1Y",
"issued": "2016-04-14T19:48:05.433640-03:00",
"modified": "2016-04-19T19:48:05.433640-03:00",
"identifier": "99db6631-d1c9-470b-a73e-c62daa32c420",
"language": [
"spa"
],
"spatial": "ARG",
"temporal": "2015-01-01/2015-12-31",
"landingPage": "http://datos.gob.ar/dataset/sistema-de-contrataciones-electronicas-argentina-compra",
"license": "Open Data Commons Open Database License 1.0",
"distribution": [
{
"accessURL": "http://datos.gob.ar/dataset/sistema-de-contrataciones-electronicas-argentina-compra/archivo/fa3603b3-0af7-43cc-9da9-90a512217d8a",
"description": "Listado de las convocatorias abiertas durante el año 2015 en el sistema de contrataciones electrónicas",
"format": "PDF",
"mediaType": "application/pdf",
"downloadURL": "http://186.33.211.253/dataset/99db6631-d1c9-470b-a73e-c62daa32c420/resource/4b7447cb-31ff-4352-96c3-589d212e1cc9/download/convocatorias-abiertas-anio-2015.pdf",
"title": "Convocatorias abiertas durante el año 2015",
"license": "Open Data Commons Open Database License 1.0",
"byteSize": 5120,
"issued": "2016-04-14T19:48:05.433640-03:00",
"modified": "2016-04-19T19:48:05.433640-03:00",
"rights": "Derechos especificados en la licencia."
}
]
}
]
}

0 comments on commit eedb9d8

Please sign in to comment.