Ejemplo n.º 1
0
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'
Ejemplo n.º 2
0
    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