def test_cant_switch_urls(self): # create an empty directory- and set that as the workspace repo_resolver.resolve(test_dir, branch_dependency) folder_path = os.path.join(test_dir, branch_dependency["Path"]) details = repo_resolver.get_details(folder_path) self.assertEqual(details['Url'], branch_dependency['Url']) # first we checkout with self.assertRaises(Exception): repo_resolver.resolve(test_dir, microsoft_branch_dependency) details = repo_resolver.get_details(folder_path) self.assertEqual(details['Url'], branch_dependency['Url'])
def test_ignore(self): # create an empty directory- and set that as the workspace repo_resolver.resolve(test_dir, branch_dependency) folder_path = os.path.join(test_dir, branch_dependency["Path"]) details = repo_resolver.get_details(folder_path) self.assertEqual(details['Url'], branch_dependency['Url']) # first we checkout repo_resolver.resolve( test_dir, microsoft_branch_dependency, ignore=True) details = repo_resolver.get_details(folder_path) self.assertEqual(details['Url'], branch_dependency['Url'])
def test_fail_update(self): # create an empty directory- and set that as the workspace repo_resolver.resolve(test_dir, commit_dependency) folder_path = os.path.join(test_dir, commit_dependency["Path"]) details = repo_resolver.get_details(folder_path) self.assertEqual(details['Url'], commit_dependency['Url']) self.assertEqual(details['Commit'], commit_dependency['Commit']) # first we checkout with self.assertRaises(Exception): repo_resolver.resolve(test_dir, commit_later_dependency) details = repo_resolver.get_details(folder_path) self.assertEqual(details['Url'], commit_dependency['Url']) self.assertEqual(details['Commit'], commit_dependency['Commit'])
def test_clone_branch_repo(self): # create an empty directory- and set that as the workspace repo_resolver.resolve(test_dir, branch_dependency) folder_path = os.path.join(test_dir, branch_dependency["Path"]) details = repo_resolver.get_details(folder_path) self.assertEqual(details['Url'], branch_dependency['Url']) self.assertEqual(details['Branch'], branch_dependency['Branch'])
def test_will_switch_branches(self): repo_resolver.resolve(test_dir, branch_dependency) folder_path = os.path.join(test_dir, branch_dependency["Path"]) repo_resolver.resolve(test_dir, sub_branch_dependency, force=True) details = repo_resolver.get_details(folder_path) self.assertEqual(details['Url'], branch_dependency['Url']) self.assertEqual(details['Branch'], sub_branch_dependency['Branch'])
def test_will_switch_urls(self): # create an empty directory- and set that as the workspace repo_resolver.resolve(test_dir, branch_dependency) folder_path = os.path.join(test_dir, branch_dependency["Path"]) details = repo_resolver.get_details(folder_path) self.assertEqual(details['Url'], branch_dependency['Url']) # first we checkout try: repo_resolver.resolve( test_dir, microsoft_branch_dependency, force=True) except: self.fail("We shouldn't fail when we are forcing") details = repo_resolver.get_details(folder_path) self.assertEqual(details['Url'], microsoft_branch_dependency['Url'])
def test_does_update(self): # create an empty directory- and set that as the workspace repo_resolver.resolve(test_dir, commit_dependency) folder_path = os.path.join(test_dir, commit_dependency["Path"]) details = repo_resolver.get_details(folder_path) self.assertEqual(details['Url'], commit_dependency['Url']) self.assertEqual(details['Commit'], commit_dependency['Commit']) # first we checkout try: repo_resolver.resolve( test_dir, commit_later_dependency, update_ok=True) except: self.fail("We are not supposed to throw an exception") details = repo_resolver.get_details(folder_path) self.assertEqual(details['Url'], commit_later_dependency['Url']) self.assertEqual(details['Commit'], commit_later_dependency['Commit'])
def test_does_update(self): # create an empty directory- and set that as the workspace logging.info(f"Resolving at {test_dir}") repo_resolver.resolve(test_dir, commit_dependency) folder_path = os.path.join(test_dir, commit_dependency["Path"]) logging.info(f"Getting details at {folder_path}") details = repo_resolver.get_details(folder_path) self.assertEqual(details['Url'], commit_dependency['Url']) self.assertEqual(details['Commit'], commit_dependency['Commit']) # next we checkout and go to the later commit try: repo_resolver.resolve(test_dir, commit_later_dependency, update_ok=True) except: self.fail("We are not supposed to throw an exception") details = repo_resolver.get_details(folder_path) logging.info(f"Checking {folder_path} for current git commit") self.assertEqual(details['Url'], commit_later_dependency['Url']) self.assertEqual(details['Commit'], commit_later_dependency['Commit'])
def test_will_delete_files(self): folder_path = os.path.join(test_dir, commit_dependency["Path"]) os.makedirs(folder_path) file_path = os.path.join(folder_path, "test.txt") out_file = open(file_path, "w+") out_file.write("Make sure we don't delete this") out_file.close() self.assertTrue(os.path.exists(file_path)) try: repo_resolver.resolve(test_dir, commit_dependency, force=True) except: self.fail("We shouldn't fail when we are forcing") details = repo_resolver.get_details(folder_path) self.assertEqual(details['Url'], commit_dependency['Url'])