def test_clean_dirty_git_repo(self): ext_dep_file_path = os.path.join(test_dir, "hw_ext_dep.json") with open(ext_dep_file_path, "w+") as ext_dep_file: ext_dep_file.write(hw_json_template % uptodate_version) ext_dep_descriptor = EDF.ExternDepDescriptor( ext_dep_file_path).descriptor_contents ext_dep = GitDependency(ext_dep_descriptor) ext_dep.fetch() self.assertTrue(ext_dep.verify(), "Confirm repo is valid") # now write a new file with open(os.path.join(ext_dep._local_repo_root_path, "testfile.txt"), 'a') as my_file: my_file.write("Test code to make repo dirty\n") self.assertFalse(ext_dep.verify(), "Confirm repo is dirty") ext_dep.clean() self.assertFalse(os.path.isdir(ext_dep.contents_dir))
def test_verify_no_directory(self): ext_dep_file_path = os.path.join(test_dir, "hw_ext_dep.json") with open(ext_dep_file_path, "w+") as ext_dep_file: ext_dep_file.write(hw_json_template % invalid_version) ext_dep_descriptor = EDF.ExternDepDescriptor( ext_dep_file_path).descriptor_contents ext_dep = GitDependency(ext_dep_descriptor) self.assertFalse(ext_dep.verify())
def test_verify_up_to_date(self): ext_dep_file_path = os.path.join(test_dir, "hw_ext_dep.json") with open(ext_dep_file_path, "w+") as ext_dep_file: ext_dep_file.write(hw_json_template % uptodate_version) ext_dep_descriptor = EDF.ExternDepDescriptor( ext_dep_file_path).descriptor_contents ext_dep = GitDependency(ext_dep_descriptor) ext_dep.fetch() self.assertTrue(ext_dep.verify())
def test_verify_empty_repo_dir(self): ext_dep_file_path = os.path.join(test_dir, "hw_ext_dep.json") with open(ext_dep_file_path, "w+") as ext_dep_file: ext_dep_file.write(hw_json_template % invalid_version) ext_dep_descriptor = EDF.ExternDepDescriptor( ext_dep_file_path).descriptor_contents ext_dep = GitDependency(ext_dep_descriptor) os.makedirs(ext_dep._local_repo_root_path, exist_ok=True) self.assertFalse(ext_dep.verify())
def test_fetch_verify_good_repo_at_not_top_of_tree(self): ext_dep_file_path = os.path.join(test_dir, "hw_ext_dep.json") with open(ext_dep_file_path, "w+") as ext_dep_file: ext_dep_file.write(hw_json_template % behind_one_version) ext_dep_descriptor = EDF.ExternDepDescriptor( ext_dep_file_path).descriptor_contents ext_dep = GitDependency(ext_dep_descriptor) ext_dep.fetch() self.assertTrue(ext_dep.verify()) self.assertEqual(ext_dep.version, behind_one_version)
def test_fetch_verify_non_existant_repo_commit_hash(self): ext_dep_file_path = os.path.join(test_dir, "hw_ext_dep.json") with open(ext_dep_file_path, "w+") as ext_dep_file: ext_dep_file.write(hw_json_template % invalid_version) ext_dep_descriptor = EDF.ExternDepDescriptor( ext_dep_file_path).descriptor_contents ext_dep = GitDependency(ext_dep_descriptor) ext_dep.fetch() self.assertEqual(ext_dep.version, invalid_version) self.assertFalse(ext_dep.verify(), "Should not verify")
def test_clean_clean_repo(self): ext_dep_file_path = os.path.join(test_dir, "hw_ext_dep.json") with open(ext_dep_file_path, "w+") as ext_dep_file: ext_dep_file.write(hw_json_template % uptodate_version) ext_dep_descriptor = EDF.ExternDepDescriptor( ext_dep_file_path).descriptor_contents ext_dep = GitDependency(ext_dep_descriptor) ext_dep.fetch() self.assertTrue(ext_dep.verify(), "Confirm repo is valid and clean") ext_dep.clean() self.assertFalse(os.path.isdir(ext_dep.contents_dir))
def test_verify_down_level_repo(self): ext_dep_file_path = os.path.join(test_dir, "hw_ext_dep.json") with open(ext_dep_file_path, "w+") as ext_dep_file: ext_dep_file.write(hw_json_template % behind_one_version) ext_dep_descriptor = EDF.ExternDepDescriptor( ext_dep_file_path).descriptor_contents ext_dep = GitDependency(ext_dep_descriptor) ext_dep.fetch() self.assertTrue(ext_dep.verify(), "Confirm valid ext_dep at one commit behind") with open(ext_dep_file_path, "w+") as ext_dep_file: ext_dep_file.write(hw_json_template % uptodate_version) ext_dep_descriptor = EDF.ExternDepDescriptor( ext_dep_file_path).descriptor_contents ext_dep = GitDependency(ext_dep_descriptor) self.assertFalse(ext_dep.verify(), "Confirm downlevel repo fails to verify") ext_dep.fetch() self.assertTrue(ext_dep.verify(), "Confirm repo can be updated")
def test_verify_invalid_git_repo(self): ext_dep_file_path = os.path.join(test_dir, "hw_ext_dep.json") with open(ext_dep_file_path, "w+") as ext_dep_file: ext_dep_file.write(hw_json_template % invalid_version) ext_dep_descriptor = EDF.ExternDepDescriptor( ext_dep_file_path).descriptor_contents ext_dep = GitDependency(ext_dep_descriptor) os.makedirs(ext_dep._local_repo_root_path, exist_ok=True) with open(os.path.join(ext_dep._local_repo_root_path, "testfile.txt"), 'a') as my_file: my_file.write("Test code\n") self.assertFalse(ext_dep.verify(logversion=False))