Ejemplo n.º 1
0
 def setUp(self):
     self.config = testing.setUp()
     self.regis = Registry()
     self.regis.register_provider(trees)
     config = testing.setUp()
     config.add_route('home', 'foo')
     config.add_settings(settings)
Ejemplo n.º 2
0
class TestConceptSchemeView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)
        self.request = testing.DummyRequest()
        self.request.accept = ['text/html']
        self.request.data_managers = data_managers(self.request)
        self.request.skos_registry = self.regis

    def tearDown(self):
        testing.tearDown()

    def test_conceptschemes_view(self):
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.conceptschemes_view()
        self.assertIn('conceptschemes', res)
        self.assertEqual(len(res['conceptschemes']), 1)
        cs = res['conceptschemes'][0]
        self.assertIn('id', cs)
        self.assertIn('conceptscheme', cs)

    def test_conceptscheme_view(self):
        self.request.matchdict['scheme_id'] = 'TREES'
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.conceptscheme_view()
        self.assertIsNotNone(res)
        self.assertIsNotNone(res['conceptscheme'])
        self.assertEqual(res['conceptscheme']['title'], 'TREES')
        self.assertEqual(res['conceptscheme']['scheme_id'], 'TREES')
        self.assertEqual(res['conceptscheme']['uri'], 'urn:x-skosprovider:trees')
        self.assertIsNotNone(res['conceptscheme']['labels'])
        self.assertIsNotNone(res['conceptscheme']['notes'])
        self.assertIsNotNone(res['conceptscheme']['top_concepts'])
Ejemplo n.º 3
0
class TestConceptSchemeView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)
        self.request = testing.DummyRequest()
        self.request.accept = 'text/html'
        self.request.data_managers = data_managers(self.request)
        self.request.skos_registry = self.regis

    def tearDown(self):
        testing.tearDown()

    def test_conceptschemes_view(self):
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.conceptschemes_view()
        self.assertIn('conceptschemes', res)
        self.assertEqual(len(res['conceptschemes']), 1)
        cs = res['conceptschemes'][0]
        self.assertIn('id', cs)
        self.assertIn('conceptscheme', cs)

    def test_conceptscheme_view(self):
        self.request.matchdict['scheme_id'] = 'TREES'
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.conceptscheme_view()
        self.assertIsNotNone(res)
        self.assertIsNotNone(res['conceptscheme'])
        self.assertEqual(res['conceptscheme']['title'], 'TREES')
        self.assertEqual(res['conceptscheme']['scheme_id'], 'TREES')
        self.assertEqual(res['conceptscheme']['uri'],
                         'urn:x-skosprovider:trees')
        self.assertIsNotNone(res['conceptscheme']['labels'])
        self.assertIsNotNone(res['conceptscheme']['notes'])
        self.assertIsNotNone(res['conceptscheme']['top_concepts'])
Ejemplo n.º 4
0
class TestAdminView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)

    def tearDown(self):
        testing.tearDown()

    def test_no_registry(self):
        error_raised = False
        request = testing.DummyRequest()
        try:
            AtramhasisAdminView(request)
        except SkosRegistryNotFoundException as e:
            error_raised = True
            self.assertIsNotNone(e.__str__())
        self.assertTrue(error_raised)

    def test_passing_view(self):
        request = testing.DummyRequest()
        request.skos_registry = self.regis
        atramhasisAdminview = AtramhasisAdminView(request)
        info = atramhasisAdminview.admin_view()
        self.assertIsNotNone(info)
        self.assertTrue('admin' in info)

    def test_invalidate_scheme_tree(self):
        request = testing.DummyRequest()
        request.matchdict['scheme_id'] = 'TREES'
        request.skos_registry = self.regis
        atramhasisAdminview = AtramhasisAdminView(request)
        info = atramhasisAdminview.invalidate_scheme_tree()
        self.assertIsNotNone(info)
Ejemplo n.º 5
0
 def setUp(self):
     self.config = testing.setUp()
     self.regis = Registry()
     self.regis.register_provider(trees)
     self.regis.register_provider(hidden_provider(2))
     self.request = testing.DummyRequest()
     self.request.data_managers = {'skos_manager': None, 'conceptscheme_manager': None, 'audit_manager': None}
Ejemplo n.º 6
0
class TestAdminView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)

    def tearDown(self):
        testing.tearDown()

    def test_no_registry(self):
        error_raised = False
        request = testing.DummyRequest()
        try:
            AtramhasisAdminView(request)
        except SkosRegistryNotFoundException as e:
            error_raised = True
            self.assertIsNotNone(e.__str__())
        self.assertTrue(error_raised)

    def test_passing_view(self):
        request = testing.DummyRequest()
        request.skos_registry = self.regis
        atramhasisAdminview = AtramhasisAdminView(request)
        info = atramhasisAdminview.admin_view()
        self.assertIsNotNone(info)
        self.assertTrue('admin' in info)

    def test_invalidate_scheme_tree(self):
        request = testing.DummyRequest()
        request.matchdict['scheme_id'] = 'TREES'
        request.skos_registry = self.regis
        atramhasisAdminview = AtramhasisAdminView(request)
        info = atramhasisAdminview.invalidate_scheme_tree()
        self.assertIsNotNone(info)
Ejemplo n.º 7
0
class TestConceptSchemeView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)
        self.request = testing.DummyRequest()
        self.request.db = db(self.request)
        self.request.skos_registry = self.regis

    def tearDown(self):
        testing.tearDown()

    def test_conceptschemes_view(self):
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.conceptschemes_view()
        self.assertEqual(
            {'conceptschemes': [{
                'id': u'TREES',
                'uri': 'urn:test:test'
            }]}, res)

    def test_conceptscheme_view(self):
        self.request.matchdict['scheme_id'] = 'TREES'
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.conceptscheme_view()
        self.assertIsNotNone(res)
        self.assertIsNotNone(res['conceptscheme'])
        self.assertEqual(res['conceptscheme']['title'], 'TREES')
        self.assertEqual(res['conceptscheme']['scheme_id'], 'TREES')
        self.assertEqual(res['conceptscheme']['uri'],
                         'urn:x-skosprovider:trees')
        self.assertIsNotNone(res['conceptscheme']['labels'])
        self.assertIsNotNone(res['conceptscheme']['notes'])
        self.assertIsNotNone(res['conceptscheme']['top_concepts'])
Ejemplo n.º 8
0
class TestConceptSchemeView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)
        self.request = testing.DummyRequest()
        self.request.db = db(self.request)
        self.request.skos_registry = self.regis

    def tearDown(self):
        testing.tearDown()

    def test_conceptschemes_view(self):
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.conceptschemes_view()
        self.assertEqual({'conceptschemes': [{'id': u'TREES', 'uri': 'urn:test:test'}]}, res)

    def test_conceptscheme_view(self):
        self.request.matchdict['scheme_id'] = 'TREES'
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.conceptscheme_view()
        self.assertIsNotNone(res)
        self.assertIsNotNone(res['conceptscheme'])
        self.assertEqual(res['conceptscheme']['title'], 'TREES')
        self.assertEqual(res['conceptscheme']['scheme_id'], 'TREES')
        self.assertEqual(res['conceptscheme']['uri'], 'urn:x-skosprovider:trees')
        self.assertIsNotNone(res['conceptscheme']['labels'])
        self.assertIsNotNone(res['conceptscheme']['notes'])
        self.assertIsNotNone(res['conceptscheme']['top_concepts'])
Ejemplo n.º 9
0
 def setUp(self):
     self.config = testing.setUp()
     self.request = testing.DummyRequest()
     self.regis = Registry()
     self.regis.register_provider(provider(1))
     self.request.skos_registry = self.regis
     self.request.db = db(self.request)
Ejemplo n.º 10
0
class TestLocaleView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)
        config = testing.setUp()
        config.add_route('home', 'foo')
        config.add_settings(settings)
        self.request = testing.DummyRequest()
        self.request.data_managers = {'skos_manager': None, 'conceptscheme_manager': None, 'audit_manager': None}

    def tearDown(self):
        testing.tearDown()

    def test_default_locale(self):
        config_default_lang = settings.get('pyramid.default_locale_name')
        self.request.referer = None
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.set_locale_cookie()
        self.assertTrue((res.headers.get('Set-Cookie')).startswith('_LOCALE_=' + config_default_lang))

    def test_unsupported_lang(self):
        config_default_lang = settings.get('pyramid.default_locale_name')
        self.request.GET['language'] = 'XX'
        self.request.referer = None
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.set_locale_cookie()
        self.assertTrue((res.headers.get('Set-Cookie')).startswith('_LOCALE_=' + config_default_lang))

    def test_locale(self):
        testlang = 'it'
        self.request.GET['language'] = testlang
        self.request.referer = None
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.set_locale_cookie()
        self.assertTrue((res.headers.get('Set-Cookie')).startswith('_LOCALE_=' + testlang))

    def test_locale_uppercase(self):
        testlang = 'it'
        self.request.GET['language'] = testlang.upper()
        self.request.referer = None
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.set_locale_cookie()
        self.assertTrue((res.headers.get('Set-Cookie')).startswith('_LOCALE_=' + testlang))

    def test_referer(self):
        testlang = 'it'
        testurl = 'http://www.foo.bar'
        self.request.GET['language'] = testlang.upper()
        self.request.referer = testurl
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.set_locale_cookie()
        self.assertEqual(res.status, '302 Found')
        self.assertEqual(res.location, testurl)
Ejemplo n.º 11
0
class TestLocaleView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)
        config = testing.setUp()
        config.add_route('home', 'foo')
        config.add_settings(settings)
        self.request = testing.DummyRequest()
        self.request.data_managers = {'skos_manager': None, 'conceptscheme_manager': None, 'audit_manager': None}

    def tearDown(self):
        testing.tearDown()

    def test_default_locale(self):
        config_default_lang = settings.get('pyramid.default_locale_name')
        self.request.referer = None
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.set_locale_cookie()
        self.assertTrue((res.headers.get('Set-Cookie')).startswith('_LOCALE_=' + config_default_lang))

    def test_unsupported_lang(self):
        config_default_lang = settings.get('pyramid.default_locale_name')
        self.request.GET['language'] = 'XX'
        self.request.referer = None
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.set_locale_cookie()
        self.assertTrue((res.headers.get('Set-Cookie')).startswith('_LOCALE_=' + config_default_lang))

    def test_locale(self):
        testlang = 'it'
        self.request.GET['language'] = testlang
        self.request.referer = None
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.set_locale_cookie()
        self.assertTrue((res.headers.get('Set-Cookie')).startswith('_LOCALE_=' + testlang))

    def test_locale_uppercase(self):
        testlang = 'it'
        self.request.GET['language'] = testlang.upper()
        self.request.referer = None
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.set_locale_cookie()
        self.assertTrue((res.headers.get('Set-Cookie')).startswith('_LOCALE_=' + testlang))

    def test_referer(self):
        testlang = 'it'
        testurl = 'http://www.foo.bar'
        self.request.GET['language'] = testlang.upper()
        self.request.referer = testurl
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.set_locale_cookie()
        self.assertEqual(res.status, '302 Found')
        self.assertEqual(res.location, testurl)
Ejemplo n.º 12
0
 def setUp(self):
     self.config = testing.setUp()
     self.regis = Registry()
     self.regis.register_provider(trees)
     self.request = testing.DummyRequest()
     self.request.accept = 'text/html'
     self.request.data_managers = data_managers(self.request)
     self.request.skos_registry = self.regis
Ejemplo n.º 13
0
 def setUp(self):
     self.config = testing.setUp()
     self.request = testing.DummyRequest()
     self.request.accept = '*/*'
     self.regis = Registry()
     self.regis.register_provider(provider(1))
     self.request.skos_registry = self.regis
     self.request.data_managers = data_managers(self.request)
Ejemplo n.º 14
0
class TestSearchResultView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)
        self.request = testing.DummyRequest()
        self.request.data_managers = {
            'skos_manager': None,
            'conceptscheme_manager': None,
            'audit_manager': None
        }

    def tearDown(self):
        testing.tearDown()

    def test_find_by_label(self):
        self.request.matchdict['scheme_id'] = 'TREES'
        self.request.params = MultiDict()
        self.request.params.add('label', 'De Paardekastanje')
        self.request.params.add('_LOCALE_', 'nl')
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        info = atramhasisview.search_result()
        self.assertIsNotNone(info['concepts'])
        concept = info['concepts'][0]
        self.assertIsNotNone(concept)
        self.assertEqual(concept['label'], 'De Paardekastanje')
        self.assertEqual(info['scheme_id'], 'TREES')

    def test_find_by_concept(self):
        self.request.matchdict['scheme_id'] = 'TREES'
        self.request.params = MultiDict()
        self.request.params.add('ctype', 'concept')
        self.request.params.add('_LOCALE_', 'nl')
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        info = atramhasisview.search_result()
        self.assertIsNotNone(info['concepts'])
        concept = info['concepts'][0]
        self.assertIsNotNone(concept)
        self.assertEqual(info['scheme_id'], 'TREES')

    def test_no_querystring(self):
        self.request.matchdict['scheme_id'] = 'TREES'
        self.request.params = MultiDict()
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        info = atramhasisview.search_result()
        self.assertIsNotNone(info['concepts'])
        self.assertEqual(len(info['concepts']), 3)

    def test_no_schema(self):
        self.request.matchdict['scheme_id'] = 'GG'
        self.request.params = MultiDict()
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        info = atramhasisview.search_result()
        self.assertEqual(info.status_int, 404)
Ejemplo n.º 15
0
 def setUp(self):
     self.config = testing.setUp()
     self.config.add_route('concept', pattern='/conceptschemes/{scheme_id}/c/{c_id}', accept='text/html',
                           request_method="GET")
     self.request = testing.DummyRequest()
     self.request.accept = ['text/html']
     self.regis = Registry()
     self.regis.register_provider(provider(1))
     self.request.data_managers = data_managers(self.request)
Ejemplo n.º 16
0
 def setUp(self):
     self.config = testing.setUp()
     self.regis = Registry()
     self.regis.register_provider(trees)
     config = testing.setUp()
     config.add_route('home', 'foo')
     config.add_settings(settings)
     self.request = testing.DummyRequest()
     self.request.data_managers = {'skos_manager': None, 'conceptscheme_manager': None, 'audit_manager': None}
Ejemplo n.º 17
0
class TestSearchResultView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)

    def tearDown(self):
        testing.tearDown()

    def test_find_by_label(self):
        request = testing.DummyRequest()
        request.matchdict['scheme_id'] = 'TREES'
        request.params = MultiDict()
        request.params.add('label', 'De Paardekastanje')
        request.params.add('_LOCALE_', 'nl')
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.search_result()
        self.assertIsNotNone(info['concepts'])
        concept = info['concepts'][0]
        self.assertIsNotNone(concept)
        self.assertEqual(concept['label'], 'De Paardekastanje')
        self.assertEqual(info['scheme_id'], 'TREES')

    def test_find_by_concept(self):
        request = testing.DummyRequest()
        request.matchdict['scheme_id'] = 'TREES'
        request.params = MultiDict()
        request.params.add('ctype', 'concept')
        request.params.add('_LOCALE_', 'nl')
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.search_result()
        self.assertIsNotNone(info['concepts'])
        concept = info['concepts'][0]
        self.assertIsNotNone(concept)
        self.assertEqual(info['scheme_id'], 'TREES')

    def test_no_querystring(self):
        request = testing.DummyRequest()
        request.matchdict['scheme_id'] = 'TREES'
        request.params = MultiDict()
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.search_result()
        self.assertIsNotNone(info['concepts'])
        self.assertEqual(len(info['concepts']), 3)

    def test_no_schema(self):
        request = testing.DummyRequest()
        request.matchdict['scheme_id'] = 'GG'
        request.params = MultiDict()
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.search_result()
        self.assertEqual(info.status_int, 404)
Ejemplo n.º 18
0
class TestAdminView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)

    def tearDown(self):
        testing.tearDown()

    def test_no_registry(self):
        error_raised = False
        request = testing.DummyRequest()
        try:
            AtramhasisAdminView(request)
        except SkosRegistryNotFoundException as e:
            error_raised = True
            self.assertIsNotNone(e.__str__())
        self.assertTrue(error_raised)

    def test_passing_view(self):
        request = testing.DummyRequest()
        request.skos_registry = self.regis
        atramhasisAdminview = AtramhasisAdminView(request)
        info = atramhasisAdminview.admin_view()
        self.assertIsNotNone(info)
        self.assertTrue('admin' in info)

    def test_invalidate_scheme_tree(self):
        tree_cache_dictionary['foo |TREES nl'] = []
        tree_cache_dictionary['foo |TREES fr'] = []
        tree_cache_dictionary['bar |MATERIALS fr'] = []

        request = testing.DummyRequest()
        request.matchdict['scheme_id'] = 'TREES'
        request.skos_registry = self.regis
        atramhasisAdminview = AtramhasisAdminView(request)
        response = atramhasisAdminview.invalidate_scheme_tree()

        self.assertEqual(response.status_int, 200)
        self.assertIn('bar |MATERIALS fr', tree_cache_dictionary.keys())
        self.assertNotIn('foo |TREES nl', tree_cache_dictionary.keys())
        self.assertNotIn('foo |TREES fr', tree_cache_dictionary.keys())

    def test_invalidate_tree(self):
        tree_cache_dictionary['foo |TREES nl'] = []
        tree_cache_dictionary['foo |TREES fr'] = []
        tree_cache_dictionary['bar |MATERIALS fr'] = []

        request = testing.DummyRequest()
        request.skos_registry = self.regis
        atramhasisAdminview = AtramhasisAdminView(request)
        response = atramhasisAdminview.invalidate_tree()

        self.assertEqual(response.status_int, 200)
        self.assertEqual(len(tree_cache_dictionary), 0)
Ejemplo n.º 19
0
class TestAdminView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)

    def tearDown(self):
        testing.tearDown()

    def test_no_registry(self):
        error_raised = False
        request = testing.DummyRequest()
        try:
            AtramhasisAdminView(request)
        except SkosRegistryNotFoundException as e:
            error_raised = True
            self.assertIsNotNone(e.__str__())
        self.assertTrue(error_raised)

    def test_passing_view(self):
        request = testing.DummyRequest()
        request.skos_registry = self.regis
        atramhasisAdminview = AtramhasisAdminView(request)
        info = atramhasisAdminview.admin_view()
        self.assertIsNotNone(info)
        self.assertTrue('admin' in info)

    def test_invalidate_scheme_tree(self):
        tree_cache_dictionary['foo |TREES nl'] = []
        tree_cache_dictionary['foo |TREES fr'] = []
        tree_cache_dictionary['bar |MATERIALS fr'] = []

        request = testing.DummyRequest()
        request.matchdict['scheme_id'] = 'TREES'
        request.skos_registry = self.regis
        atramhasisAdminview = AtramhasisAdminView(request)
        response = atramhasisAdminview.invalidate_scheme_tree()

        self.assertEqual(response.status_int, 200)
        self.assertIn('bar |MATERIALS fr', tree_cache_dictionary.keys())
        self.assertNotIn('foo |TREES nl', tree_cache_dictionary.keys())
        self.assertNotIn('foo |TREES fr', tree_cache_dictionary.keys())

    def test_invalidate_tree(self):
        tree_cache_dictionary['foo |TREES nl'] = []
        tree_cache_dictionary['foo |TREES fr'] = []
        tree_cache_dictionary['bar |MATERIALS fr'] = []

        request = testing.DummyRequest()
        request.skos_registry = self.regis
        atramhasisAdminview = AtramhasisAdminView(request)
        response = atramhasisAdminview.invalidate_tree()

        self.assertEqual(response.status_int, 200)
        self.assertEqual(len(tree_cache_dictionary), 0)
Ejemplo n.º 20
0
 def setUp(self):
     self.config = testing.setUp()
     self.request = testing.DummyRequest()
     self.regis = Registry()
     self.regis.register_provider(provider(1))
     self.request.skos_registry = self.regis
     self.request.db = db(self.request)
Ejemplo n.º 21
0
 def setUp(self):
     self.config = testing.setUp()
     self.regis = Registry()
     self.regis.register_provider(trees)
     self.regis.register_provider(hidden_provider(2))
     self.request = testing.DummyRequest()
     self.request.data_managers = {'skos_manager': None, 'conceptscheme_manager': None, 'audit_manager': None}
Ejemplo n.º 22
0
 def setUp(self):
     self.config = testing.setUp()
     self.regis = Registry()
     self.regis.register_provider(trees)
     config = testing.setUp()
     config.add_route('home', 'foo')
     config.add_settings(settings)
Ejemplo n.º 23
0
class TestHomeView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)

    def tearDown(self):
        testing.tearDown()

    def test_passing_view(self):
        request = testing.DummyRequest()
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.home_view()
        self.assertIsNotNone(info['conceptschemes'][0])
        self.assertEqual(info['conceptschemes'][0]['id'], 'TREES')
Ejemplo n.º 24
0
class TestHomeView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)

    def tearDown(self):
        testing.tearDown()

    def test_passing_view(self):
        request = testing.DummyRequest()
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.home_view()
        self.assertIsNotNone(info['conceptschemes'][0])
        self.assertEqual(info['conceptschemes'][0]['id'], 'TREES')
Ejemplo n.º 25
0
 def setUp(self):
     self.config = testing.setUp()
     self.regis = Registry()
     self.regis.register_provider(trees)
     self.request = testing.DummyRequest()
     self.request.accept = ['text/html']
     self.request.data_managers = data_managers(self.request)
     self.request.skos_registry = self.regis
Ejemplo n.º 26
0
class TestFavicoView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)

    def tearDown(self):
        testing.tearDown()

    def test_passing_view(self):
        request = testing.DummyRequest()
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        response = atramhasisview.favicon_view()
        self.assertEqual(response.status_int, 200)
        self.assertIn('image/x-icon', response.headers['Content-Type'])
        self.assertIsNotNone(response.body)
Ejemplo n.º 27
0
 def setUp(self):
     self.config = testing.setUp()
     self.request = testing.DummyRequest()
     self.request.accept = '*/*'
     self.regis = Registry()
     self.regis.register_provider(provider(1))
     self.request.skos_registry = self.regis
     self.request.data_managers = data_managers(self.request)
Ejemplo n.º 28
0
class TestFavicoView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)

    def tearDown(self):
        testing.tearDown()

    def test_passing_view(self):
        request = testing.DummyRequest()
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        response = atramhasisview.favicon_view()
        self.assertEqual(response.status_int, 200)
        self.assertIn('image/x-icon', response.headers['Content-Type'])
        self.assertIsNotNone(response.body)
Ejemplo n.º 29
0
def _build_skos_registry(registry):
    skos_registry = registry.queryUtility(ISkosRegistry)
    if skos_registry is not None:
        return skos_registry

    skos_registry = Registry()

    registry.registerUtility(skos_registry, ISkosRegistry)
    return registry.queryUtility(ISkosRegistry)
Ejemplo n.º 30
0
class TestHtmlTreeView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)

    def tearDown(self):
        testing.tearDown()

    def test_passing_view(self):
        request = testing.DummyRequest()
        request.skos_registry = self.regis
        request.matchdict['scheme_id'] = 'TREES'
        atramhasisview = AtramhasisView(request)
        response = atramhasisview.results_tree_html()
        self.assertEqual(response['conceptType'], None)
        self.assertEqual(response['concept'], None)
        self.assertEqual(response['scheme_id'], 'TREES')
Ejemplo n.º 31
0
 def setUp(self):
     self.config = testing.setUp()
     self.regis = Registry()
     self.regis.register_provider(trees)
     config = testing.setUp()
     config.add_route('home', 'foo')
     config.add_settings(settings)
     self.request = testing.DummyRequest()
     self.request.data_managers = {'skos_manager': None, 'conceptscheme_manager': None, 'audit_manager': None}
Ejemplo n.º 32
0
 def setUp(self):
     self.config = testing.setUp()
     self.config.add_route('concept', pattern='/conceptschemes/{scheme_id}/c/{c_id}', accept='text/html',
                           request_method="GET")
     self.request = testing.DummyRequest()
     self.request.accept = ['text/html']
     self.regis = Registry()
     self.regis.register_provider(provider(1))
     self.request.data_managers = data_managers(self.request)
Ejemplo n.º 33
0
 def test_get_skos_registry(self):
     settings = {
         'skosprovider.skosregistry_location': 'registry',
     }
     r = TestRegistry(settings=settings)
     SR = Registry(instance_scope='threaded_global')
     r.registerUtility(SR, ISkosRegistry)
     SR2 = get_skos_registry(r)
     assert SR == SR2
Ejemplo n.º 34
0
class TestHtmlTreeView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)

    def tearDown(self):
        testing.tearDown()

    def test_passing_view(self):
        request = testing.DummyRequest()
        request.skos_registry = self.regis
        request.matchdict['scheme_id'] = 'TREES'
        atramhasisview = AtramhasisView(request)
        response = atramhasisview.results_tree_html()
        self.assertEqual(response['conceptType'], None)
        self.assertEqual(response['concept'], None)
        self.assertEqual(response['scheme_id'], 'TREES')
Ejemplo n.º 35
0
class TestCsvView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.request = testing.DummyRequest()
        self.request.accept = '*/*'
        self.regis = Registry()
        self.regis.register_provider(provider(1))
        self.request.skos_registry = self.regis
        self.request.data_managers = data_managers(self.request)

    def tearDown(self):
        testing.tearDown()

    def test_csv(self):
        self.request.matchdict['scheme_id'] = 'TREES'
        self.request.params = MultiDict()
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.results_csv()
        self.assertEqual(res['filename'], 'atramhasis_export')
        self.assertIsInstance(res['header'], list)
        self.assertIsInstance(res['rows'], list)
        self.assertEqual(2, len(res['rows']))

    def test_csv_label(self):
        self.request.matchdict['scheme_id'] = 'TREES'
        self.request.params = MultiDict()
        self.request.params.add('label', 'De Paardekastanje')
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.results_csv()
        self.assertEqual(res['filename'], 'atramhasis_export')
        self.assertIsInstance(res['header'], list)
        self.assertIsInstance(res['rows'], list)
        self.assertEqual(2, len(res['rows']))

    def test_csv_ctype(self):
        self.request.matchdict['scheme_id'] = 'TREES'
        self.request.params = MultiDict()
        self.request.params.add('ctype', 'concept')
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.results_csv()
        self.assertEqual(res['filename'], 'atramhasis_export')
        self.assertIsInstance(res['header'], list)
        self.assertIsInstance(res['rows'], list)
        self.assertEqual(2, len(res['rows']))
Ejemplo n.º 36
0
class TestCsvView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.request = testing.DummyRequest()
        self.request.accept = '*/*'
        self.regis = Registry()
        self.regis.register_provider(provider(1))
        self.request.skos_registry = self.regis
        self.request.data_managers = data_managers(self.request)

    def tearDown(self):
        testing.tearDown()

    def test_csv(self):
        self.request.matchdict['scheme_id'] = 'TREES'
        self.request.params = MultiDict()
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.results_csv()
        self.assertEqual(res['filename'], 'atramhasis_export')
        self.assertIsInstance(res['header'], list)
        self.assertIsInstance(res['rows'], list)
        self.assertEqual(2, len(res['rows']))

    def test_csv_label(self):
        self.request.matchdict['scheme_id'] = 'TREES'
        self.request.params = MultiDict()
        self.request.params.add('label', 'De Paardekastanje')
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.results_csv()
        self.assertEqual(res['filename'], 'atramhasis_export')
        self.assertIsInstance(res['header'], list)
        self.assertIsInstance(res['rows'], list)
        self.assertEqual(2, len(res['rows']))

    def test_csv_ctype(self):
        self.request.matchdict['scheme_id'] = 'TREES'
        self.request.params = MultiDict()
        self.request.params.add('ctype', 'concept')
        atramhasisview = AtramhasisView(self.request)
        res = atramhasisview.results_csv()
        self.assertEqual(res['filename'], 'atramhasis_export')
        self.assertIsInstance(res['header'], list)
        self.assertIsInstance(res['rows'], list)
        self.assertEqual(2, len(res['rows']))
Ejemplo n.º 37
0
class TestHomeView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)
        self.regis.register_provider(hidden_provider(2))
        self.request = testing.DummyRequest()
        self.request.data_managers = {'skos_manager': None, 'conceptscheme_manager': None, 'audit_manager': None}

    def tearDown(self):
        testing.tearDown()

    def test_passing_view(self):
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        info = atramhasisview.home_view()
        self.assertIsNotNone(info['conceptschemes'][0])
        self.assertEqual(info['conceptschemes'][0]['id'], 'TREES')
        self.assertEqual(1, len(info['conceptschemes']))
Ejemplo n.º 38
0
class TestHomeView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.regis = Registry()
        self.regis.register_provider(trees)
        self.regis.register_provider(hidden_provider(2))
        self.request = testing.DummyRequest()
        self.request.data_managers = {'skos_manager': None, 'conceptscheme_manager': None, 'audit_manager': None}

    def tearDown(self):
        testing.tearDown()

    def test_passing_view(self):
        self.request.skos_registry = self.regis
        atramhasisview = AtramhasisView(self.request)
        info = atramhasisview.home_view()
        self.assertIsNotNone(info['conceptschemes'][0])
        self.assertEqual(info['conceptschemes'][0]['id'], 'TREES')
        self.assertEqual(1, len(info['conceptschemes']))
Ejemplo n.º 39
0
def _register_request_skos_registry(request):
    '''
    Get the :class:`skosprovider.registry.Registry` attached to this request.

    :param request: The Pyramid request

    :rtype: :class:`skosprovider.registry.Registry`
    '''
    settings = _parse_settings(request.registry.settings)

    if 'skosregistry_factory' in settings:
        r = DottedNameResolver()
        skos_registry = r.resolve(settings['skosregistry_factory'])(request)
    else:
        skos_registry = Registry(instance_scope='threaded_thread')

    return skos_registry
Ejemplo n.º 40
0
def _register_global_skos_registry(registry):
    '''
    Build a :class:`skosprovider.registry.Registry` and attach it to the
    Pyramid registry.

    :param registry: The Pyramid registry

    :rtype: :class:`skosprovider.registry.Registry`
    '''
    settings = _parse_settings(registry.settings)

    if 'skosregistry_factory' in settings:
        r = DottedNameResolver()
        skos_registry = r.resolve(settings['skosregistry_factory'])()
    else:
        skos_registry = Registry(instance_scope='threaded_global')

    registry.registerUtility(skos_registry, ISkosRegistry)
    return registry.queryUtility(ISkosRegistry)
Ejemplo n.º 41
0
 def setUp(self):
     self.config = testing.setUp()
     self.regis = Registry()
     self.regis.register_provider(trees)
Ejemplo n.º 42
0
class TestJsonRenderer(unittest.TestCase):

    def setUp(self):
        self.concept = Concept()
        self.concept.type = 'concept'
        self.concept.id = 11
        self.concept.concept_id = 101
        self.concept.uri = 'urn:x-atramhasis-demo:TREES:101'
        self.concept.conceptscheme_id = 1

        notes = []
        note = Note(note='test note', notetype_id='example', language_id='en')
        note2 = Note(note='note def', notetype_id='definition', language_id='en')
        notes.append(note)
        notes.append(note2)
        self.concept.notes = notes

        labels = []
        label = Label(label='een label', labeltype_id='prefLabel', language_id='nl')
        label2 = Label(label='other label', labeltype_id='altLabel', language_id='en')
        label3 = Label(label='and some other label', labeltype_id='altLabel', language_id='en')
        labels.append(label)
        labels.append(label2)
        labels.append(label3)
        self.concept.labels = labels

        sources = []
        source = Source('Van Daele K. 2009')
        sources.append(source)
        self.concept.sources = sources

        matches = []
        match = Match()
        match.matchtype = MatchType(name='closeMatch', description='test')
        match.uri = 'urn:somethingelse:st1'
        matches.append(match)
        match2 = Match()
        match2.matchtype = MatchType(name='closeMatch', description='test')
        match2.uri = 'urn:somethingelse:st2'
        matches.append(match2)
        match3 = Match()
        match3.matchtype = MatchType(name='exactMatch', description='test')
        match3.uri = 'urn:something:thingy'
        matches.append(match3)
        self.concept.matches = matches

        self.collection = Collection()
        self.collection.type = 'collection'
        self.collection.id = 12
        self.collection.concept_id = 102
        self.collection.uri = 'urn:x-atramhasis-demo:TREES:102'
        self.collection.conceptscheme_id = 1

        self.conceptscheme = ConceptScheme()
        self.conceptscheme.id = 1
        self.conceptscheme.labels = labels
        self.conceptscheme.notes = notes
        self.conceptscheme.sources = sources
        self.conceptscheme.uri = None

        self.regis = Registry()
        self.regis.register_provider(trees)
        self.request = testing.DummyRequest()
        self.request.skos_registry = self.regis
        self.request.matchdict = {'scheme_id': 'TREES'}

        self.concept.member_of.add(self.collection)
        self.collection.members.add(self.concept)

    def test_label_adapter(self):
        from atramhasis.renderers import label_adapter
        l = self.concept.labels[2]
        label = label_adapter(l, {})
        self.assertIsInstance(label, dict)
        self.assertEqual(label['label'], 'and some other label')
        self.assertEqual(label['type'], 'altLabel')
        self.assertEqual(label['language'], 'en')

    def test_note_adapter(self):
        from atramhasis.renderers import note_adapter
        n = self.concept.notes[0]
        note = note_adapter(n, {})
        self.assertIsInstance(note, dict)
        self.assertEqual(note['note'], 'test note')
        self.assertEqual(note['type'], 'example')
        self.assertEqual(note['language'], 'en')

    def test_source_adapter(self):
        from atramhasis.renderers import source_adapter
        s = self.concept.sources[0]
        source = source_adapter(s, {})
        self.assertIsInstance(source, dict)
        self.assertEqual(source['citation'], 'Van Daele K. 2009')

    def test_concept_adapter(self):
        from atramhasis.renderers import concept_adapter
        c = self.concept
        concept = concept_adapter(c, {})
        self.assertIsInstance(concept, dict)
        self.assertEqual(concept['id'], 101)
        self.assertEqual(concept['type'], 'concept')
        self.assertEqual(concept['uri'], 'urn:x-atramhasis-demo:TREES:101')
        self.assertIsNotNone(concept['label'], 'een label')
        self.assertIsInstance(concept['labels'], list)
        self.assertEqual(len(concept['labels']), 3)
        self.assertIsInstance(concept['notes'], list)
        self.assertEqual(len(concept['notes']), 2)
        self.assertIsInstance(concept['sources'], list)
        self.assertEqual(len(concept['sources']), 1)
        self.assertIsInstance(concept['member_of'], list)
        self.assertEqual(len(concept['member_of']), 1)
        self.assertIsInstance(concept['narrower'], list)
        self.assertEqual(len(concept['narrower']), 0)
        self.assertIsInstance(concept['broader'], list)
        self.assertEqual(len(concept['broader']), 0)
        self.assertIsInstance(concept['related'], list)
        self.assertEqual(len(concept['related']), 0)
        self.assertIsInstance(concept['matches'], dict)
        self.assertEqual(len(concept['matches']['exact']), 1)
        self.assertEqual(len(concept['matches']['close']), 2)

    def test_collection_adapter(self):
        from atramhasis.renderers import collection_adapter
        c = self.collection
        collection = collection_adapter(c, {})
        self.assertIsInstance(collection, dict)
        self.assertEqual(collection['id'], 102)
        self.assertEqual(collection['type'], 'collection')
        self.assertEqual(collection['uri'], 'urn:x-atramhasis-demo:TREES:102')
        self.assertIsNone(collection['label'])
        self.assertIsInstance(collection['labels'], list)
        self.assertEqual(len(collection['labels']), 0)
        self.assertIsInstance(collection['member_of'], list)
        self.assertEqual(len(collection['member_of']), 0)
        self.assertIsInstance(collection['members'], list)
        self.assertEqual(len(collection['members']), 1)

    def test_map_relation_concept(self):
        from atramhasis.renderers import map_relation
        c = self.concept
        relation = map_relation(c)
        self.assertIsInstance(relation, dict)
        self.assertEqual(relation['id'], 101)
        self.assertEqual(relation['type'], 'concept')
        self.assertEqual(relation['uri'], 'urn:x-atramhasis-demo:TREES:101')
        self.assertIsNotNone(relation['label'], 'een label')
        self.assertIsInstance(relation['labels'], list)
        self.assertEqual(len(relation['labels']), 3)
        self.assertRaises(KeyError, lambda: relation['notes'])
        self.assertRaises(KeyError, lambda: relation['member_of'])
        self.assertRaises(KeyError, lambda: relation['narrower'])
        self.assertRaises(KeyError, lambda: relation['broader'])
        self.assertRaises(KeyError, lambda: relation['related'])

    def test_map_relation_collection(self):
        from atramhasis.renderers import map_relation
        c = self.collection
        relation = map_relation(c)
        self.assertIsInstance(relation, dict)
        self.assertEqual(relation['id'], 102)
        self.assertEqual(relation['type'], 'collection')
        self.assertEqual(relation['uri'], 'urn:x-atramhasis-demo:TREES:102')
        self.assertIsNone(relation['label'])
        self.assertIsInstance(relation['labels'], list)
        self.assertEqual(len(relation['labels']), 0)
        self.assertRaises(KeyError, lambda: relation['members'])
        self.assertRaises(KeyError, lambda: relation['member_of'])

    def test_language_adaptor(self):
        from atramhasis.renderers import language_adaptor
        l = Language(id='af', name='Afrikaans')
        res = language_adaptor(l, None)
        self.assertIsNotNone(res)
        self.assertIsInstance(res, dict)
        self.assertEqual(res['id'], 'af')
        self.assertEqual(res['name'], 'Afrikaans')

    def test_conceptscheme_adapter(self):
        from atramhasis.renderers import conceptscheme_adapter
        c = self.conceptscheme
        conceptscheme = conceptscheme_adapter(c, self.request)
        self.assertGreater(len(conceptscheme['notes']), 0)
        self.assertGreater(len(conceptscheme['labels']), 0)
        self.assertGreater(len(conceptscheme['sources']), 0)
        self.assertIsNone(conceptscheme['uri'])
        self.assertEqual('een label', conceptscheme['label'])
        self.assertEqual(1, conceptscheme['id'])
        self.assertEqual(0, len(conceptscheme['subject']))
        self.assertIsInstance(conceptscheme, dict)
Ejemplo n.º 43
0
    def setUp(self):
        self.concept = Concept()
        self.concept.type = 'concept'
        self.concept.id = 11
        self.concept.concept_id = 101
        self.concept.uri = 'urn:x-atramhasis-demo:TREES:101'
        self.concept.conceptscheme_id = 1

        notes = []
        note = Note(note='test note', notetype_id='example', language_id='en')
        note2 = Note(note='note def', notetype_id='definition', language_id='en')
        notes.append(note)
        notes.append(note2)
        self.concept.notes = notes

        labels = []
        label = Label(label='een label', labeltype_id='prefLabel', language_id='nl')
        label2 = Label(label='other label', labeltype_id='altLabel', language_id='en')
        label3 = Label(label='and some other label', labeltype_id='altLabel', language_id='en')
        labels.append(label)
        labels.append(label2)
        labels.append(label3)
        self.concept.labels = labels

        sources = []
        source = Source('Van Daele K. 2009')
        sources.append(source)
        self.concept.sources = sources

        matches = []
        match = Match()
        match.matchtype = MatchType(name='closeMatch', description='test')
        match.uri = 'urn:somethingelse:st1'
        matches.append(match)
        match2 = Match()
        match2.matchtype = MatchType(name='closeMatch', description='test')
        match2.uri = 'urn:somethingelse:st2'
        matches.append(match2)
        match3 = Match()
        match3.matchtype = MatchType(name='exactMatch', description='test')
        match3.uri = 'urn:something:thingy'
        matches.append(match3)
        self.concept.matches = matches

        self.collection = Collection()
        self.collection.type = 'collection'
        self.collection.id = 12
        self.collection.concept_id = 102
        self.collection.uri = 'urn:x-atramhasis-demo:TREES:102'
        self.collection.conceptscheme_id = 1

        self.conceptscheme = ConceptScheme()
        self.conceptscheme.id = 1
        self.conceptscheme.labels = labels
        self.conceptscheme.notes = notes
        self.conceptscheme.sources = sources
        self.conceptscheme.uri = None

        self.regis = Registry()
        self.regis.register_provider(trees)
        self.request = testing.DummyRequest()
        self.request.skos_registry = self.regis
        self.request.matchdict = {'scheme_id': 'TREES'}

        self.concept.member_of.add(self.collection)
        self.collection.members.add(self.concept)
Ejemplo n.º 44
0
    def setUp(self):
        self.concept = Concept()
        self.concept.type = 'concept'
        self.concept.id = 11
        self.concept.concept_id = 101
        self.concept.uri = 'urn:x-atramhasis-demo:TREES:101'
        self.concept.conceptscheme_id = 1

        notes = []
        note = Note(note='test note', notetype_id='example', language_id='en')
        note2 = Note(note='note def',
                     notetype_id='definition',
                     language_id='en')
        notes.append(note)
        notes.append(note2)
        self.concept.notes = notes

        labels = []
        label = Label(label='een label',
                      labeltype_id='prefLabel',
                      language_id='nl')
        label2 = Label(label='other label',
                       labeltype_id='altLabel',
                       language_id='en')
        label3 = Label(label='and some other label',
                       labeltype_id='altLabel',
                       language_id='en')
        labels.append(label)
        labels.append(label2)
        labels.append(label3)
        self.concept.labels = labels

        sources = []
        source = Source('Van Daele K. 2009')
        sources.append(source)
        self.concept.sources = sources

        matches = []
        match = Match()
        match.matchtype = MatchType(name='closeMatch', description='test')
        match.uri = 'urn:somethingelse:st1'
        matches.append(match)
        match2 = Match()
        match2.matchtype = MatchType(name='closeMatch', description='test')
        match2.uri = 'urn:somethingelse:st2'
        matches.append(match2)
        match3 = Match()
        match3.matchtype = MatchType(name='exactMatch', description='test')
        match3.uri = 'urn:something:thingy'
        matches.append(match3)
        self.concept.matches = matches

        self.collection = Collection()
        self.collection.type = 'collection'
        self.collection.id = 12
        self.collection.concept_id = 102
        self.collection.uri = 'urn:x-atramhasis-demo:TREES:102'
        self.collection.conceptscheme_id = 1

        self.conceptscheme = ConceptScheme()
        self.conceptscheme.id = 1
        self.conceptscheme.labels = labels
        self.conceptscheme.notes = notes
        self.conceptscheme.sources = sources
        self.conceptscheme.uri = None

        self.regis = Registry()
        self.regis.register_provider(trees)
        self.request = testing.DummyRequest()
        self.request.skos_registry = self.regis
        self.request.matchdict = {'scheme_id': 'TREES'}
        self.request.locale_name = 'nl'

        self.concept.member_of.add(self.collection)
        self.collection.members.add(self.concept)
Ejemplo n.º 45
0
def _skosregis_factory_global():
    return Registry(instance_scope='threaded_global')
Ejemplo n.º 46
0
def _skosregis_factory_request(request):
    return Registry(instance_scope='threaded_thread')
Ejemplo n.º 47
0
class TestConceptView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.request = testing.DummyRequest()
        self.regis = Registry()
        self.regis.register_provider(provider(1))
        self.request.db = db(self.request)

    def tearDown(self):
        testing.tearDown()

    def test_passing_view(self):
        request = self.request
        request.matchdict['scheme_id'] = 'TREES'
        request.matchdict['c_id'] = '1'
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.concept_view()
        self.assertIsNotNone(info['concept'])
        self.assertEqual(info['conceptType'], 'Concept')
        self.assertEqual(info['scheme_id'], 'TREES')

    def test_passing_collection_view(self):
        request = self.request
        request.matchdict['scheme_id'] = 'TREES'
        request.matchdict['c_id'] = '3'
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.concept_view()
        self.assertIsNotNone(info['concept'])
        self.assertEqual(info['conceptType'], 'Collection')
        self.assertEqual(info['scheme_id'], 'TREES')

    def test_provider_not_found(self):
        request = self.request
        request.matchdict['scheme_id'] = 'ZZ'
        request.matchdict['c_id'] = '1'
        request.skos_registry = self.regis
        error_raised = False
        try:
            atramhasisview = AtramhasisView(request)
            atramhasisview.concept_view()
        except ConceptSchemeNotFoundException as e:
            error_raised = True
            self.assertIsNotNone(e.__str__())
        self.assertTrue(error_raised)

    def test_not_found(self):
        request = self.request
        request.matchdict['scheme_id'] = 'TREES'
        request.matchdict['c_id'] = '666'
        request.skos_registry = self.regis
        error_raised = False
        try:
            atramhasisview = AtramhasisView(request)
            atramhasisview.concept_view()
        except ConceptNotFoundException as e:
            error_raised = True
            self.assertIsNotNone(e.__str__())
        self.assertTrue(error_raised)

    def test_no_type(self):
        request = self.request
        request.matchdict['scheme_id'] = 'TREES'
        request.matchdict['c_id'] = '555'
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.concept_view()
        self.assertEqual(info.status_int, 500)
Ejemplo n.º 48
0
 def test_register_global_skos_registry_already_exists(self):
     r = TestRegistry()
     SR = Registry(instance_scope='threaded_global')
     r.registerUtility(SR, ISkosRegistry)
     SR2 = _register_global_skos_registry(r)
     assert isinstance(SR, Registry)
Ejemplo n.º 49
0
class TestConceptView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.config.add_route('concept', pattern='/conceptschemes/{scheme_id}/c/{c_id}', accept='text/html',
                              request_method="GET")
        self.request = testing.DummyRequest()
        self.request.accept = ['text/html']
        self.regis = Registry()
        self.regis.register_provider(provider(1))
        self.request.data_managers = data_managers(self.request)

    def tearDown(self):
        testing.tearDown()

    def test_passing_view(self):
        request = self.request
        request.matchdict['scheme_id'] = 'TREES'
        request.matchdict['c_id'] = '1'
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.concept_view()
        self.assertIsNotNone(info['concept'])
        self.assertEqual(info['conceptType'], 'Concept')
        self.assertEqual(info['scheme_id'], 'TREES')

    def test_passing_collection_view(self):
        request = self.request
        request.matchdict['scheme_id'] = 'TREES'
        request.matchdict['c_id'] = '3'
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.concept_view()
        self.assertIsNotNone(info['concept'])
        self.assertEqual(info['conceptType'], 'Collection')
        self.assertEqual(info['scheme_id'], 'TREES')

    def test_provider_not_found(self):
        request = self.request
        request.matchdict['scheme_id'] = 'ZZ'
        request.matchdict['c_id'] = '1'
        request.skos_registry = self.regis
        error_raised = False
        try:
            atramhasisview = AtramhasisView(request)
            atramhasisview.concept_view()
        except ConceptSchemeNotFoundException as e:
            error_raised = True
            self.assertIsNotNone(e.__str__())
        self.assertTrue(error_raised)

    def test_not_found(self):
        request = self.request
        request.matchdict['scheme_id'] = 'TREES'
        request.matchdict['c_id'] = '666'
        request.skos_registry = self.regis
        error_raised = False
        try:
            atramhasisview = AtramhasisView(request)
            atramhasisview.concept_view()
        except ConceptNotFoundException as e:
            error_raised = True
            self.assertIsNotNone(e.__str__())
        self.assertTrue(error_raised)

    def test_no_type(self):
        request = self.request
        request.matchdict['scheme_id'] = 'TREES'
        request.matchdict['c_id'] = '555'
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.concept_view()
        self.assertEqual(info.status_int, 500)
Ejemplo n.º 50
0
class RegistryTests(unittest.TestCase):
    def setUp(self):
        self.reg = Registry()
        self.prov = trees
        self.prov2 = geo

    def tearDown(self):
        self.reg = None
        self.prov = None
        self.prov2 = None

    def test_empty_register_provider(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_provider('TREES'), self.prov)

    def test_empty_register_removeProvider(self):
        self.assertFalse(self.reg.remove_provider('TREES'))

    def test_empty_getProviders(self):
        self.assertEquals(self.reg.get_providers(), [])
        self.assertEquals(self.reg.get_providers(ids=[]), [])

    def test_empty_getProviderById(self):
        self.assertFalse(self.reg.get_provider('TREES'))

    def test_empty_findConcepts(self):
        self.assertEquals(self.reg.find({}), [])

    def test_empty_getAllConcepts(self):
        self.assertEquals(self.reg.get_all(), [])

    def test_one_provider_register_provider(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_provider('TREES'), self.prov)
        self.reg.register_provider(self.prov2)
        self.assertEquals(self.reg.get_provider('GEOGRAPHY'), self.prov2)

    def test_one_provider_register_double_provider(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_provider('TREES'), self.prov)
        self.assertRaises(
            RegistryException,
            self.reg.register_provider,
            self.prov
        )

    def test_one_provider_removeProvider(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_provider('TREES'), self.prov)
        self.reg.remove_provider('TREES')
        self.assertFalse(self.reg.get_provider('TREES'))

    def test_one_provider_getProviders(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_providers(), [self.prov])
        self.assertEquals(self.reg.get_providers(ids=['TREES']), [self.prov])

    def test_one_provider_getProvidersWithIds(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_providers(ids=['TREES']), [self.prov])
        self.assertEquals(self.reg.get_providers(), [self.prov])
        self.assertEquals(self.reg.get_providers(ids=['GEOGRAPHY']), [])

    def test_one_provider_getPoviderWithId(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_provider('TREES'), self.prov)

    def test_one_provider_findConcepts(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(
            self.reg.find({'label': 'The Larch'}),
            [
                {
                    'id': 'TREES',
                    'concepts': [
                        {
                            'id': '1',
                            'uri': 'http://id.trees.org/1',
                            'type': 'concept',
                            'label': 'De Lariks'
                        }
                    ]
                }
            ]
        )

    def test_one_provider_getConceptByUri(self):
        self.reg.register_provider(self.prov)
        c = self.reg.get_by_uri('http://id.trees.org/1')
        self.assertEqual(c.id, '1')
        self.assertEqual(c.uri, 'http://id.trees.org/1')

    def test_one_provider_getConceptByUnexistingUri(self):
        self.reg.register_provider(self.prov)
        c = self.reg.get_by_uri('http://id.thingy.com/123456')
        self.assertFalse(c)

    def test_one_provider_findConceptsWithProviderid(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(
            self.reg.find({'label': 'The Larch'}, providers=['TREES']),
            [
                {
                    'id': 'TREES',
                    'concepts': [
                        {
                            'id': '1',
                            'uri': 'http://id.trees.org/1',
                            'type': 'concept',
                            'label': 'De Lariks'
                        }
                    ]
                }
            ]
        )
        self.assertEquals(
            self.reg.find({'label': 'The Larch'}, providers=[]),
            []
        )

    def test_one_provider_getAllConcepts(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(
            self.reg.get_all(),
            [
                {
                    'id': 'TREES',
                    'concepts': [
                        {
                            'id': '1',
                            'uri': 'http://id.trees.org/1',
                            'type': 'concept',
                            'label': 'De Lariks'
                        }, {
                            'id': '2',
                            'uri': 'http://id.trees.org/2',
                            'type': 'concept',
                            'label': 'De Paardekastanje'
                        }, {
                            'id': 3,
                            'uri': 'http://id.trees.org/3',
                            'type': 'collection',
                            'label': 'Bomen per soort'
                        }
                    ]
                }
            ]
        )
Ejemplo n.º 51
0
 def setUp(self):
     self.reg = Registry()
     self.prov = trees
     self.prov2 = geo
Ejemplo n.º 52
0
class RegistryTests(unittest.TestCase):
    def setUp(self):
        self.reg = Registry()
        self.prov = trees
        self.prov2 = geo

    def tearDown(self):
        self.reg = None
        self.prov = None
        self.prov2 = None

    def test_empty_register_provider(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_provider('TREES'), self.prov)

    def test_empty_register_removeProvider(self):
        self.assertFalse(self.reg.remove_provider('TREES'))

    def test_empty_getProviders(self):
        self.assertEquals(self.reg.get_providers(), [])
        self.assertEquals(self.reg.get_providers(ids=[]), [])

    def test_empty_getProviderById(self):
        self.assertFalse(self.reg.get_provider('TREES'))
        self.assertFalse(self.reg.get_provider('http://id.trees.org'))

    def test_empty_findConcepts(self):
        self.assertEquals(self.reg.find({}), [])

    def test_empty_getAllConcepts(self):
        self.assertEquals(self.reg.get_all(), [])

    def test_one_provider_register_provider(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_provider('TREES'), self.prov)
        self.assertEquals(
            self.reg.get_provider('http://id.trees.org'),
            self.prov
        )
        self.reg.register_provider(self.prov2)
        self.assertEquals(self.reg.get_provider('GEOGRAPHY'), self.prov2)
        self.assertEquals(
            self.reg.get_provider('urn:x-skosprovider:geography'),
            self.prov2
        )

    def test_one_provider_register_double_provider(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_provider('TREES'), self.prov)
        self.assertRaises(
            RegistryException,
            self.reg.register_provider,
            self.prov
        )
        #Change the id, but keep identical URIs
        self.prov.metadata['id'] = 'TREESTOO'
        self.assertRaises(
            RegistryException,
            self.reg.register_provider,
            self.prov
        )
        self.prov.metadata['id'] = 'TREES'

    def test_one_provider_removeProvider(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_provider('TREES'), self.prov)
        self.reg.remove_provider('TREES')
        self.assertFalse(self.reg.get_provider('TREES'))

    def test_one_provider_removeProviderWithUri(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_provider('TREES'), self.prov)
        self.reg.remove_provider('http://id.trees.org')
        self.assertFalse(self.reg.get_provider('TREES'))

    def test_one_provider_getProviders(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_providers(), [self.prov])
        self.assertEquals(self.reg.get_providers(ids=['TREES']), [self.prov])

    def test_one_provider_getProvidersWithIds(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_providers(ids=['TREES']), [self.prov])
        self.assertEquals(self.reg.get_providers(), [self.prov])
        self.assertEquals(self.reg.get_providers(ids=['GEOGRAPHY']), [])

    def test_one_provider_getProvidersWithUris(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_providers(ids=['http://id.trees.org']), [self.prov])
        self.assertEquals(self.reg.get_providers(), [self.prov])
        self.assertEquals(self.reg.get_providers(ids=['urn:x-skosprovider:geography']), [])

    def test_one_provider_getProvidersWithSubject(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_providers(subject='something'), [])
        self.assertEquals(self.reg.get_providers(subject='biology'), [self.prov])

    def test_one_provider_getPoviderWithId(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_provider('TREES'), self.prov)

    def test_one_provider_getPoviderWithUri(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(self.reg.get_provider('http://id.trees.org'), self.prov)

    def test_one_provider_findConcepts(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(
            self.reg.find({'label': 'The Larch'}),
            [
                {
                    'id': 'TREES',
                    'concepts': [
                        {
                            'id': '1',
                            'uri': 'http://id.trees.org/1',
                            'type': 'concept',
                            'label': 'De Lariks'
                        }
                    ]
                }
            ]
        )

    def test_one_provider_getConceptByUri(self):
        self.reg.register_provider(self.prov)
        c = self.reg.get_by_uri('http://id.trees.org/1')
        self.assertEqual(c.id, '1')
        self.assertEqual(c.uri, 'http://id.trees.org/1')

    def test_one_provider_getConceptByUriDifferentFromConceptScheme(self):
        from skosprovider.skos import ConceptScheme
        from skosprovider.providers import DictionaryProvider
        trees = DictionaryProvider(
            {'id': 'TREES', 'default_language': 'nl'},
            [larch, chestnut, species],
            concept_scheme=ConceptScheme('urn:something')
        )
        self.reg.register_provider(trees)
        c = self.reg.get_by_uri('http://id.trees.org/1')
        self.assertEqual(c.id, '1')
        self.assertEqual(c.uri, 'http://id.trees.org/1')

    def test_one_provider_getConceptByUnexistingUri(self):
        self.reg.register_provider(self.prov)
        c = self.reg.get_by_uri('http://id.thingy.com/123456')
        self.assertFalse(c)

    def test_get_by_invalid_uri(self):
        self.assertRaises(
            ValueError,
            self.reg.get_by_uri,
            None
        )

    def test_one_provider_findConceptsWithProviderid(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(
            self.reg.find({'label': 'The Larch'}, providers=['TREES']),
            [
                {
                    'id': 'TREES',
                    'concepts': [
                        {
                            'id': '1',
                            'uri': 'http://id.trees.org/1',
                            'type': 'concept',
                            'label': 'De Lariks'
                        }
                    ]
                }
            ]
        )
        self.assertEquals(
            self.reg.find({'label': 'The Larch'}, providers=[]),
            []
        )

    def test_one_provider_getAllConcepts(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(
            self.reg.get_all(),
            [
                {
                    'id': 'TREES',
                    'concepts': [
                        {
                            'id': '1',
                            'uri': 'http://id.trees.org/1',
                            'type': 'concept',
                            'label': 'De Lariks'
                        }, {
                            'id': '2',
                            'uri': 'http://id.trees.org/2',
                            'type': 'concept',
                            'label': 'De Paardekastanje'
                        }, {
                            'id': 3,
                            'uri': 'http://id.trees.org/3',
                            'type': 'collection',
                            'label': 'Bomen per soort'
                        }
                    ]
                }
            ]
        )

    def test_one_provider_getAllConceptsDifferentLanguage(self):
        self.reg.register_provider(self.prov)
        self.assertEquals(
                self.reg.get_all(language="en"),
            [
                {
                    'id': 'TREES',
                    'concepts': [
                        {
                            'id': '1',
                            'uri': 'http://id.trees.org/1',
                            'type': 'concept',
                            'label': 'The Larch'
                        }, {
                            'id': '2',
                            'uri': 'http://id.trees.org/2',
                            'type': 'concept',
                            'label': 'The Chestnut'
                        }, {
                            'id': 3,
                            'uri': 'http://id.trees.org/3',
                            'type': 'collection',
                            'label': 'Trees by species'
                        }
                    ]
                }
            ]
        )

    def test_two_providers_findConceptsWithProviderIdAndUri(self):
        self.reg.register_provider(self.prov2)
        self.reg.register_provider(self.prov)
        self.assertEquals(
            self.reg.find({'label': 'The Larch'}, providers=['TREES']),
            self.reg.find({'label': 'The Larch'}, providers=['http://id.trees.org']),
        )

    def test_two_providers_findConceptsProvidersDictionarySyntax(self):
        self.reg.register_provider(self.prov2)
        self.reg.register_provider(self.prov)
        self.assertEquals(
            self.reg.find({'label': 'The Larch'}, providers=['TREES']),
            self.reg.find({'label': 'The Larch'}, providers={'ids': ['http://id.trees.org']}),
        )

    def test_two_providers_findConceptsProvidersDictionarySyntax(self):
        self.reg.register_provider(self.prov2)
        self.reg.register_provider(self.prov)
        self.assertEquals(
            self.reg.find({'label': 'The Larch'}, providers=['TREES']),
            self.reg.find({'label': 'The Larch'}, providers={'ids': ['http://id.trees.org']}),
        )

    def test_one_provider_findConceptsWithSubject(self):
        self.reg.register_provider(self.prov)
        provs = self.reg.get_providers(subject='biology')
        res = [{'id': p.get_vocabulary_id(), 'concepts': p.find({})} for p in provs]
        self.assertEquals(
            res,
            self.reg.find({},subject='biology')
        )

    def test_one_provider_findConceptsWithSubject_language_en(self):
        self.reg.register_provider(self.prov)
        provs = self.reg.get_providers(subject='biology')
        res = [{'id': p.get_vocabulary_id(), 'concepts': p.find({}, language='en')} for p in provs]
        self.assertEquals(
            res,
            self.reg.find({},subject='biology', language='en')
        )

    def test_one_provider_findConceptsWithSubject_language_nl(self):
        self.reg.register_provider(self.prov)
        provs = self.reg.get_providers(subject='biology')
        res = [{'id': p.get_vocabulary_id(), 'concepts': p.find({})} for p in provs]
        self.assertEquals(
            res,
            self.reg.find({},subject='biology', language='nl')
        )
Ejemplo n.º 53
0
 def setUp(self):
     self.config = testing.setUp()
     self.regis = Registry()
     self.regis.register_provider(trees)
Ejemplo n.º 54
0
class TestConceptView(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
        self.request = testing.DummyRequest()
        self.regis = Registry()
        self.regis.register_provider(provider(1))
        self.request.db = db(self.request)

    def tearDown(self):
        testing.tearDown()

    def test_passing_view(self):
        request = self.request
        request.matchdict['scheme_id'] = 'TREES'
        request.matchdict['c_id'] = '1'
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.concept_view()
        self.assertIsNotNone(info['concept'])
        self.assertEqual(info['conceptType'], 'Concept')
        self.assertEqual(info['scheme_id'], 'TREES')

    def test_passing_collection_view(self):
        request = self.request
        request.matchdict['scheme_id'] = 'TREES'
        request.matchdict['c_id'] = '3'
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.concept_view()
        self.assertIsNotNone(info['concept'])
        self.assertEqual(info['conceptType'], 'Collection')
        self.assertEqual(info['scheme_id'], 'TREES')

    def test_provider_not_found(self):
        request = self.request
        request.matchdict['scheme_id'] = 'ZZ'
        request.matchdict['c_id'] = '1'
        request.skos_registry = self.regis
        error_raised = False
        try:
            atramhasisview = AtramhasisView(request)
            atramhasisview.concept_view()
        except ConceptSchemeNotFoundException as e:
            error_raised = True
            self.assertIsNotNone(e.__str__())
        self.assertTrue(error_raised)

    def test_not_found(self):
        request = self.request
        request.matchdict['scheme_id'] = 'TREES'
        request.matchdict['c_id'] = '666'
        request.skos_registry = self.regis
        error_raised = False
        try:
            atramhasisview = AtramhasisView(request)
            atramhasisview.concept_view()
        except ConceptNotFoundException as e:
            error_raised = True
            self.assertIsNotNone(e.__str__())
        self.assertTrue(error_raised)

    def test_no_type(self):
        request = self.request
        request.matchdict['scheme_id'] = 'TREES'
        request.matchdict['c_id'] = '555'
        request.skos_registry = self.regis
        atramhasisview = AtramhasisView(request)
        info = atramhasisview.concept_view()
        self.assertEqual(info.status_int, 500)