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 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 test_diff_relpath(self): from vcstools.bzr import BzrClient client = BzrClient(self.readonly_path) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) # using fnmatch because date and time change (remove when bzr introduces diff --format) self.assertTrue(fnmatch.fnmatch(client.get_diff(basepath=os.path.dirname(self.readonly_path)), "=== added file 'added.txt'\n--- readonly/added.txt\t????-??-?? ??:??:?? +0000\n+++ readonly/added.txt\t????-??-?? ??:??:?? +0000\n@@ -0,0 +1,1 @@\n+0123456789abcdef\n\\ No newline at end of file\n\n=== removed file 'deleted-fs.txt'\n=== removed file 'deleted.txt'\n=== modified file 'modified-fs.txt'\n--- readonly/modified-fs.txt\t????-??-?? ??:??:?? +0000\n+++ readonly/modified-fs.txt\t????-??-?? ??:??:?? +0000\n@@ -0,0 +1,1 @@\n+0123456789abcdef\n\\ No newline at end of file\n\n=== modified file 'modified.txt'\n--- readonly/modified.txt\t????-??-?? ??:??:?? +0000\n+++ readonly/modified.txt\t????-??-?? ??:??:?? +0000\n@@ -0,0 +1,1 @@\n+0123456789abcdef\n\\ No newline at end of file\n\n"))
def test_status_untracked(self): client = BzrClient(self.local_path) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) self.assertEquals( '? ./added-fs.txt\n+N ./added.txt\n D ./deleted-fs.txt\n-D ./deleted.txt\n M ./modified-fs.txt\n M ./modified.txt\n', client.get_status(untracked=True))
def test_status_relpath(self): client = BzrClient(self.local_path) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) self.assertEquals( '+N local/added.txt\n D local/deleted-fs.txt\n-D local/deleted.txt\n M local/modified-fs.txt\n M local/modified.txt\n', client.get_status(basepath=os.path.dirname(self.local_path)))
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_diff_relpath(self): client = BzrClient(self.local_path) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) # using fnmatch because date and time change (remove when bzr introduces diff --format) diff = client.get_diff(basepath=os.path.dirname(self.local_path)) self.assertTrue(diff is not None) self.assertTrue(fnmatch.fnmatch(diff, "=== added file 'added.txt'\n--- local/added.txt\t????-??-?? ??:??:?? +0000\n+++ local/added.txt\t????-??-?? ??:??:?? +0000\n@@ -0,0 +1,1 @@\n+0123456789abcdef\n\\ No newline at end of file\n\n=== removed file 'deleted-fs.txt'\n=== removed file 'deleted.txt'\n=== modified file 'modified-fs.txt'\n--- local/modified-fs.txt\t????-??-?? ??:??:?? +0000\n+++ local/modified-fs.txt\t????-??-?? ??:??:?? +0000\n@@ -0,0 +1,1 @@\n+0123456789abcdef\n\\ No newline at end of file\n\n=== modified file 'modified.txt'\n--- local/modified.txt\t????-??-?? ??:??:?? +0000\n+++ local/modified.txt\t????-??-?? ??:??:?? +0000\n@@ -0,0 +1,1 @@\n+0123456789abcdef\n\\ No newline at end of file"))
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_status_relpath(self): from vcstools.bzr import BzrClient client = BzrClient(self.readonly_path) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) self.assertEquals( '+N readonly/added.txt\n D readonly/deleted-fs.txt\n-D readonly/deleted.txt\n M readonly/modified-fs.txt\n M readonly/modified.txt\n', client.get_status(basepath=os.path.dirname(self.readonly_path)))
def test_status_untracked(self): from vcstools.bzr import BzrClient client = BzrClient(self.readonly_path) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) self.assertEquals( '? ./added-fs.txt\n+N ./added.txt\n D ./deleted-fs.txt\n-D ./deleted.txt\n M ./modified-fs.txt\n M ./modified.txt\n', client.get_status(untracked=True))
def test_get_url_by_reading(self): from vcstools.bzr import BzrClient client = BzrClient(self.readonly_path) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) self.assertEqual(client.get_url(), self.readonly_url) self.assertEqual(client.get_version(), self.readonly_version) self.assertEqual(client.get_version(self.readonly_version_init[0:6]), self.readonly_version_init) self.assertEqual(client.get_version("test_tag"), self.readonly_version_init)
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 test_diff_relpath(self): from vcstools.bzr import BzrClient client = BzrClient(self.readonly_path) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) # using fnmatch because date and time change (remove when bzr introduces diff --format) self.assertTrue( fnmatch.fnmatch( client.get_diff(basepath=os.path.dirname(self.readonly_path)), "=== added file 'added.txt'\n--- readonly/added.txt\t????-??-?? ??:??:?? +0000\n+++ readonly/added.txt\t????-??-?? ??:??:?? +0000\n@@ -0,0 +1,1 @@\n+0123456789abcdef\n\\ No newline at end of file\n\n=== removed file 'deleted-fs.txt'\n=== removed file 'deleted.txt'\n=== modified file 'modified-fs.txt'\n--- readonly/modified-fs.txt\t????-??-?? ??:??:?? +0000\n+++ readonly/modified-fs.txt\t????-??-?? ??:??:?? +0000\n@@ -0,0 +1,1 @@\n+0123456789abcdef\n\\ No newline at end of file\n\n=== modified file 'modified.txt'\n--- readonly/modified.txt\t????-??-?? ??:??:?? +0000\n+++ readonly/modified.txt\t????-??-?? ??:??:?? +0000\n@@ -0,0 +1,1 @@\n+0123456789abcdef\n\\ No newline at end of file\n\n" ))
def test_diff_relpath(self): client = BzrClient(self.local_path) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) # using fnmatch because date and time change (remove when bzr introduces diff --format) diff = client.get_diff(basepath=os.path.dirname(self.local_path)) self.assertTrue(diff is not None) self.assertTrue( fnmatch.fnmatch( diff, "=== added file 'added.txt'\n--- local/added.txt\t????-??-?? ??:??:?? +0000\n+++ local/added.txt\t????-??-?? ??:??:?? +0000\n@@ -0,0 +1,1 @@\n+0123456789abcdef\n\\ No newline at end of file\n\n=== removed file 'deleted-fs.txt'\n=== removed file 'deleted.txt'\n=== modified file 'modified-fs.txt'\n--- local/modified-fs.txt\t????-??-?? ??:??:?? +0000\n+++ local/modified-fs.txt\t????-??-?? ??:??:?? +0000\n@@ -0,0 +1,1 @@\n+0123456789abcdef\n\\ No newline at end of file\n\n=== modified file 'modified.txt'\n--- local/modified.txt\t????-??-?? ??:??:?? +0000\n+++ local/modified.txt\t????-??-?? ??:??:?? +0000\n@@ -0,0 +1,1 @@\n+0123456789abcdef\n\\ No newline at end of file" ))
def test_status_untracked(self): client = BzrClient(self.local_path) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) self.assertEquals('? ./added-fs.txt\n+N ./added.txt\n D ./deleted-fs.txt\n-D ./deleted.txt\n M ./modified-fs.txt\n M ./modified.txt\n', client.get_status(untracked=True))
def test_status_relpath(self): client = BzrClient(self.local_path) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) self.assertEquals('+N local/added.txt\n D local/deleted-fs.txt\n-D local/deleted.txt\n M local/modified-fs.txt\n M local/modified.txt\n', client.get_status(basepath=os.path.dirname(self.local_path)))
def test_status_relpath(self): from vcstools.bzr import BzrClient client = BzrClient(self.readonly_path) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) self.assertEquals('+N readonly/added.txt\n D readonly/deleted-fs.txt\n-D readonly/deleted.txt\n M readonly/modified-fs.txt\n M readonly/modified.txt\n', client.get_status(basepath=os.path.dirname(self.readonly_path)))
def test_status_untracked(self): from vcstools.bzr import BzrClient client = BzrClient(self.readonly_path) self.assertTrue(client.path_exists()) self.assertTrue(client.detect_presence()) self.assertEquals('? ./added-fs.txt\n+N ./added.txt\n D ./deleted-fs.txt\n-D ./deleted.txt\n M ./modified-fs.txt\n M ./modified.txt\n', client.get_status(untracked=True))