Changeset View
Changeset View
Standalone View
Standalone View
swh/indexer/tests/test_origin_metadata.py
# Copyright (C) 2018 The Software Heritage developers | # Copyright (C) 2018 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
import time | import time | ||||
import logging | import logging | ||||
import unittest | import unittest | ||||
from celery import task | from celery import task | ||||
from swh.indexer.metadata import OriginMetadataIndexer | from swh.indexer.metadata import OriginMetadataIndexer, \ | ||||
RevisionMetadataIndexer, ContentMetadataIndexer | |||||
from swh.indexer.tests.test_utils import MockObjStorage, MockStorage | from swh.indexer.tests.test_utils import MockObjStorage, MockStorage | ||||
from swh.indexer.tests.test_utils import MockIndexerStorage | from swh.indexer.tests.test_utils import MockIndexerStorage | ||||
from swh.indexer.tests.test_origin_head import OriginHeadTestIndexer | from swh.indexer.tests.test_origin_head import OriginHeadTestIndexer | ||||
from swh.indexer.tests.test_metadata import RevisionMetadataTestIndexer | |||||
from swh.scheduler.tests.scheduler_testing import SchedulerTestFixture | from swh.scheduler.tests.scheduler_testing import SchedulerTestFixture | ||||
from swh.model.hashutil import hash_to_bytes | from swh.model.hashutil import hash_to_bytes | ||||
class OriginMetadataTestIndexer(OriginMetadataIndexer): | class OriginMetadataTestIndexer(OriginMetadataIndexer): | ||||
def prepare(self): | def prepare(self): | ||||
Show All 9 Lines | def prepare(self): | ||||
self.storage = MockStorage() | self.storage = MockStorage() | ||||
self.idx_storage = MockIndexerStorage() | self.idx_storage = MockIndexerStorage() | ||||
self.log = logging.getLogger('swh.indexer') | self.log = logging.getLogger('swh.indexer') | ||||
self.objstorage = MockObjStorage() | self.objstorage = MockObjStorage() | ||||
self.tools = self.register_tools(self.config['tools']) | self.tools = self.register_tools(self.config['tools']) | ||||
self.results = [] | self.results = [] | ||||
class ContentMetadataTestIndexer(ContentMetadataIndexer): | |||||
"""Specific Metadata whose configuration is enough to satisfy the | |||||
indexing tests. | |||||
""" | |||||
def prepare(self): | |||||
self.idx_storage = MockIndexerStorage() | |||||
self.log = logging.getLogger('swh.indexer') | |||||
self.objstorage = MockObjStorage() | |||||
self.tools = self.register_tools(self.config['tools']) | |||||
self.tool = self.tools[0] | |||||
self.results = [] | |||||
class RevisionMetadataTestIndexer(RevisionMetadataIndexer): | |||||
"""Specific indexer whose configuration is enough to satisfy the | |||||
indexing tests. | |||||
""" | |||||
ContentMetadataIndexer = ContentMetadataTestIndexer | |||||
def prepare(self): | |||||
self.config = { | |||||
'storage': {}, | |||||
'objstorage': {}, | |||||
'indexer_storage': {}, | |||||
'tools': { | |||||
'name': 'swh-metadata-detector', | |||||
'version': '0.0.2', | |||||
'configuration': { | |||||
'type': 'local', | |||||
'context': 'NpmMapping' | |||||
} | |||||
} | |||||
} | |||||
self.storage = MockStorage() | |||||
self.idx_storage = MockIndexerStorage() | |||||
self.log = logging.getLogger('swh.indexer') | |||||
self.objstorage = MockObjStorage() | |||||
self.tools = self.register_tools(self.config['tools']) | |||||
self.tool = self.tools[0] | |||||
@task | @task | ||||
def revision_metadata_test_task(*args, **kwargs): | def revision_metadata_test_task(*args, **kwargs): | ||||
indexer = RevisionMetadataTestIndexer() | indexer = RevisionMetadataTestIndexer() | ||||
indexer.run(*args, **kwargs) | indexer.run(*args, **kwargs) | ||||
return indexer.results | return indexer.results | ||||
@task | @task | ||||
▲ Show 20 Lines • Show All 79 Lines • Show Last 20 Lines |