{
    "test_file_exists": {
        "test_name": "Checking if the mandatory files according to the contribution manual are present",
        "success": true,
        "message": [
            "The file 'schema.json' exists",
            "The file 'examples/example.json' exists",
            "The file 'examples/example-normalized.json' exists",
            "The file 'examples/example.jsonld' exists",
            "The file 'examples/example-normalized.jsonld' exists",
            "The file 'notes.yaml' exists",
            "The file 'ADOPTERS.yaml' exists"
        ]
    },
    "test_valid_json": {
        "test_name": "Checking that the mandatory json files are valid json files",
        "success": true,
        "message": [
            "file schema.json is a valid json",
            "file examples/example.json is a valid json",
            "file examples/example-normalized.json is a valid json",
            "file examples/example.jsonld is a valid json",
            "file examples/example-normalized.jsonld is a valid json"
        ]
    },
    "test_yaml_files": {
        "test_name": "Checking that ADOPTERS.yaml and notes.yaml are valid YAML files",
        "success": true,
        "message": [
            "The file 'ADOPTERS.yaml' is a valid YAML file.",
            "The file 'notes.yaml' is a valid YAML file."
        ]
    },
    "test_schema_descriptions": {
        "test_name": "Checking that the schema is properly described in all its attributes",
        "success": true,
        "message": [
            "The schema has a root description.",
            "The attribute 'allOf[0].id' is properly documented.",
            "The attribute 'allOf[0].type' is properly documented.",
            "The attribute 'allOf[0].accessMechanism' is properly documented.",
            "The attribute 'allOf[0].accessRights' is properly documented.",
            "The attribute 'allOf[0].accuralPeriodicity' is properly documented.",
            "The attribute 'allOf[0].addressesAvailable' is properly documented.",
            "The attribute 'allOf[0].applicableLegislation' is properly documented.",
            "The attribute 'allOf[0].applicableLegislation.items' is properly documented.",
            "The attribute 'allOf[0].belongsToCatalogue' is properly documented.",
            "The attribute 'allOf[0].conformsTo' is properly documented.",
            "The attribute 'allOf[0].conformsTo.items' is properly documented.",
            "The attribute 'allOf[0].contactPoint' is properly documented.",
            "The attribute 'allOf[0].contactPoint.items.email' is properly documented.",
            "The attribute 'allOf[0].creator' is properly documented.",
            "The attribute 'allOf[0].creator.items' is properly documented.",
            "The attribute 'allOf[0].description' is properly documented.",
            "The attribute 'allOf[0].dissemination' is properly documented.",
            "The attribute 'allOf[0].disseminationOrganization' is properly documented.",
            "The attribute 'allOf[0].distribution' is properly documented.",
            "The attribute 'allOf[0].distribution.items.anyOf[0]' is properly documented.",
            "The attribute 'allOf[0].distribution.items.anyOf[1]' is properly documented.",
            "The attribute 'allOf[0].geolocation' is properly documented.",
            "The attribute 'allOf[0].hasVersion' is properly documented.",
            "The attribute 'allOf[0].hasVersion.items.anyOf[0]' is properly documented.",
            "The attribute 'allOf[0].hasVersion.items.anyOf[1]' is properly documented.",
            "The attribute 'allOf[0].identifier' is properly documented.",
            "The attribute 'allOf[0].identifier.items' is properly documented.",
            "The attribute 'allOf[0].inSeries' is properly documented.",
            "The attribute 'allOf[0].inSeries.items.anyOf[0]' is properly documented.",
            "The attribute 'allOf[0].inSeries.items.anyOf[1]' is properly documented.",
            "The attribute 'allOf[0].isReferencedBy' is properly documented.",
            "The attribute 'allOf[0].isReferencedBy.items' is properly documented.",
            "The attribute 'allOf[0].isVersionOf' is properly documented.",
            "The attribute 'allOf[0].isVersionOf.items' is properly documented.",
            "The attribute 'allOf[0].issued' is properly documented.",
            "The attribute 'allOf[0].keyword' is properly documented.",
            "The attribute 'allOf[0].keyword.items' is properly documented.",
            "The attribute 'allOf[0].landingPage' is properly documented.",
            "The attribute 'allOf[0].landingPage.items' is properly documented.",
            "The attribute 'allOf[0].language' is properly documented.",
            "The attribute 'allOf[0].language.items' is properly documented.",
            "The attribute 'allOf[0].license' is properly documented.",
            "The attribute 'allOf[0].modified' is properly documented.",
            "The attribute 'allOf[0].otherIdentifier' is properly documented.",
            "The attribute 'allOf[0].otherIdentifier.items' is properly documented.",
            "The attribute 'allOf[0].page' is properly documented.",
            "The attribute 'allOf[0].page.items' is properly documented.",
            "The attribute 'allOf[0].provenance' is properly documented.",
            "The attribute 'allOf[0].provenance.items' is properly documented.",
            "The attribute 'allOf[0].publisher' is properly documented.",
            "The attribute 'allOf[0].qualifiedAttribution' is properly documented.",
            "The attribute 'allOf[0].qualifiedAttribution.items' is properly documented.",
            "The attribute 'allOf[0].qualifiedRelation' is properly documented.",
            "The attribute 'allOf[0].qualifiedRelation.items' is properly documented.",
            "The attribute 'allOf[0].relation' is properly documented.",
            "The attribute 'allOf[0].relation.items' is properly documented.",
            "The attribute 'allOf[0].reputation' is properly documented.",
            "The attribute 'allOf[0].reputationOrganization' is properly documented.",
            "The attribute 'allOf[0].sample' is properly documented.",
            "The attribute 'allOf[0].sample.items' is properly documented.",
            "The attribute 'allOf[0].source' is properly documented.",
            "The attribute 'allOf[0].source.items.anyOf[0]' is properly documented.",
            "The attribute 'allOf[0].source.items.anyOf[1]' is properly documented.",
            "The attribute 'allOf[0].spatial' is properly documented.",
            "The attribute 'allOf[0].spatial.items' is properly documented.",
            "The attribute 'allOf[0].spatialResolution' is properly documented.",
            "The attribute 'allOf[0].standardization' is properly documented.",
            "The attribute 'allOf[0].standardizationSource' is properly documented.",
            "The attribute 'allOf[0].temporal' is properly documented.",
            "The attribute 'allOf[0].temporal.items' is properly documented.",
            "The attribute 'allOf[0].temporalResolution' is properly documented.",
            "The attribute 'allOf[0].temporalResolution.items' is properly documented.",
            "The attribute 'allOf[0].theme' is properly documented.",
            "The attribute 'allOf[0].theme.items' is properly documented.",
            "The attribute 'allOf[0].title' is properly documented.",
            "The attribute 'allOf[0].Type' is properly documented.",
            "The attribute 'allOf[0].validationSchema' is properly documented.",
            "The attribute 'allOf[0].version' is properly documented.",
            "The attribute 'allOf[0].versionNotes' is properly documented.",
            "The attribute 'allOf[0].versionNotes.items' is properly documented.",
            "The attribute 'allOf[0].wasGeneratedBy' is properly documented.",
            "The attribute 'allOf[0].wasGeneratedBy.items' is properly documented."
        ]
    },
    "test_schema_metadata": {
        "test_name": "Validating schema.json metadata",
        "success": true,
        "message": [
            "$schema is valid",
            "modelTags is present and not empty",
            "$schemaVersion is valid",
            "title is valid",
            "description is valid",
            "$id is valid and points to a real site",
            "derivedFrom is present and not empty",
            "required section is valid and contains 'id' and 'type'",
            "license is present and not empty"
        ]
    },
    "test_string_incorrect": {
        "test_name": "Checking invalid string attributes",
        "success": true,
        "message": []
    },
    "test_valid_keyvalues_examples": {
        "test_name": "Checking that example files are valid against the schema",
        "success": true,
        "message": [
            "example.json: JSON data is valid against the schema.",
            "example.jsonld: JSON data is valid against the schema.",
            "All @context URLs are valid."
        ]
    },
    "test_valid_ngsiv2": {
        "test_name": "Validating example-normalized.json as NGSI v2 normalized format",
        "success": true,
        "message": []
    },
    "test_valid_ngsild": {
        "test_name": "Validating example-normalized.jsonld as NGSI-LD format",
        "success": true,
        "message": [
            "All @context URLs are valid."
        ]
    },
    "test_duplicated_attributes": {
        "test_name": "Checking that all payload attributes are defined in the schema",
        "success": false,
        "message": [
            "The following attributes in the payload are not defined in the schema:",
            "*** Attribute 'description.de' in the payload is not defined in the schema.",
            "*** Attribute 'description.el' in the payload is not defined in the schema.",
            "*** Attribute 'description.en' in the payload is not defined in the schema.",
            "*** Attribute 'description.es' in the payload is not defined in the schema.",
            "*** Attribute 'description.fi' in the payload is not defined in the schema.",
            "*** Attribute 'description.fr' in the payload is not defined in the schema.",
            "*** Attribute 'description.it' in the payload is not defined in the schema.",
            "*** Attribute 'description.ja' in the payload is not defined in the schema.",
            "*** Attribute 'description.ko' in the payload is not defined in the schema.",
            "*** Attribute 'description.nl' in the payload is not defined in the schema.",
            "*** Attribute 'description.zh' in the payload is not defined in the schema.",
            "*** Attribute 'title.de' in the payload is not defined in the schema.",
            "*** Attribute 'title.el' in the payload is not defined in the schema.",
            "*** Attribute 'title.en' in the payload is not defined in the schema.",
            "*** Attribute 'title.es' in the payload is not defined in the schema.",
            "*** Attribute 'title.fi' in the payload is not defined in the schema.",
            "*** Attribute 'title.fr' in the payload is not defined in the schema.",
            "*** Attribute 'title.it' in the payload is not defined in the schema.",
            "*** Attribute 'title.ja' in the payload is not defined in the schema.",
            "*** Attribute 'title.ko' in the payload is not defined in the schema.",
            "*** Attribute 'title.nl' in the payload is not defined in the schema.",
            "*** Attribute 'title.zh' in the payload is not defined in the schema."
        ]
    },
    "test_array_object_structure": {
        "test_name": "Checking array and object attributes structure",
        "success": true,
        "message": []
    },
    "email": "alberto.abella@fiware.org"
}