Completed
Branch master (e3faea)
by Koen
01:21
created

TestSkos   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 32
Duplicated Lines 0 %
Metric Value
wmc 4
dl 0
loc 32
rs 10
1
import os
2
import unittest
3
4
from pyramid import testing
5
from pyramid.paster import get_appsettings
6
from skosprovider_sqlalchemy.utils import import_provider
7
from sqlalchemy import engine_from_config
8
from sqlalchemy.orm import sessionmaker
9
import transaction
10
from skosprovider_sqlalchemy.models import Base as SkosBase, ConceptScheme
11
12
from atramhasis.data.models import Base
13
from fixtures.data import geo
14
from fixtures.materials import materials
15
from fixtures.styles_and_cultures import styles_and_cultures
16
from fixtures.data import trees
17
18
19
here = os.path.dirname(__file__)
20
settings = get_appsettings(os.path.join(here, '../', 'tests/conf_test.ini'))
21
22
23
class TestSkos(unittest.TestCase):
24
    def setUp(self):
25
        self.engine = engine_from_config(settings, 'sqlalchemy.')
26
        Base.metadata.bind = self.engine
27
        SkosBase.metadata.bind = self.engine
28
        session_maker = sessionmaker(
29
            bind=self.engine,
30
        )
31
        SkosBase.metadata.drop_all(self.engine)
32
        SkosBase.metadata.create_all(self.engine)
33
        self.config = testing.setUp()
34
        self.config.registry.dbmaker = session_maker
35
36
        with transaction.manager:
37
            local_session = session_maker()
38
            import_provider(trees, ConceptScheme(id=1, uri='urn:x-skosprovider:trees'), local_session)
39
            import_provider(materials, ConceptScheme(id=4, uri='urn:x-vioe:materials'), local_session)
40
            import_provider(geo, ConceptScheme(id=2), local_session)
41
            import_provider(styles_and_cultures, ConceptScheme(id=3), local_session)
42
43
    def tearDown(self):
44
        testing.tearDown()
45
46
    def test_include(self):
47
        self.config.include('pyramid_skosprovider')
48
        self.config.scan('pyramid_skosprovider')
49
        skosregis = self.config.get_skos_registry()
50
        skosregis.register_provider(trees)
51
        skosregis.register_provider(geo)
52
        skosregis.register_provider(styles_and_cultures)
53
        skosregis.register_provider(materials)
54
        self.assertIsNotNone(self.config.get_skos_registry())
55
56