def test_url_to_filename(self): for url in [ 'http://allenai.org', 'http://cool.org', 'https://www.google.com', 'http://pytorch.org', 'https://s3-us-west-2.amazonaws.com/cool' + '/long' * 20 + '/url' ]: filename = url_to_filename(url) assert "http" not in filename with pytest.raises(FileNotFoundError): filename_to_url(filename, cache_dir=self.TEST_DIR) pathlib.Path(os.path.join(self.TEST_DIR, filename)).touch() with pytest.raises(FileNotFoundError): filename_to_url(filename, cache_dir=self.TEST_DIR) json.dump({ 'url': url, 'etag': None }, open(os.path.join(self.TEST_DIR, filename + '.json'), 'w')) back_to_url, etag = filename_to_url(filename, cache_dir=self.TEST_DIR) assert back_to_url == url assert etag is None
def test_url_to_filename_with_etags_eliminates_quotes(self): for url in [ 'http://allenai.org', 'http://cool.org', 'https://www.google.com', 'http://pytorch.org' ]: filename = url_to_filename(url, etag='"mytag"') assert "http" not in filename pathlib.Path(os.path.join(self.TEST_DIR, filename)).touch() json.dump({ 'url': url, 'etag': 'mytag' }, open(os.path.join(self.TEST_DIR, filename + '.json'), 'w')) back_to_url, etag = filename_to_url(filename, cache_dir=self.TEST_DIR) assert back_to_url == url assert etag == "mytag"