def test_buildings(self): from skosprovider_sqlalchemy.models import (Concept as ConceptModel) buildingprovider = _get_buildings() cs = self._get_cs() self.session.add(cs) import_provider(buildingprovider, cs, self.session) vc = VisitationCalculator(self.session) visit = vc.visit(cs) assert len(visit) == 5 # Check that castle is present twice ids = [ self.session.query(ConceptModel).get(v['id']).concept_id for v in visit ] assert ids.count(2) == 2 for v in visit: # Check that fortification has one child if v['id'] == 1: assert v['lft'] + 3 == v['rght'] assert 1 == v['depth'] # Check that habitations has two children if v['id'] == 3: assert v['lft'] + 5 == v['rght'] assert 1 == v['depth'] # Check that castle has no children if v['id'] == 2: assert v['lft'] + 1 == v['rght'] assert 2 == v['depth']
def provider_to_db(provider, conceptscheme, session): """ import provider data into the database """ session.add(conceptscheme) import_provider(provider, conceptscheme, session) session.commit()
def test_buildings(self): from skosprovider_sqlalchemy.models import ( Concept as ConceptModel ) buildingprovider = _get_buildings() cs = self._get_cs() self.session.add(cs) import_provider(buildingprovider, cs, self.session) vc = VisitationCalculator(self.session) visit = vc.visit(cs) assert len(visit) == 5 # Check that castle is present twice ids = [self.session.query(ConceptModel).get(v['id']).concept_id for v in visit] assert ids.count(2) == 2 for v in visit: # Check that fortification has one child if v['id'] == 1: assert v['lft'] + 3 == v['rght'] assert 1 == v['depth'] # Check that habitations has two children if v['id'] == 3: assert v['lft'] + 5 == v['rght'] assert 1 == v['depth'] # Check that castle has no children if v['id'] == 2: assert v['lft'] + 1 == v['rght'] assert 2 == v['depth']
def test_geo(self): from skosprovider_sqlalchemy.models import ( Concept as ConceptModel, Collection as CollectionModel ) geoprovider = _get_geo() cs = self._get_cs() self.session.add(cs) import_provider(geoprovider, cs, self.session) world = self.session.query(ConceptModel)\ .filter(ConceptModel.conceptscheme == cs)\ .filter(ConceptModel.concept_id == 1)\ .one() self.assertEqual(1, world.concept_id) self.assertEqual('World', str(world.label('en'))) self.assertEqual(1, len(world.labels)) self.assertEqual(2, len(world.narrower_concepts)) dutch = self.session.query(CollectionModel)\ .filter(CollectionModel.conceptscheme == cs)\ .filter(CollectionModel.concept_id == 333)\ .one() self.assertEqual(333, dutch.concept_id) self.assertEqual('collection', dutch.type) self.assertEqual(1, len(dutch.labels)) self.assertEqual(4, len(dutch.members)) netherlands = self.session\ .query(ConceptModel)\ .filter(ConceptModel.conceptscheme == cs)\ .filter(ConceptModel.concept_id == 10)\ .one() self.assertEqual(10, netherlands.concept_id) self.assertEqual('concept', netherlands.type) self.assertEqual(1, len(netherlands.labels)) self.assertEqual(2, netherlands.broader_concepts.pop().concept_id) self.assertEqual(1, len(netherlands.related_concepts))
def test_empty_provider(self): from skosprovider.providers import DictionaryProvider p = DictionaryProvider({'id': 'EMPTY'}, []) cs = self._get_cs() self.session.add(cs) import_provider(p, cs, self.session) vc = VisitationCalculator(self.session) v = vc.visit(cs) self.assertEqual(0, len(v))
def test_empty_provider(self): from skosprovider.providers import DictionaryProvider p = DictionaryProvider({'id': 'EMPTY'}, []) cs = self._get_cs() self.session.add(cs) import_provider(p, cs, self.session) vc = VisitationCalculator(self.session) v = vc.visit(cs) assert 0 == len(v)
def test_menu(self): csvprovider = _get_menu() cs = self._get_cs() self.session.add(cs) import_provider(csvprovider, cs, self.session) vc = VisitationCalculator(self.session) visit = vc.visit(cs) assert 11 == len(visit) for v in visit: assert v['lft'] + 1 == v['rght'] assert 1 == v['depth']
def test_menu(self): csvprovider = _get_menu() cs = self._get_cs() self.session.add(cs) import_provider(csvprovider, cs, self.session) vc = VisitationCalculator(self.session) visit = vc.visit(cs) self.assertEqual(11, len(visit)) for v in visit: self.assertEqual(v['lft']+1, v['rght']) self.assertEqual(1, v['depth'])
def test_empty_provider(self): from skosprovider_sqlalchemy.models import ( ConceptScheme as ConceptSchemeModel ) from skosprovider.providers import DictionaryProvider p = DictionaryProvider({'id': 'EMPTY'}, []) cs = self._get_cs() self.session.add(cs) import_provider(p, cs, self.session) scheme = self.session.query(ConceptSchemeModel).get(1) self.assertEqual(scheme, cs)
def test_empty_provider(self): from skosprovider_sqlalchemy.models import (ConceptScheme as ConceptSchemeModel) from skosprovider.providers import DictionaryProvider p = DictionaryProvider({'id': 'EMPTY'}, []) cs = self._get_cs() self.session.add(cs) import_provider(p, cs, self.session) scheme = self.session.query(ConceptSchemeModel).get(68) assert scheme == cs
def test_menu_sorted(self): csvprovider = _get_menu() cs = self._get_cs() self.session.add(cs) import_provider(csvprovider, cs, self.session) vc = VisitationCalculator(self.session) visit = vc.visit(cs) self.assertEqual(11, len(visit)) left = 1 for v in visit: self.assertEqual(v['lft'], left) left += 2
def test_menu_sorted(self): csvprovider = _get_menu() cs = self._get_cs() self.session.add(cs) import_provider(csvprovider, cs, self.session) vc = VisitationCalculator(self.session) visit = vc.visit(cs) assert 11 == len(visit) left = 1 for v in visit: assert v['lft'] == left left += 2
def test_materials(self): from skosprovider_sqlalchemy.models import ( Thing as ThingModel, ) materialsprovider = _get_materials() cs = self._get_cs() self.session.add(cs) import_provider(materialsprovider, cs, self.session) materials = self.session.query(ThingModel) \ .filter(ThingModel.conceptscheme == cs) \ .all() assert 2 == len(materials)
def test_event_types(self): from skosprovider_sqlalchemy.models import ( Concept as ConceptModel, ) eventtypesprovider = _get_event_types() cs = self._get_cs() self.session.add(cs) import_provider(eventtypesprovider, cs, self.session) archeologische_opgravingen = self.session.query(ConceptModel) \ .filter(ConceptModel.conceptscheme == cs) \ .filter(ConceptModel.concept_id == 38) \ .one() assert 3 == len(archeologische_opgravingen.narrower_collections)
def test_heritage_types(self): from skosprovider_sqlalchemy.models import ( Concept as ConceptModel, ) heritagetypesprovider = _get_heritage_types() cs = self._get_cs() self.session.add(cs) import_provider(heritagetypesprovider, cs, self.session) bomen = self.session.query(ConceptModel) \ .filter(ConceptModel.conceptscheme == cs) \ .filter(ConceptModel.concept_id == 72) \ .one() assert 2 == len(bomen.narrower_collections)
def main(argv=sys.argv): from fixtures.data import trees, geo from fixtures.styles_and_cultures import styles_and_cultures from fixtures.materials import materials if len(argv) < 2: usage(argv) config_uri = argv[1] options = parse_vars(argv[2:]) setup_logging(config_uri) settings = get_appsettings(config_uri, options=options) engine = engine_from_config(settings, 'sqlalchemy.') session_maker = sessionmaker(bind=engine, extension=ZopeTransactionExtension()) db_session = session_maker() with transaction.manager: import_provider(trees, ConceptScheme(id=1, uri='urn:x-skosprovider:trees'), db_session) import_provider(geo, ConceptScheme(id=2, uri='urn:x-skosprovider:geo'), db_session) import_provider(styles_and_cultures, ConceptScheme(id=3, uri='urn:x-vioe:styles'), db_session) import_provider(materials, ConceptScheme(id=4, uri='urn:x-vioe:materials'), db_session) print('--atramhasis-db-initialized--')
def test_menu(self): from skosprovider_sqlalchemy.models import (Concept as ConceptModel) csvprovider = _get_menu() cs = self._get_cs() self.session.add(cs) import_provider(csvprovider, cs, self.session) lobster = self.session.query(ConceptModel) \ .filter(ConceptModel.conceptscheme == cs) \ .filter(ConceptModel.concept_id == 11) \ .one() assert 11 == lobster.concept_id assert 'urn:x-skosprovider:menu:11' == lobster.uri assert 'Lobster Thermidor' == str(lobster.label()) assert 1 == len(lobster.notes)
def test_menu(self): from skosprovider_sqlalchemy.models import ( Concept as ConceptModel ) csvprovider = _get_menu() cs = self._get_cs() self.session.add(cs) import_provider(csvprovider, cs, self.session) lobster = self.session.query(ConceptModel)\ .filter(ConceptModel.conceptscheme == cs)\ .filter(ConceptModel.concept_id == 11)\ .one() self.assertEqual(11, lobster.id) self.assertEqual('Lobster Thermidor', str(lobster.label())) self.assertEqual(1, len(lobster.notes))
def test_provider_invalid_language(self): from skosprovider.providers import DictionaryProvider with self.assertRaises(ValueError): p = DictionaryProvider({'id': 'EMPTY'}, [{ 'id': '1', 'labels': [{ 'type': 'prefLabel', 'language': 'nederlands', 'label': 'Versterkingen' }] }]) cs = self._get_cs() self.session.add(cs) import_provider(p, cs, self.session)
def test_heritage_types(self): from skosprovider_sqlalchemy.models import ( Concept as ConceptModel, ) heritagetypesprovider = _get_heritage_types() cs = self._get_cs() self.session.add(cs) import_provider(heritagetypesprovider, cs, self.session) bomen = self.session.query(ConceptModel) \ .filter(ConceptModel.conceptscheme == cs) \ .filter(ConceptModel.concept_id == 72) \ .one() assert 2 == len(bomen.narrower_collections) assert 2 == len(cs.labels) assert 'Erfgoedtypes' == cs.label('nl').label assert 2 == len(cs.notes) assert 2 == len(cs.languages)
def test_menu(self): from skosprovider_sqlalchemy.models import ( Concept as ConceptModel ) csvprovider = _get_menu() cs = self._get_cs() self.session.add(cs) import_provider(csvprovider, cs, self.session) lobster = self.session.query(ConceptModel) \ .filter(ConceptModel.conceptscheme == cs) \ .filter(ConceptModel.concept_id == 11) \ .one() assert 11 == lobster.concept_id assert 'urn:x-skosprovider:menu:11' == lobster.uri assert 'Lobster Thermidor' == str(lobster.label()) assert 1 == len(lobster.notes)
def test_buildings(self): from skosprovider_sqlalchemy.models import ( Concept as ConceptModel ) buildingprovider = _get_buildings() cs = self._get_cs() self.session.add(cs) import_provider(buildingprovider, cs, self.session) castle = self.session.query(ConceptModel)\ .filter(ConceptModel.conceptscheme == cs)\ .filter(ConceptModel.concept_id == 2)\ .one() self.assertEqual(2, len(castle.broader_concepts)) hut = self.session.query(ConceptModel)\ .filter(ConceptModel.conceptscheme == cs)\ .filter(ConceptModel.concept_id == 4)\ .one() self.assertEqual(1, len(hut.broader_concepts))
def test_provider_invalid_language(self): from skosprovider.providers import DictionaryProvider with self.assertRaises(ValueError): p = DictionaryProvider({'id': 'EMPTY'}, [ { 'id': '1', 'labels': [ { 'type': 'prefLabel', 'language': 'nederlands', 'label': 'Versterkingen' } ] } ]) cs = self._get_cs() self.session.add(cs) import_provider(p, cs, self.session)
def test_buildings(self): from skosprovider_sqlalchemy.models import (Concept as ConceptModel) buildingprovider = _get_buildings() cs = self._get_cs() self.session.add(cs) import_provider(buildingprovider, cs, self.session) castle = self.session.query(ConceptModel) \ .filter(ConceptModel.conceptscheme == cs) \ .filter(ConceptModel.concept_id == 2) \ .one() assert 2 == len(castle.broader_concepts) hut = self.session.query(ConceptModel) \ .filter(ConceptModel.conceptscheme == cs) \ .filter(ConceptModel.concept_id == 4) \ .one() assert 1 == len(hut.broader_concepts) assert 1 == len(hut.matches) assert 'exactMatch' == hut.matches[0].matchtype_id assert 'http://vocab.getty.edu/aat/300004824' == hut.matches[0].uri
def test_geo(self): geoprovider = _get_geo() cs = self._get_cs() self.session.add(cs) import_provider(geoprovider, cs, self.session) vc = VisitationCalculator(self.session) visit = vc.visit(cs) self.assertEqual(10, len(visit)) world = visit[0] self.assertEqual(1, world['id']) self.assertEqual(1, world['lft']) self.assertEqual(20, world['rght']) self.assertEqual(1, world['depth']) for v in visit: if v['id'] == 3: self.assertEqual(v['lft']+3, v['rght']) self.assertEqual(2, v['depth']) if v['id'] == 6: self.assertEqual(v['lft']+1, v['rght']) self.assertEqual(3, v['depth'])
def setUp(self): self.config = Configurator(settings=settings) self.config.add_route('login', '/auth/login') self.config.add_route('logout', '/auth/logout') includeme(self.config) self.config.add_static_view('atramhasis/static', 'atramhasis:static') Base.metadata.drop_all(self.engine) Base.metadata.create_all(self.engine) Base.metadata.bind = self.engine self.config.registry.dbmaker = self.session_maker self.config.add_request_method(db, reify=True) self.config.include('atramhasis.skos') with transaction.manager: local_session = self.session_maker() import_provider(trees, ConceptScheme(id=1, uri='urn:x-skosprovider:trees'), local_session) import_provider(materials, ConceptScheme(id=4, uri='urn:x-vioe:materials'), local_session) import_provider(geo, ConceptScheme(id=2), local_session) local_session.add(LabelType('hiddenLabel', 'A hidden label.')) local_session.add(LabelType('altLabel', 'An alternative label.')) local_session.add(LabelType('prefLabel', 'A preferred label.')) local_session.add(Language('nl', 'Dutch')) local_session.add(Language('en', 'English')) self.app = self.config.make_wsgi_app() self.testapp = TestApp(self.app)
def setUp(self): settings["sqlalchemy.url"] = "sqlite:///%s/dbtest.sqlite" % here self.engine = engine_from_config(settings, prefix="sqlalchemy.") Base.metadata.drop_all(self.engine) Base.metadata.create_all(self.engine) session_maker = sessionmaker(bind=self.engine, extension=ZopeTransactionExtension()) with transaction.manager: local_session = session_maker() import_provider(trees, ConceptScheme(id=1, uri="urn:x-skosprovider:trees"), local_session) import_provider(materials, ConceptScheme(id=4, uri="urn:x-vioe:materials"), local_session) import_provider(geo, ConceptScheme(id=2), local_session) import_provider(styles_and_cultures, ConceptScheme(id=3), local_session)
def test_buildings(self): from skosprovider_sqlalchemy.models import ( Concept as ConceptModel ) buildingprovider = _get_buildings() cs = self._get_cs() self.session.add(cs) import_provider(buildingprovider, cs, self.session) castle = self.session.query(ConceptModel) \ .filter(ConceptModel.conceptscheme == cs) \ .filter(ConceptModel.concept_id == 2) \ .one() assert 2 == len(castle.broader_concepts) hut = self.session.query(ConceptModel) \ .filter(ConceptModel.conceptscheme == cs) \ .filter(ConceptModel.concept_id == 4) \ .one() assert 1 == len(hut.broader_concepts) assert 1 == len(hut.matches) assert 'exactMatch' == hut.matches[0].matchtype_id assert 'http://vocab.getty.edu/aat/300004824' == hut.matches[0].uri
def test_geo(self): from skosprovider_sqlalchemy.models import ( Concept as ConceptModel, Collection as CollectionModel ) geoprovider = _get_geo() cs = self._get_cs() self.session.add(cs) import_provider(geoprovider, cs, self.session) world = self.session.query(ConceptModel) \ .filter(ConceptModel.conceptscheme == cs) \ .filter(ConceptModel.concept_id == 1) \ .one() assert world.concept_id == 1 assert 'urn:x-skosprovider:geography:1' == world.uri assert 'World' == str(world.label('en')) assert 1 == len(world.labels) assert 2 == len(world.narrower_concepts) dutch = self.session.query(CollectionModel) \ .filter(CollectionModel.conceptscheme == cs) \ .filter(CollectionModel.concept_id == 333) \ .one() assert 333 == dutch.concept_id assert 'urn:x-skosprovider:geography:333' == dutch.uri assert 'collection' == dutch.type assert 1 == len(dutch.labels) assert 4 == len(dutch.members) netherlands = self.session.query(ConceptModel) \ .filter(ConceptModel.conceptscheme == cs) \ .filter(ConceptModel.concept_id == 10) \ .one() assert 10 == netherlands.concept_id assert 'concept' == netherlands.type assert 1 == len(netherlands.labels) assert 2 == netherlands.broader_concepts.pop().concept_id assert 1 == len(netherlands.related_concepts)
def test_geo(self): from skosprovider_sqlalchemy.models import (Concept as ConceptModel, Collection as CollectionModel) geoprovider = _get_geo() cs = self._get_cs() self.session.add(cs) import_provider(geoprovider, cs, self.session) world = self.session.query(ConceptModel) \ .filter(ConceptModel.conceptscheme == cs) \ .filter(ConceptModel.concept_id == 1) \ .one() assert world.concept_id == 1 assert 'urn:x-skosprovider:geography:1' == world.uri assert 'World' == str(world.label('en')) assert 1 == len(world.labels) assert 2 == len(world.narrower_concepts) dutch = self.session.query(CollectionModel) \ .filter(CollectionModel.conceptscheme == cs) \ .filter(CollectionModel.concept_id == 333) \ .one() assert 333 == dutch.concept_id assert 'urn:x-skosprovider:geography:333' == dutch.uri assert 'collection' == dutch.type assert 1 == len(dutch.labels) assert 4 == len(dutch.members) netherlands = self.session.query(ConceptModel) \ .filter(ConceptModel.conceptscheme == cs) \ .filter(ConceptModel.concept_id == 10) \ .one() assert 10 == netherlands.concept_id assert 'concept' == netherlands.type assert 1 == len(netherlands.labels) assert 2 == netherlands.broader_concepts.pop().concept_id assert 1 == len(netherlands.related_concepts)
def test_geo(self): from skosprovider_sqlalchemy.models import (Concept as ConceptModel) geoprovider = _get_geo() cs = self._get_cs() self.session.add(cs) import_provider(geoprovider, cs, self.session) vc = VisitationCalculator(self.session) visit = vc.visit(cs) assert 10 == len(visit) world = visit[0] assert self.session.query(ConceptModel).get( world['id']).concept_id == 1 assert 1 == world['lft'] assert 20 == world['rght'] assert 1 == world['depth'] for v in visit: if v['id'] == 3: assert v['lft'] + 3 == v['rght'] assert 2 == v['depth'] if v['id'] == 6: assert v['lft'] + 1 == v['rght'] assert 3 == v['depth']
def test_geo(self): from skosprovider_sqlalchemy.models import ( Concept as ConceptModel ) geoprovider = _get_geo() cs = self._get_cs() self.session.add(cs) import_provider(geoprovider, cs, self.session) vc = VisitationCalculator(self.session) visit = vc.visit(cs) assert 10 == len(visit) world = visit[0] assert self.session.query(ConceptModel).get(world['id']).concept_id == 1 assert 1 == world['lft'] assert 20 == world['rght'] assert 1 == world['depth'] for v in visit: if v['id'] == 3: assert v['lft'] + 3 == v['rght'] assert 2 == v['depth'] if v['id'] == 6: assert v['lft'] + 1 == v['rght'] assert 3 == v['depth']
def test_buildings(self): buildingprovider = _get_buildings() cs = self._get_cs() self.session.add(cs) import_provider(buildingprovider, cs, self.session) vc = VisitationCalculator(self.session) visit = vc.visit(cs) self.assertEqual(5, len(visit)) # Check that castle is present twice ids = [v['id'] for v in visit] self.assertEqual(2, ids.count(2)) for v in visit: # Check that fortification has one child if v['id'] == 1: self.assertEqual(v['lft']+3, v['rght']) self.assertEqual(1, v['depth']) # Check that habitations has two children if v['id'] == 3: self.assertEqual(v['lft']+5, v['rght']) self.assertEqual(1, v['depth']) # Check that castle has no children if v['id'] == 2: self.assertEqual(v['lft']+1, v['rght']) self.assertEqual(2, v['depth'])
def setUp(self): settings['sqlalchemy.url'] = 'sqlite:///%s/dbtest.sqlite' % here self.engine = engine_from_config(settings, prefix='sqlalchemy.') Base.metadata.drop_all(self.engine) Base.metadata.create_all(self.engine) session_maker = sessionmaker( bind=self.engine, extension=ZopeTransactionExtension() ) with transaction.manager: local_session = session_maker() import_provider(trees, ConceptScheme(id=1, uri='urn:x-skosprovider:trees'), local_session) import_provider(materials, ConceptScheme(id=4, uri='urn:x-vioe:materials'), local_session) import_provider(geo, ConceptScheme(id=2, uri='urn:x-vioe:geo'), local_session) import_provider(styles_and_cultures, ConceptScheme(id=3, uri='urn:x-vioe:styles'), local_session)
def setUp(self): self.engine = engine_from_config(settings, 'sqlalchemy.') Base.metadata.bind = self.engine SkosBase.metadata.bind = self.engine session_maker = sessionmaker( bind=self.engine, ) SkosBase.metadata.drop_all(self.engine) SkosBase.metadata.create_all(self.engine) self.config = testing.setUp() self.config.registry.dbmaker = session_maker with transaction.manager: local_session = session_maker() import_provider(trees, ConceptScheme(id=1, uri='urn:x-skosprovider:trees'), local_session) import_provider(materials, ConceptScheme(id=4, uri='urn:x-vioe:materials'), local_session) import_provider(geo, ConceptScheme(id=2), local_session) import_provider(styles_and_cultures, ConceptScheme(id=3), local_session)
def setUp(self): self.engine = engine_from_config(settings, 'sqlalchemy.') Base.metadata.bind = self.engine SkosBase.metadata.bind = self.engine session_maker = sessionmaker( bind=self.engine, ) SkosBase.metadata.drop_all(self.engine) SkosBase.metadata.create_all(self.engine) self.config = testing.setUp() self.config.registry.dbmaker = session_maker with transaction.manager: local_session = session_maker() import_provider(trees, ConceptScheme(id=1, uri='urn:x-skosprovider:trees'), local_session) import_provider(materials, ConceptScheme(id=4, uri='urn:x-vioe:materials'), local_session) import_provider(geo, ConceptScheme(id=2, uri='urn:x-vioe:geo'), local_session) import_provider(styles_and_cultures, ConceptScheme(id=3, uri='urn:x-vioe:styles'), local_session)
def main(argv=sys.argv): if len(argv) < 2: usage(argv) config_uri = argv[1] options = parse_vars(argv[2:]) setup_logging(config_uri) settings = get_appsettings(config_uri, options=options) engine = engine_from_config(settings, 'sqlalchemy.') session_maker = sessionmaker( bind=engine, extension=ZopeTransactionExtension() ) db_session = session_maker() with transaction.manager: import_provider(trees, ConceptScheme(id=1, uri='urn:x-skosprovider:trees'), db_session) import_provider(geo, ConceptScheme(id=2, uri='urn:x-skosprovider:geo'), db_session) import_provider(styles_and_cultures, ConceptScheme(id=3, uri='urn:x-vioe:styles'), db_session) import_provider(materials, ConceptScheme(id=4, uri='urn:x-vioe:materials'), db_session) print('--atramhasis-db-initialized--')
def setUp(self): Base.metadata.drop_all(self.engine) Base.metadata.create_all(self.engine) Base.metadata.bind = self.engine VisitLogBase.metadata.drop_all(self.engine) VisitLogBase.metadata.create_all(self.engine) VisitLogBase.metadata.bind = self.engine with transaction.manager: local_session = self.session_maker() local_session.add(Language('nl', 'Dutch')) local_session.add(Language('nl-BE', 'Dutch')) local_session.add(Language('en', 'English')) import_provider(trees, ConceptScheme(id=1, uri='urn:x-skosprovider:trees'), local_session) import_provider(materials, ConceptScheme(id=4, uri='urn:x-vioe:materials'), local_session) import_provider(geo, ConceptScheme(id=2, uri='urn:x-vioe:geo'), local_session) local_session.add(ConceptScheme(id=3, uri='urn:x-vioe:test')) local_session.add(LabelType('hiddenLabel', 'A hidden label.')) local_session.add(LabelType('altLabel', 'An alternative label.')) local_session.add(LabelType('prefLabel', 'A preferred label.')) local_session.add(MatchType('broadMatch', '')) local_session.add(MatchType('closeMatch', '')) local_session.add(MatchType('exactMatch', '')) local_session.add(MatchType('narrowMatch', '')) local_session.add(MatchType('relatedMatch', '')) local_session.flush() match = Match() match.matchtype_id = 'narrowMatch' match.uri = 'urn:test' match.concept_id = 1 local_session.add(match) local_session.add(ConceptVisitLog(concept_id=1, conceptscheme_id=1, origin='REST', visited_at=datetime(2015, 8, 27, 10, 58, 3))) local_session.add(ConceptVisitLog(concept_id=1, conceptscheme_id=1, origin='REST', visited_at=datetime(2015, 8, 27, 11, 58, 3))) local_session.add(ConceptVisitLog(concept_id=2, conceptscheme_id=1, origin='REST', visited_at=datetime(2015, 8, 27, 10, 58, 3))) local_session.add(ConceptVisitLog(concept_id=2, conceptscheme_id=2, origin='REST', visited_at=datetime(2015, 8, 27, 10, 58, 3)))
def setUp(self): self.config = Configurator(settings=settings) self.config.add_route('login', '/auth/login') self.config.add_route('logout', '/auth/logout') includeme(self.config) self.config.add_static_view('atramhasis/static', 'atramhasis:static') Base.metadata.drop_all(self.engine) Base.metadata.create_all(self.engine) Base.metadata.bind = self.engine self.config.registry.dbmaker = self.session_maker self.config.add_request_method(db, reify=True) with transaction.manager: local_session = self.session_maker() import_provider( trees, ConceptScheme(id=1, uri='urn:x-skosprovider:trees'), local_session) import_provider(materials, ConceptScheme(id=4, uri='urn:x-vioe:materials'), local_session) import_provider(geo, ConceptScheme(id=2), local_session) local_session.add(ConceptScheme(id=3)) local_session.add(LabelType('hiddenLabel', 'A hidden label.')) local_session.add(LabelType('altLabel', 'An alternative label.')) local_session.add(LabelType('prefLabel', 'A preferred label.')) local_session.add(Language('nl', 'Dutch')) local_session.add(Language('en', 'English')) local_session.add(MatchType('broadMatch', '')) local_session.add(MatchType('closeMatch', '')) local_session.add(MatchType('exactMatch', '')) local_session.add(MatchType('narrowMatch', '')) local_session.add(MatchType('relatedMatch', '')) local_session.add(Language(id='de', name='test')) TREES = SQLAlchemyProvider({ 'id': 'TREES', 'conceptscheme_id': 1 }, self.config.registry.dbmaker) GEO = SQLAlchemyProvider({ 'id': 'GEOGRAPHY', 'conceptscheme_id': 2 }, self.config.registry.dbmaker) STYLES = SQLAlchemyProvider({ 'id': 'STYLES', 'conceptscheme_id': 3 }, self.config.registry.dbmaker) MATERIALS = SQLAlchemyProvider( { 'id': 'MATERIALS', 'conceptscheme_id': 4 }, self.config.registry.dbmaker, uri_generator=UriPatternGenerator('urn:x-vioe:materials:%s')) self.config.add_subscriber(self.mock_event_handler, ProtectedResourceEvent) self.config.add_subscriber( self.mock_event_handler_provider_unavailable, ProtectedResourceEvent) skosregis = self.config.get_skos_registry() skosregis.register_provider(TREES) skosregis.register_provider(GEO) skosregis.register_provider(STYLES) skosregis.register_provider(MATERIALS) skosregis.register_provider(TEST) self.app = self.config.make_wsgi_app() self.testapp = TestApp(self.app)
def main(argv=sys.argv): from fixtures.data import trees, geo from fixtures.styles_and_cultures import styles_and_cultures from fixtures.materials import materials from fixtures.eventtypes import eventtypes from fixtures.heritagetypes import heritagetypes from fixtures.periods import periods from fixtures.species import species if len(argv) < 2: usage(argv) config_uri = argv[1] options = parse_vars(argv[2:]) setup_logging(config_uri) settings = get_appsettings(config_uri, options=options) engine = engine_from_config(settings, 'sqlalchemy.') session_maker = sessionmaker( bind=engine, extension=ZopeTransactionExtension() ) db_session = session_maker() with transaction.manager: import_provider( trees, ConceptScheme( id=1, uri='urn:x-skosprovider:trees', labels=[ Label('Verschillende soorten bomen', u'prefLabel', u'nl'), Label('Different types of trees', u'prefLabel', u'en') ] ), db_session ) import_provider( geo, ConceptScheme( id=2, uri='urn:x-skosprovider:geo', labels=[ Label('Geografie', u'prefLabel', u'nl'), Label('Geography', u'prefLabel', u'en') ] ), db_session ) import_provider( styles_and_cultures, ConceptScheme( id=3, uri='https://id.erfgoed.net/thesauri/stijlen_en_culturen', labels=[ Label('Stijlen en Culturen', u'prefLabel', u'nl'), Label('Styles and Cultures', u'prefLabel', u'en') ] ), db_session ) import_provider( materials, ConceptScheme( id=4, uri='https://id.erfgoed.net/thesauri/materialen', labels=[ Label('Materialen', u'prefLabel', u'nl'), Label('Materials', u'prefLabel', u'en') ] ), db_session ) import_provider( eventtypes, ConceptScheme( id=5, uri='https://id.erfgoed.net/thesauri/gebeurtenistypes', labels=[ Label('Gebeurtenistypes', u'prefLabel', u'nl'), Label('Event types', u'prefLabel', u'en') ] ), db_session ) import_provider( heritagetypes, ConceptScheme( id=6, uri='https://id.erfgoed.net/thesauri/erfgoedtypes', labels=[ Label('Erfgoedtypes', u'prefLabel', u'nl'), Label('Heritage types', u'prefLabel', u'en') ] ), db_session ) import_provider( periods, ConceptScheme( id=7, uri='https://id.erfgoed.net/thesauri/dateringen', labels=[ Label('Dateringen', u'prefLabel', u'nl'), Label('Periods', u'prefLabel', u'en') ] ), db_session ) import_provider( species, ConceptScheme( id=8, uri='https://id.erfgoed.net/thesauri/soorten', labels=[ Label('Soorten', u'prefLabel', u'nl'), Label('Species', u'prefLabel', u'en') ] ), db_session ) print('--atramhasis-db-initialized--')
def setUp(self): self.config = Configurator(settings=settings, package='tests') self.config.add_route('login', '/auth/login') self.config.add_route('logout', '/auth/logout') includeme(self.config) self.config.add_static_view('atramhasis/static', 'atramhasis:static') Base.metadata.drop_all(self.engine) Base.metadata.create_all(self.engine) VisitLogBase.metadata.drop_all(self.engine) VisitLogBase.metadata.create_all(self.engine) Base.metadata.bind = self.engine self.config.registry.dbmaker = self.session_maker self.config.add_request_method(data_managers, reify=True) with transaction.manager: local_session = self.session_maker() import_provider(trees, ConceptScheme(id=1, uri='urn:x-skosprovider:trees'), local_session) import_provider(materials, ConceptScheme(id=4, uri='urn:x-vioe:materials'), local_session) import_provider(geo, ConceptScheme(id=2, uri='urn:x-vioe:geography'), local_session) local_session.add(ConceptScheme(id=3, uri='urn:x-vioe:styles')) local_session.add(LabelType('hiddenLabel', 'A hidden label.')) local_session.add(LabelType('altLabel', 'An alternative label.')) local_session.add(LabelType('prefLabel', 'A preferred label.')) local_session.add(LabelType('sortLabel', 'A sorting label.')) local_session.add(MatchType('broadMatch', '')) local_session.add(MatchType('closeMatch', '')) local_session.add(MatchType('exactMatch', '')) local_session.add(MatchType('narrowMatch', '')) local_session.add(MatchType('relatedMatch', '')) local_session.add(Language(id='de', name='test')) TREES = SQLAlchemyProvider( {'id': 'TREES', 'conceptscheme_id': 1}, self.config.registry.dbmaker ) GEO = SQLAlchemyProvider( {'id': 'GEOGRAPHY', 'conceptscheme_id': 2}, self.config.registry.dbmaker, uri_generator=UriPatternGenerator('urn:x-vioe:geography:%s') ) STYLES = SQLAlchemyProvider( {'id': 'STYLES', 'conceptscheme_id': 3}, self.config.registry.dbmaker ) MATERIALS = SQLAlchemyProvider( {'id': 'MATERIALS', 'conceptscheme_id': 4}, self.config.registry.dbmaker, uri_generator=UriPatternGenerator('urn:x-vioe:materials:%s') ) self.config.add_subscriber(self.mock_event_handler, ProtectedResourceEvent) self.config.add_subscriber(self.mock_event_handler_provider_unavailable, ProtectedResourceEvent) skosregis = self.config.get_skos_registry() skosregis.register_provider(TREES) skosregis.register_provider(GEO) skosregis.register_provider(STYLES) skosregis.register_provider(MATERIALS) skosregis.register_provider(TEST) self.app = self.config.make_wsgi_app() self.testapp = TestApp(self.app)
def main(argv=sys.argv): from fixtures.data import trees, geo from fixtures.styles_and_cultures import styles_and_cultures from fixtures.materials import materials from fixtures.eventtypes import eventtypes from fixtures.heritagetypes import heritagetypes from fixtures.periods import periods from fixtures.species import species if len(argv) < 2: usage(argv) config_uri = argv[1] options = parse_vars(argv[2:]) setup_logging(config_uri) settings = get_appsettings(config_uri, options=options) engine = engine_from_config(settings, 'sqlalchemy.') session_maker = sessionmaker(bind=engine, extension=ZopeTransactionExtension()) db_session = session_maker() with transaction.manager: import_provider( trees, ConceptScheme(id=1, uri='urn:x-skosprovider:trees', labels=[ Label('Verschillende soorten bomen', u'prefLabel', u'nl'), Label('Different types of trees', u'prefLabel', u'en') ]), db_session) import_provider( geo, ConceptScheme(id=2, uri='urn:x-skosprovider:geo', labels=[ Label('Geografie', u'prefLabel', u'nl'), Label('Geography', u'prefLabel', u'en') ]), db_session) import_provider( styles_and_cultures, ConceptScheme( id=3, uri='https://id.erfgoed.net/thesauri/stijlen_en_culturen', labels=[ Label('Stijlen en Culturen', u'prefLabel', u'nl'), Label('Styles and Cultures', u'prefLabel', u'en') ]), db_session) import_provider( materials, ConceptScheme(id=4, uri='https://id.erfgoed.net/thesauri/materialen', labels=[ Label('Materialen', u'prefLabel', u'nl'), Label('Materials', u'prefLabel', u'en') ]), db_session) import_provider( eventtypes, ConceptScheme( id=5, uri='https://id.erfgoed.net/thesauri/gebeurtenistypes', labels=[ Label('Gebeurtenistypes', u'prefLabel', u'nl'), Label('Event types', u'prefLabel', u'en') ]), db_session) import_provider( heritagetypes, ConceptScheme(id=6, uri='https://id.erfgoed.net/thesauri/erfgoedtypes', labels=[ Label('Erfgoedtypes', u'prefLabel', u'nl'), Label('Heritage types', u'prefLabel', u'en') ]), db_session) import_provider( periods, ConceptScheme(id=7, uri='https://id.erfgoed.net/thesauri/dateringen', labels=[ Label('Dateringen', u'prefLabel', u'nl'), Label('Periods', u'prefLabel', u'en') ]), db_session) import_provider( species, ConceptScheme(id=8, uri='https://id.erfgoed.net/thesauri/soorten', labels=[ Label('Soorten', u'prefLabel', u'nl'), Label('Species', u'prefLabel', u'en') ]), db_session) print('--atramhasis-db-initialized--')