コード例 #1
0
def test_valid_minimal_related_identifiers():
    valid_minimal = {
        "identifier": "10.5281/zenodo.9999988",
        "scheme": "doi",
        "relation_type": "requires"
    }

    data = RelatedIdentifierSchema().load(valid_minimal)
    assert data == valid_minimal
コード例 #2
0
def test_invalid_no_type_related_identifiers(app):
    invalid_no_relation_type = {
        "identifier": "10.5281/rdm.9999988",
        "scheme": "doi",
        "resource_type": {
            "id": "image-photo"
        }
    }
    with pytest.raises(ValidationError):
        data = RelatedIdentifierSchema().load(invalid_no_relation_type)
コード例 #3
0
def test_invalid_no_identifiers_related_identifiers(app):
    invalid_no_identifier = {
        "scheme": "doi",
        "relation_type": {"id": "requires"},
        "resource_type": {
            "id": "image-photo"
        }
    }
    with pytest.raises(ValidationError):
        data = RelatedIdentifierSchema().load(invalid_no_identifier)
コード例 #4
0
def test_invalid_no_scheme_related_identifiers(app):
    invalid_no_scheme = {
        "identifier": "10.5281/zenodo.9999988",
        "relation_type": "requires",
        "resource_type": {
            "type": "image",
            "subtype": "image-photo"
        }
    }
    with pytest.raises(ValidationError):
        data = RelatedIdentifierSchema().load(invalid_no_scheme)
コード例 #5
0
def test_invalid_scheme_related_identifiers(app):
    invalid_scheme = {
        "identifier": "10.5281/rdm.9999988",
        "scheme": "INVALID",
        "relation_type": {"id": "requires"},
        "resource_type": {
            "id": "image-photo"
        }
    }

    with pytest.raises(ValidationError):
        RelatedIdentifierSchema().load(invalid_scheme)
コード例 #6
0
def test_valid_no_scheme_related_identifiers(app):
    """It is valid becuase the schema is detected by the schema."""
    valid_no_scheme = {
        "identifier": "10.5281/zenodo.9999988",
        "relation_type": {"id": "requires"},
        "resource_type": {
            "id": "image-photo"
        }
    }
    loaded = RelatedIdentifierSchema().load(valid_no_scheme)
    valid_no_scheme["scheme"] = "doi"
    assert valid_no_scheme == loaded
コード例 #7
0
def test_valid_related_identifiers(app):
    valid_full = {
        "identifier": "10.5281/rdm.9999988",
        "scheme": "doi",
        "relation_type": {"id": "requires"},
        "resource_type": {
            "id": "image-photo"
        }
    }

    data = RelatedIdentifierSchema().load(valid_full)
    assert data == valid_full
コード例 #8
0
def test_invalid_extra_field_related_identifiers(app):
    invalid_extra = {
        "identifier": "10.5281/rdm.9999988",
        "scheme": "doi",
        "relation_type": {"id": "requires"},
        "resource_type": {
            "id": "image-photo"
        },
        "extra": "field"
    }
    with pytest.raises(ValidationError):
        data = RelatedIdentifierSchema().load(invalid_extra)
コード例 #9
0
def test_invalid_scheme_related_identifiers(app):
    invalid_scheme = {
        "identifier": "10.5281/zenodo.9999988",
        "scheme": "INVALID",
        "relation_type": "requires",
        "resource_type": {
            "id": "image-photo"
        }
    }

    loaded = RelatedIdentifierSchema().load(invalid_scheme)
    # Check the backend forced the correct scheme
    assert loaded["scheme"] == "doi"