def test_get_log_defaults(self): client = BzrClient(self.local_path) client.checkout(self.remote_path) log = client.get_log(limit=1)[0] affected = client.get_affected_files(log['id']) self.assertEqual(sorted(['deleted-fs.txt', 'deleted.txt']), sorted(affected))
def setUpClass(self): # setup a local repo once for all diff and status test BzrClientTestSetups.setUpClass() url = self.remote_path client = BzrClient(self.local_path) client.checkout(url) self.basepath_export = os.path.join(self.root_directory, 'export')
def test_get_log_defaults(self): client = BzrClient(self.local_path) client.checkout(self.remote_path) log = client.get_log() self.assertEquals(3, len(log)) self.assertEquals('modified', log[0]['message']) for key in ['id', 'author', 'email', 'date', 'message']: self.assertTrue(log[0][key] is not None, key)
def test_checkout_dir_exists(self): url = self.remote_path client = BzrClient(self.local_path) self.assertFalse(client.path_exists()) os.makedirs(self.local_path) self.assertTrue(client.checkout(url)) # non-empty self.assertFalse(client.checkout(url))
def test_checkout_invalid_update(self): "makes sure no exception happens on invalid update" url = self.remote_path client = BzrClient(self.local_path) self.assertTrue(client.checkout(url)) new_version = 'foobar' self.assertFalse(client.update(new_version))
def test_checkout_invalid(self): "makes sure failed checkout results in False, not Exception" url = self.remote_path + "foobar" client = BzrClient(self.local_path) self.assertFalse(client.path_exists()) self.assertFalse(client.detect_presence()) self.assertFalse(client.checkout(url))
def test_checkout_specific_version_and_update(self): from vcstools.bzr import BzrClient directory = tempfile.mkdtemp() subdir = "checkout_specific_version_test" self.directories[subdir] = directory local_path = os.path.join(directory, "ros") url = self.readonly_url version = "1" client = BzrClient(local_path) self.assertFalse(client.path_exists()) self.assertFalse(client.detect_presence()) self.assertFalse(client.detect_presence()) self.assertTrue(client.checkout(url, version)) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) self.assertEqual(client.get_path(), local_path) self.assertEqual(client.get_url(), url) self.assertEqual(client.get_version(), version) new_version = '2' self.assertTrue(client.update(new_version)) self.assertEqual(client.get_version(), new_version) shutil.rmtree(directory) self.directories.pop(subdir)
def test_checkout(self): url = self.remote_path client = BzrClient(self.local_path) self.assertFalse(client.path_exists()) self.assertFalse(client.detect_presence()) self.assertTrue(client.checkout(url)) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) self.assertEqual(client.get_path(), self.local_path) self.assertEqual(client.get_url(), url)
def test_get_url_by_reading(self): client = BzrClient(self.local_path) url = self.remote_path self.assertFalse(client.path_exists()) self.assertFalse(client.detect_presence()) self.assertTrue(client.checkout(url)) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) self.assertEqual(client.get_url(), self.remote_path) self.assertEqual(client.get_version(), self.local_version) self.assertEqual(client.get_version(self.local_version_init[0:6]), self.local_version_init) self.assertEqual(client.get_version("test_tag"), self.local_version_init)
def setUpClass(self): # setup a local repo once for all diff and status test BzrClientTestSetups.setUpClass() url = self.remote_path client = BzrClient(self.local_path) client.checkout(url) # after setting up "local" repo, change files and make some changes subprocess.check_call(["rm", "deleted-fs.txt"], cwd=self.local_path) subprocess.check_call(["bzr", "rm", "deleted.txt"], cwd=self.local_path) f = io.open(os.path.join(self.local_path, "modified.txt"), 'a') f.write('0123456789abcdef') f.close() f = io.open(os.path.join(self.local_path, "modified-fs.txt"), 'a') f.write('0123456789abcdef') f.close() f = io.open(os.path.join(self.local_path, "added-fs.txt"), 'w') f.write('0123456789abcdef') f.close() f = io.open(os.path.join(self.local_path, "added.txt"), 'w') f.write('0123456789abcdef') f.close() subprocess.check_call(["bzr", "add", "added.txt"], cwd=self.local_path)
def test_checkout_specific_version_and_update(self): url = self.remote_path version = "1" client = BzrClient(self.local_path) self.assertFalse(client.path_exists()) self.assertFalse(client.detect_presence()) self.assertTrue(client.checkout(url, version)) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) self.assertEqual(client.get_path(), self.local_path) self.assertEqual(client.get_url(), url) self.assertEqual(client.get_version(), version) new_version = '2' self.assertTrue(client.update(new_version)) self.assertEqual(client.get_version(), new_version)
def setUp(self): from vcstools.bzr import BzrClient try: subprocess.check_call(["bzr", "whoami"]) except subprocess.CalledProcessError as e: subprocess.check_call(["bzr", "whoami", '"ros [email protected]"']) directory = tempfile.mkdtemp() self.directories = dict(setUp=directory) remote_path = os.path.join(directory, "remote") os.makedirs(remote_path) # create a "remote" repo subprocess.check_call(["bzr", "init"], cwd=remote_path) subprocess.check_call(["touch", "fixed.txt"], cwd=remote_path) subprocess.check_call(["bzr", "add", "fixed.txt"], cwd=remote_path) subprocess.check_call(["bzr", "commit", "-m", "initial"], cwd=remote_path) subprocess.check_call(["bzr", "tag", "test_tag"], cwd=remote_path) self.readonly_version_init = "1" # files to be modified in "local" repo subprocess.check_call(["touch", "modified.txt"], cwd=remote_path) subprocess.check_call(["touch", "modified-fs.txt"], cwd=remote_path) subprocess.check_call( ["bzr", "add", "modified.txt", "modified-fs.txt"], cwd=remote_path) subprocess.check_call(["bzr", "commit", "-m", "initial"], cwd=remote_path) self.readonly_version_second = "2" subprocess.check_call(["touch", "deleted.txt"], cwd=remote_path) subprocess.check_call(["touch", "deleted-fs.txt"], cwd=remote_path) subprocess.check_call(["bzr", "add", "deleted.txt", "deleted-fs.txt"], cwd=remote_path) subprocess.check_call(["bzr", "commit", "-m", "modified"], cwd=remote_path) self.readonly_version = "3" self.readonly_path = os.path.join(directory, "readonly") self.readonly_url = remote_path client = BzrClient(self.readonly_path) self.assertTrue( client.checkout(self.readonly_url, self.readonly_version))
def test_checkout(self): from vcstools.bzr import BzrClient directory = tempfile.mkdtemp() self.directories["checkout_test"] = directory local_path = os.path.join(directory, "ros") url = self.readonly_url client = BzrClient(local_path) self.assertFalse(client.path_exists()) self.assertFalse(client.detect_presence()) self.assertFalse(client.detect_presence()) self.assertTrue(client.checkout(url)) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) self.assertEqual(client.get_path(), local_path) self.assertEqual(client.get_url(), url) #self.assertEqual(client.get_version(), '-r*') shutil.rmtree(directory) self.directories.pop("checkout_test")
def setUp(self): from vcstools.bzr import BzrClient try: subprocess.check_call(["bzr", "whoami"]) except subprocess.CalledProcessError as e: subprocess.check_call(["bzr", "whoami", '"ros [email protected]"']) directory = tempfile.mkdtemp() self.directories = dict(setUp=directory) remote_path = os.path.join(directory, "remote") os.makedirs(remote_path) # create a "remote" repo subprocess.check_call(["bzr", "init"], cwd=remote_path) subprocess.check_call(["touch", "fixed.txt"], cwd=remote_path) subprocess.check_call(["bzr", "add", "fixed.txt"], cwd=remote_path) subprocess.check_call(["bzr", "commit", "-m", "initial"], cwd=remote_path) subprocess.check_call(["bzr", "tag", "test_tag"], cwd=remote_path) self.readonly_version_init = "1" # files to be modified in "local" repo subprocess.check_call(["touch", "modified.txt"], cwd=remote_path) subprocess.check_call(["touch", "modified-fs.txt"], cwd=remote_path) subprocess.check_call(["bzr", "add", "modified.txt", "modified-fs.txt"], cwd=remote_path) subprocess.check_call(["bzr", "commit", "-m", "initial"], cwd=remote_path) self.readonly_version_second = "2" subprocess.check_call(["touch", "deleted.txt"], cwd=remote_path) subprocess.check_call(["touch", "deleted-fs.txt"], cwd=remote_path) subprocess.check_call(["bzr", "add", "deleted.txt", "deleted-fs.txt"], cwd=remote_path) subprocess.check_call(["bzr", "commit", "-m", "modified"], cwd=remote_path) self.readonly_version = "3" self.readonly_path = os.path.join(directory, "readonly") self.readonly_url = remote_path client = BzrClient(self.readonly_path) self.assertTrue(client.checkout(self.readonly_url, self.readonly_version))
def test_get_log_path(self): client = BzrClient(self.local_path) client.checkout(self.remote_path) log = client.get_log(relpath='fixed.txt') self.assertEquals('initial', log[0]['message'])
def test_get_log_limit(self): client = BzrClient(self.local_path) client.checkout(self.remote_path) log = client.get_log(limit=1) self.assertEquals(1, len(log)) self.assertEquals('modified', log[0]['message'])
def setUpClass(self): BzrClientTestSetups.setUpClass() client = BzrClient(self.local_path) client.checkout(self.remote_path)