class LocalDownloaderTests(base_downloader.BaseDownloaderTests):

    def setUp(self):
        super(LocalDownloaderTests, self).setUp()
        self.downloader = LocalDownloader(self.repo, None, self.config, self.mock_cancelled_callback)

    def test_download_resource(self):
        # Setup
        indexes = self.dist.get_indexes()

        # Test
        self.downloader.download_resources(indexes, self.mock_progress_report)

        # Verify
        self.assertEqual(3, len(indexes))

        self.assertEqual(3, self.mock_progress_report.query_total_count)
        self.assertEqual(3, self.mock_progress_report.query_finished_count)
        self.assertEqual(2, self.mock_progress_report.update_progress.call_count)

    def test_download_resource_not_found(self):
        # Setup
        indexes = self.dist.get_indexes()
        indexes[1]['url'] = indexes[1]['url'] + '_'

        # Test & Verify
        try:
            self.downloader.download_resources(indexes, self.mock_progress_report)
            self.fail()
        except FileNotFoundException, e:
            self.assertEqual(e.location in [r['url'] for r in indexes], True)
 def setUp(self):
     super(LocalDownloaderTests, self).setUp()
     self.downloader = LocalDownloader(self.repo, None, self.config, self.mock_cancelled_callback)