diff --git a/apps/package/repos/__init__.py b/apps/package/repos/__init__.py index fb35682..3ce7c2c 100644 --- a/apps/package/repos/__init__.py +++ b/apps/package/repos/__init__.py @@ -1,5 +1,8 @@ +from django.conf import settings + import re + def get_all_repos(): return (get_repo(repo_id) for repo_id in supported_repos()) @@ -16,4 +19,7 @@ def get_repo_for_repo_url(repo_url): return unsupported_handler def supported_repos(): - return ["bitbucket", "github", "launchpad"] + supported = ["bitbucket", "github"] + if settings.LAUNCHPAD_ACTIVE: + supported += ["launchpad"] + return supported diff --git a/apps/package/tests/test_pulls.py b/apps/package/tests/test_pulls.py index 71095e4..da49ff9 100644 --- a/apps/package/tests/test_pulls.py +++ b/apps/package/tests/test_pulls.py @@ -1,3 +1,4 @@ +from django.conf import settings from django.contrib.auth.models import User from django.core.urlresolvers import reverse from django.test import TestCase @@ -26,13 +27,14 @@ def setUp(self): ) package.save() - package = Package.objects.create( - title="Django-PreFlight", - slug="django-preflight", - repo_url="https://code.launchpad.net/~canonical-isd-hackers/django-preflight/trunk", - pypi_url="django-preflight" - ) - package.save() + if settings.LAUNCHPAD_ACTIVE: + package = Package.objects.create( + title="Django-PreFlight", + slug="django-preflight", + repo_url="https://code.launchpad.net/~canonical-isd-hackers/django-preflight/trunk", + pypi_url="django-preflight" + ) + package.save() # package list is needed throughout the app self.packages = Package.objects.all() @@ -107,4 +109,4 @@ def test_package_model_fetch(self): self.assertTrue(package.repo_description) # TODO check if this is getting updated - #self.assertTrue(package.participants) \ No newline at end of file + #self.assertTrue(package.participants) diff --git a/apps/package/tests/test_repos.py b/apps/package/tests/test_repos.py index d32c389..08e83f3 100644 --- a/apps/package/tests/test_repos.py +++ b/apps/package/tests/test_repos.py @@ -1,5 +1,6 @@ # TODO: mock these tests so no network access is required +from django.conf import settings from django.test import TestCase from package.repos.bitbucket import repo_handler as bitbucket_handler @@ -58,23 +59,24 @@ def test_fetch_metadata(self): self.package.fetch_commits() -class TestLaunchpadRepo(TestCase): - def setUp(self): - self.package = Package.objects.create( - title="Django-PreFlight", - slug="django-preflight", - repo_url="https://code.launchpad.net/~canonical-isd-hackers/django-preflight/trunk") - - def test_fetch_commits(self): - self.assertEqual(Commit.objects.count(), 0) - launchpad_handler.fetch_commits(self.package) - self.assertNotEqual(Commit.objects.count(), 0) - - def test_fetch_metadata(self): - package = launchpad_handler.fetch_metadata(self.package) - self.assertTrue(package.repo_watchers > 0) - self.assertTrue(package.repo_forks > 0) - self.assertEqual(package.participants, 'canonical-isd-hackers') +if settings.LAUNCHPAD_ACTIVE: + class TestLaunchpadRepo(TestCase): + def setUp(self): + self.package = Package.objects.create( + title="Django-PreFlight", + slug="django-preflight", + repo_url="https://code.launchpad.net/~canonical-isd-hackers/django-preflight/trunk") + + def test_fetch_commits(self): + self.assertEqual(Commit.objects.count(), 0) + launchpad_handler.fetch_commits(self.package) + self.assertNotEqual(Commit.objects.count(), 0) + + def test_fetch_metadata(self): + package = launchpad_handler.fetch_metadata(self.package) + self.assertTrue(package.repo_watchers > 0) + self.assertTrue(package.repo_forks > 0) + self.assertEqual(package.participants, 'canonical-isd-hackers') ''' class TestSourceforgeRepo(TestCase): @@ -103,12 +105,12 @@ def test_repo_registry(self): g = get_repo("github") self.assertEqual(g.title, "Github") self.assertEqual(g.url, "https://github.com") - - l = get_repo("launchpad") - self.assertEqual(l.title, "Launchpad") - self.assertEqual(l.url, "https://code.launchpad.net") - self.assertTrue("github" in supported_repos()) - self.assertTrue("launchpad" in supported_repos()) + + if settings.LAUNCHPAD_ACTIVE: + l = get_repo("launchpad") + self.assertEqual(l.title, "Launchpad") + self.assertEqual(l.url, "https://code.launchpad.net") + self.assertTrue("launchpad" in supported_repos()) self.assertRaises(ImportError, lambda: get_repo("xyzzy")) diff --git a/docs/install.rst b/docs/install.rst index c170e15..a40cf89 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -69,6 +69,10 @@ Change the ``ROOT_URLS`` setting in ``local_settings.py`` from `