{
    "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].dateCreated' is properly documented.",
            "The attribute 'allOf[0].dateModified' is properly documented.",
            "The attribute 'allOf[0].source' is properly documented.",
            "The attribute 'allOf[0].name' is properly documented.",
            "The attribute 'allOf[0].alternateName' is properly documented.",
            "The attribute 'allOf[0].description' is properly documented.",
            "The attribute 'allOf[0].dataProvider' is properly documented.",
            "The attribute 'allOf[0].owner' is properly documented.",
            "The attribute 'allOf[0].owner.items.anyOf[0]' is properly documented.",
            "The attribute 'allOf[0].owner.items.anyOf[1]' is properly documented.",
            "The attribute 'allOf[0].seeAlso' is properly documented.",
            "The attribute 'allOf[1].location' is properly documented.",
            "The attribute 'allOf[1].address' is properly documented.",
            "The attribute 'allOf[1].address.streetAddress' is properly documented.",
            "The attribute 'allOf[1].address.addressLocality' is properly documented.",
            "The attribute 'allOf[1].address.addressRegion' is properly documented.",
            "The attribute 'allOf[1].address.addressCountry' is properly documented.",
            "The attribute 'allOf[1].address.postalCode' is properly documented.",
            "The attribute 'allOf[1].address.postOfficeBoxNumber' is properly documented.",
            "The attribute 'allOf[1].address.streetNr' is properly documented.",
            "The attribute 'allOf[1].address.district' is properly documented.",
            "The attribute 'allOf[1].areaServed' is properly documented.",
            "The attribute 'allOf[2].type' is properly documented.",
            "The attribute 'allOf[2].infrastructureElement' is properly documented.",
            "The attribute 'allOf[2].service' is properly documented.",
            "The attribute 'allOf[2].serviceComponentStatus' is properly documented.",
            "The attribute 'allOf[2].infrastructureElementRequirements' is properly documented.",
            "The attribute 'allOf[2].containerImage' is properly documented.",
            "The attribute 'allOf[2].cliArgs' is properly documented.",
            "The attribute 'allOf[2].envVars' is properly documented.",
            "The attribute 'allOf[2].networkPorts' is properly documented.",
            "The attribute 'allOf[2].persistentStorage' is properly documented.",
            "The attribute 'allOf[2].isJob' is properly documented.",
            "The attribute 'allOf[2].internalSubnetIP' is properly documented."
        ]
    },
    "test_schema_metadata": {
        "test_name": "Validating schema.json metadata",
        "success": true,
        "message": [
            "*** $schema is not pointing to https://json-schema.org/draft/2020-12/schema (found: http://json-schema.org/draft-04/schema#)",
            "Warning: modelTags is empty",
            "$schemaVersion is valid",
            "title is valid",
            "description is valid",
            "Warning the $id is  not pointing to a valid url. Check when publishing",
            "Warning: derivedFrom is 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: [{'key': '-app-env', 'value': 'production'}, {'key': '-db-url', 'value': 'http://db-svc.default.svc.cluster.local:27017'}] is not of type 'string'\n\nFailed validating 'type' in schema['allOf'][2]['properties']['cliArgs']:\n    {'description': 'Property. Command line arguments (in key-value '\n                    'format) that are needed to run the component.',\n     'type': 'string'}\n\nOn instance['cliArgs']:\n    [{'key': '-app-env', 'value': 'production'},\n     {'key': '-db-url',\n      'value': 'http://db-svc.default.svc.cluster.local:27017'}]",
            "example.jsonld: *** JSON data is not valid against the schema: [{'key': '-app-env', 'value': 'production'}, {'key': '-db-url', 'value': 'http://db-svc.default.svc.cluster.local:27017'}] is not of type 'string'\n\nFailed validating 'type' in schema['allOf'][2]['properties']['cliArgs']:\n    {'description': 'Property. Command line arguments (in key-value '\n                    'format) that are needed to run the component.',\n     'type': 'string'}\n\nOn instance['cliArgs']:\n    [{'key': '-app-env', 'value': 'production'},\n     {'key': '-db-url',\n      'value': 'http://db-svc.default.svc.cluster.local:27017'}]",
            "All @context URLs are valid."
        ]
    },
    "test_valid_ngsiv2": {
        "test_name": "Validating example-normalized.json as NGSI v2 normalized format",
        "success": false,
        "message": [
            "*** service has not value"
        ]
    },
    "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 'cliArgs.key' in the payload is not defined in the schema.",
            "*** Attribute 'cliArgs.value' in the payload is not defined in the schema.",
            "*** Attribute 'envVars.key' in the payload is not defined in the schema.",
            "*** Attribute 'envVars.value' 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": "ravagar2@upv.es"
}