{
    "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].location' is properly documented.",
            "The attribute 'allOf[0].address' is properly documented.",
            "The attribute 'allOf[0].address.streetAddress' is properly documented.",
            "The attribute 'allOf[0].address.addressLocality' is properly documented.",
            "The attribute 'allOf[0].address.addressRegion' is properly documented.",
            "The attribute 'allOf[0].address.addressCountry' is properly documented.",
            "The attribute 'allOf[0].address.postalCode' is properly documented.",
            "The attribute 'allOf[0].address.postOfficeBoxNumber' is properly documented.",
            "The attribute 'allOf[0].address.streetNr' is properly documented.",
            "The attribute 'allOf[0].address.district' is properly documented.",
            "The attribute 'allOf[0].areaServed' is properly documented.",
            "The attribute 'allOf[1].id' is properly documented.",
            "The attribute 'allOf[1].type' is properly documented.",
            "The attribute 'allOf[1].accessRights' is properly documented.",
            "The attribute 'allOf[1].applicableLegislation' is properly documented.",
            "The attribute 'allOf[1].applicableLegislation.items' is properly documented.",
            "The attribute 'allOf[1].conformsTo' is properly documented.",
            "The attribute 'allOf[1].conformsTo.items' is properly documented.",
            "The attribute 'allOf[1].contactPoint' is properly documented.",
            "The attribute 'allOf[1].contactPoint.items.email' is properly documented.",
            "The attribute 'allOf[1].description' is properly documented.",
            "The attribute 'allOf[1].endpointDescription' is properly documented.",
            "The attribute 'allOf[1].endpointDescription.items' is properly documented.",
            "The attribute 'allOf[1].endpointURL' is properly documented.",
            "The attribute 'allOf[1].endpointURL.items' is properly documented.",
            "The attribute 'allOf[1].format' is properly documented.",
            "The attribute 'allOf[1].format.items' is properly documented.",
            "The attribute 'allOf[1].keyword' is properly documented.",
            "The attribute 'allOf[1].keyword.items' is properly documented.",
            "The attribute 'allOf[1].landingPage' is properly documented.",
            "The attribute 'allOf[1].landingPage.items' is properly documented.",
            "The attribute 'allOf[1].lastUpdated' is properly documented.",
            "The attribute 'allOf[1].license' is properly documented.",
            "The attribute 'allOf[1].operationSpace' is properly documented.",
            "The attribute 'allOf[1].page' is properly documented.",
            "The attribute 'allOf[1].page.items' is properly documented.",
            "The attribute 'allOf[1].provenance' is properly documented.",
            "The attribute 'allOf[1].provenance.items' is properly documented.",
            "The attribute 'allOf[1].publisher' is properly documented.",
            "The attribute 'allOf[1].servesDataset' is properly documented.",
            "The attribute 'allOf[1].servesDataset.items.anyOf[0]' is properly documented.",
            "The attribute 'allOf[1].servesDataset.items.anyOf[1]' is properly documented.",
            "The attribute 'allOf[1].theme' is properly documented.",
            "The attribute 'allOf[1].theme.items' is properly documented.",
            "The attribute 'allOf[1].title' is properly documented.",
            "The attribute 'allOf[1].imageSource' is properly documented.",
            "The attribute 'allOf[1].version' is properly documented.",
            "The attribute 'allOf[1].versionNotes' is properly documented.",
            "The attribute 'allOf[1].disseminationOrganisation' is properly documented.",
            "The attribute 'allOf[1].dissemination' is properly documented.",
            "The attribute 'allOf[1].reputationOrganisation' is properly documented.",
            "The attribute 'allOf[1].reputation' is properly documented.",
            "The attribute 'allOf[1].accessMechanism' is properly documented.",
            "The attribute 'allOf[1].validationSchema' 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": false,
        "message": [
            "example.json: *** JSON data is not valid against the schema: 1.0 is not of type 'string'\n\nFailed validating 'type' in schema['allOf'][1]['properties']['version']:\n    {'description': \"Property. Model:'https://www.w3.org/ns/dcat#version'. \"\n                    'The version indicator (name or identifier) of a '\n                    'resource.',\n     'type': 'string'}\n\nOn instance['version']:\n    1.0",
            "example.jsonld: *** JSON data is not valid against the schema: {'value': 1.0, 'observedAt': '2025-06-12T14:00:00Z', 'versionNotes': {'value': 'Improved the performance of the Data Service'}} is not of type 'string'\n\nFailed validating 'type' in schema['allOf'][1]['properties']['version']:\n    {'description': \"Property. Model:'https://www.w3.org/ns/dcat#version'. \"\n                    'The version indicator (name or identifier) of a '\n                    'resource.',\n     'type': 'string'}\n\nOn instance['version']:\n    {'observedAt': '2025-06-12T14:00:00Z',\n     'value': 1.0,\n     'versionNotes': {'value': 'Improved the performance of the Data '\n                               'Service'}}",
            "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": true,
        "message": []
    },
    "test_array_object_structure": {
        "test_name": "Checking array and object attributes structure",
        "success": true,
        "message": []
    },
    "email": "alberto.abella@fiware.org"
}