From 5a22215d62d05f55a9b2c463ec0b226e1a325d6a Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Wed, 8 Jun 2016 12:11:47 +0530 Subject: [PATCH] [fix] test_switch_to_branch - bring frappe back to develop --- bench/app.py | 17 +++++++---------- bench/tests/test_init.py | 15 +++++++++------ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/bench/app.py b/bench/app.py index cdf1e1d8..3da84341 100755 --- a/bench/app.py +++ b/bench/app.py @@ -13,18 +13,15 @@ import subprocess logging.basicConfig(level="DEBUG") logger = logging.getLogger(__name__) +class InvalidBranchException(Exception): pass +class InvalidRemoteException(Exception): pass + class MajorVersionUpgradeException(Exception): def __init__(self, message, upstream_version, local_version): super(MajorVersionUpgradeException, self).__init__(message) self.upstream_version = upstream_version self.local_version = local_version -class InvalidBranchException(Exception): - pass - -class InvalidRemoteException(Exception): - pass - def get_apps(bench='.'): try: with open(os.path.join(bench, 'sites', 'apps.txt')) as f: @@ -67,7 +64,7 @@ def get_app(git_url, branch=None, bench='.', build_asset_files=True, verbose=Fal app_name = re.search(r'name\s*=\s*[\'"](.*)[\'"]', f.read().decode('utf-8')).group(1) if repo_name != app_name: apps_path = os.path.join(os.path.abspath(bench), 'apps') - os.rename(os.path.join(apps_path, repo_name), os.path.join(apps_path, app_name)) + os.rename(os.path.join(apps_path, repo_name), os.path.join(apps_path, app_name)) print 'installing', app_name install_app(app=app_name, bench=bench, verbose=verbose) @@ -115,12 +112,12 @@ def is_version_upgrade(app='frappe', bench='.', branch=None): try: fetch_upstream(app, bench=bench) except CommandFailedError, e: - raise InvalidRemoteException("No remote named Upstream for "+app) + raise InvalidRemoteException("No remote named upstream for {0}".format(app)) upstream_version = get_upstream_version(app=app, branch=branch, bench=bench) if not upstream_version: - raise InvalidBranchException("Specified branch of app {} is not in upstream".format(app)) + raise InvalidBranchException("Specified branch of app {0} is not in upstream".format(app)) local_version = get_major_version(get_current_version(app, bench=bench)) upstream_version = get_major_version(upstream_version) @@ -187,7 +184,7 @@ def switch_branch(branch, apps=None, bench='.', upgrade=False, check_upgrade=Tru if os.path.isdir(os.path.join(apps_dir, name))] if branch=="v4.x.x": apps.append('shopping_cart') - + for app in apps: app_dir = os.path.join(apps_dir, app) if os.path.exists(app_dir): diff --git a/bench/tests/test_init.py b/bench/tests/test_init.py index 953048c6..6800f3f8 100755 --- a/bench/tests/test_init.py +++ b/bench/tests/test_init.py @@ -20,8 +20,6 @@ class TestBenchInit(unittest.TestCase): if os.path.exists(bench_path): shutil.rmtree(bench_path, ignore_errors=True) - - def test_init(self, bench_name="test-bench", **kwargs): self.init_bench(bench_name, **kwargs) @@ -90,17 +88,17 @@ class TestBenchInit(unittest.TestCase): def test_get_app(self): site_name = "test-site-2.dev" self.init_bench('test-bench') - + self.new_site(site_name) bench_path = os.path.join(self.benches_path, "test-bench") - + bench.app.get_app("https://github.com/frappe/frappe-client", bench=bench_path) self.assertTrue(os.path.exists(os.path.join(bench_path, "apps", "frappeclient"))) def test_install_app(self): site_name = "test-site-3.dev" self.init_bench('test-bench') - + self.new_site(site_name) bench_path = os.path.join(self.benches_path, "test-bench") @@ -120,7 +118,7 @@ class TestBenchInit(unittest.TestCase): def test_switch_to_branch(self): self.init_bench('test-bench') - + bench_path = os.path.join(self.benches_path, "test-bench") app_path = os.path.join(bench_path, "apps", "frappe") @@ -128,6 +126,11 @@ class TestBenchInit(unittest.TestCase): out = subprocess.check_output(['git', 'status'], cwd=app_path) self.assertTrue("master" in out) + # bring it back to develop! + bench.app.switch_branch(branch="develop", apps=["frappe"], bench=bench_path, check_upgrade=False) + out = subprocess.check_output(['git', 'status'], cwd=app_path) + self.assertTrue("develop" in out) + def init_bench(self, bench_name, **kwargs): self.benches.append(bench_name) bench.utils.init(bench_name, **kwargs)