blob: 9176b8c520604c4d3b87951fab65f7ebddf64020 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 | 
import pytest
import fatcat
import fatcat.sql
from fatcat.models import *
@pytest.fixture
def app():
    fatcat.app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite://'
    fatcat.app.testing = True
    fatcat.app.debug = True
    fatcat.db.session.remove()
    fatcat.db.drop_all()
    fatcat.db.create_all()
    fatcat.sql.populate_db()
    return fatcat.app.test_client()
@pytest.fixture
def rich_app(app):
    assert app.post('/v0/work',
        data=json.dumps(dict(
            title="dummy",
            work_type="thing",
            extra=dict(a=1, b="zing"))),
        headers={"content-type": "application/json"}
        ).status_code == 200
    return app
## Helpers ##################################################################
def check_entity_fields(e):
    for key in ('rev', 'is_live', 'redirect_id'):
        assert key in e
    for key in ('id',):
        assert e[key] is not None
def check_release(e):
    for key in ('work', 'release_type'):
        assert key in e
    for key in ('title'):
        assert e[key] is not None
    for key in ('refs', 'creators'):
        assert type(e[key]) == list
def check_creator(e):
    for key in ('name',):
        assert e[key] is not None
def check_container(e):
    for key in ('name',):
        assert e[key] is not None
def check_file(e):
    for key in ('size', 'sha1'):
        assert e[key] is not None
 |