test_dcat.py 1.74 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Copyright 2018 Markus Scheidgen
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an"AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import pytest
from datetime import datetime

from nomad.datamodel import EntryMetadata
Markus Scheidgen's avatar
Markus Scheidgen committed
19
from nomad.app.dcat.mapping import Mapping
20
21
22
23

from tests.conftest import clear_elastic
from tests.app.test_app import BlueprintClient

Maja-Olivia Lenz's avatar
Maja-Olivia Lenz committed
24

25
26
27
28
29
30
@pytest.fixture(scope='session')
def api(session_client):
    return BlueprintClient(session_client, '/dcat')


@pytest.fixture(scope='module')
Maja-Olivia Lenz's avatar
Maja-Olivia Lenz committed
31
def example_entry(test_user, other_test_user):
32
33
34
35
36
37
38
39
40
41
42
43

    entry = EntryMetadata(
        calc_id='test-id',
        upload_id='upload-id',
        upload_time=datetime.now(),
        last_processing=datetime.now(),
        uploader=test_user,
        coauthors=[other_test_user],
        comment='this is a calculation comment',
        formula='H20',
        published=True)

Markus Scheidgen's avatar
Markus Scheidgen committed
44
    yield entry
45
46


Markus Scheidgen's avatar
Markus Scheidgen committed
47
48
49
50
def test_mapping(example_entry):
    mapping = Mapping()
    mapping.map_entry(example_entry)
    assert mapping.g is not None
Maja-Olivia Lenz's avatar
Maja-Olivia Lenz committed
51
    # print(mapping.g.serialize(format='ttl').decode('utf-8'))
Markus Scheidgen's avatar
Markus Scheidgen committed
52
53


Maja-Olivia Lenz's avatar
Maja-Olivia Lenz committed
54
55
56
def test_get_dataset(elastic_infra, api, example_entry):
    clear_elastic(elastic_infra)
    example_entry.a_elastic.index()
57
58
59
    calc_id = 'test-id'
    rv = api.get('/datasets/%s' % calc_id)
    assert rv.status_code == 200
Maja-Olivia Lenz's avatar
Maja-Olivia Lenz committed
60
61

    clear_elastic(elastic_infra)