def test_competition_download_error(self): with testing.mock_kaggle_api(err_msg="Some error"): with self.assertLogs("install the kaggle API", level="error"): downloader = kaggle.KaggleCompetitionDownloader( "digit-recognizer") with self.assertRaises(subprocess.CalledProcessError): _ = downloader.competition_files
def test_competition_download_404(self): with testing.mock_kaggle_api(err_msg="404 - Not found"): with self.assertLogs("spelled the competition name correctly", level="error"): downloader = kaggle.KaggleCompetitionDownloader( "digit-recognizer") with self.assertRaises(subprocess.CalledProcessError): _ = downloader.competition_files
def test_competition_download(self): filenames = ["a", "b"] with testing.mock_kaggle_api(filenames): downloader = kaggle.KaggleCompetitionDownloader("digit-recognizer") self.assertEqual(downloader.competition_files, ["a", "b"]) with testing.tmp_dir() as tmp_dir: for fname in downloader.competition_files: out_path = downloader.download_file(fname, tmp_dir) self.assertEqual(out_path, os.path.join(tmp_dir, fname)) with tf.io.gfile.GFile(out_path) as f: self.assertEqual(fname, f.read())
def kaggle_downloader(self, competition_name): return kaggle.KaggleCompetitionDownloader(competition_name)
def test_kaggle_type(self): downloader = kaggle.KaggleCompetitionDownloader("digit-recognizer") self.assertEqual(downloader._kaggle_type.download_cmd, "competitions") downloader = kaggle.KaggleCompetitionDownloader("author/dataset") self.assertEqual(downloader._kaggle_type.download_cmd, "datasets")