def test_gen_new_name(mock_ckan_session_query): class MockSessionQuery: def __init__(self, name): self.name = name self.first_query = True def filter(self, *arg): mock_return = Mock() if self.first_query: self.first_query = False if self.name: mock_pkg_query = Mock() mock_pkg_query.name = self.name else: mock_pkg_query = None mock_return.order_by.return_value.first.return_value = mock_pkg_query return mock_return else: mock_return = Mock() mock_return.first.return_value = None return mock_return harvester = GeminiHarvester() mock_ckan_session_query.return_value = MockSessionQuery(None) assert harvester.gen_new_name('Some test') == 'some-test' mock_ckan_session_query.return_value = MockSessionQuery('some-test') assert harvester.gen_new_name('Some test') == 'some-test1' mock_ckan_session_query.return_value = MockSessionQuery('some-test100') assert harvester.gen_new_name('Some test') == 'some-test101'
def setup(self): HarvestFixtureBase.setup(self) # Create source source_fixture = { 'title': 'Test Source', 'name': 'test-source', 'url': u'http://127.0.0.1:8999/gemini2.1/dataset1.xml', 'source_type': u'gemini-single' } source, job = self._create_source_and_job(source_fixture) self.harvester = GeminiHarvester() self.harvester.harvest_job = job