Ejemplo n.º 1
0
def test_add_document_fails_on_existing_key():
    builder = LiteratureBuilder('test')
    builder.add_document(
        'key',
        description='description',
        fulltext=True,
        hidden=True,
        material='preprint',
        original_url='http://www.example.com/original_url',
        source='source',
        url='url',
        filename='filename'
    )

    with pytest.raises(ValueError):
        builder.add_document(
            'key',
            description='description',
            fulltext=True,
            hidden=True,
            material='preprint',
            original_url='http://www.example.com/original_url',
            source='source',
            url='url',
            filename='filename'
        )
def test_add_document():
    schema = load_schema('hep')
    subschema = schema['properties']['documents']

    builder = LiteratureBuilder('test')

    builder.add_document(
        'key',
        description='description',
        fulltext=True,
        hidden=True,
        material='material',
        original_url='original_url',
        source='source',
        url='url',
    )

    expected = [
        {
            'description': 'description',
            'fulltext': True,
            'hidden': True,
            'key': 'key',
            'material': 'material',
            'original_url': 'original_url',
            'source': 'source',
            'url': 'url',
        },
    ]
    result = builder.record

    assert expected == result['documents']

    for key in subschema['items']['properties'].keys():
        assert key in result['documents'][0]
Ejemplo n.º 3
0
def test_add_document_inspire_next():
    schema = load_schema('hep')
    subschema = schema['properties']['documents']

    builder = LiteratureBuilder('test')

    builder.add_document(
        'key',
        description='description',
        fulltext=True,
        hidden=True,
        material='preprint',
        original_url='http://www.example.com/original_url',
        source='source',
        url='url',
    )

    expected = [
        {
            'description': 'description',
            'fulltext': True,
            'hidden': True,
            'key': 'key',
            'material': 'preprint',
            'original_url': 'http://www.example.com/original_url',
            'source': 'source',
            'url': 'url',
        },
    ]
    result = builder.record

    assert validate(result['documents'], subschema) is None
    assert expected == result['documents']
Ejemplo n.º 4
0
def test_add_document_fails_on_non_file_api_relative_url():
    schema = load_schema('hep')
    subschema = schema['properties']['documents']

    builder = LiteratureBuilder('test')

    with pytest.raises(ValidationError):
        builder.add_document(
            'key',
            description='description',
            fulltext=True,
            hidden=True,
            material='preprint',
            original_url='http://www.example.com/original_url',
            source='source',
            url='/not/api/url/for/files',
            filename='filename'
        )
        result = builder.record
        validate(result['documents'], subschema)