def test_prepare_filename(self): repo_urls = [ "https://whatever.cite.com/cool/you.git", "whatever.cite.com/cool/you.git", "whatever.cite.com/cool/you\\\n", "whatever.cite.com/cool/you\n", "whatever.cite.com/cool/you", "whatever.cite.com/cool/you.git\n", ] with tempfile.TemporaryDirectory() as tmpdir: for repo_url in repo_urls: self.assertEqual( os.path.join(tmpdir, "source_whatever.cite.com&cool&you.asdf"), Repo2SourceTransformer.prepare_filename( repo_url, tmpdir, 0)) for repo_url in repo_urls: self.assertEqual( os.path.join(tmpdir, "w/source_whatever.cite.com&cool&you.asdf"), Repo2SourceTransformer.prepare_filename( repo_url, tmpdir, 1)) for repo_url in repo_urls: self.assertEqual( os.path.join( tmpdir, "w/wh/wha/source_whatever.cite.com&cool&you.asdf"), Repo2SourceTransformer.prepare_filename( repo_url, tmpdir, 3)) self.assertEqual( os.path.join(tmpdir, "a/ab/abc/source_abc.asdf"), Repo2SourceTransformer.prepare_filename("abc", tmpdir, 10))
def test_overwrite_existing(self): with tempfile.TemporaryDirectory() as tmpdir: model_path = Repo2SourceTransformer.prepare_filename( DATA_DIR_SOURCE, tmpdir) r2cc = Repo2SourceTransformer(linguist=tests.ENRY, overwrite_existing=False) r2cc.transform(DATA_DIR_SOURCE, output=tmpdir, num_processes=1) data = asdf.open(model_path) r2cc2 = Repo2SourceTransformer(linguist=tests.ENRY, overwrite_existing=False) r2cc2.transform(DATA_DIR_SOURCE, output=tmpdir, num_processes=1) data2 = asdf.open(model_path) self.assertEqual(data.tree["meta"]["created_at"], data2.tree["meta"]["created_at"]) r2cc2 = Repo2SourceTransformer(linguist=tests.ENRY, overwrite_existing=True) r2cc2.transform(DATA_DIR_SOURCE, output=tmpdir, num_processes=1) data3 = asdf.open(model_path) self.assertNotEqual(data.tree["meta"]["created_at"], data3.tree["meta"]["created_at"])
def check_no_model(self, tmpdir): path = Repo2SourceTransformer.prepare_filename(DATA_DIR_SOURCE, tmpdir) self.assertFalse(os.path.exists(path))
def load_default_source_model(self, tmpdir): path = Repo2SourceTransformer.prepare_filename(DATA_DIR_SOURCE, tmpdir) validate_asdf_file(self, path) return Source().load(source=path)
def default_source_model_transformer(self, tmpdir): r2cc = Repo2SourceTransformer(timeout=50, linguist=tests.ENRY) r2cc.transform(DATA_DIR_SOURCE, output=tmpdir, num_processes=1) self.assertEqual(r2cc.dependencies(), [])