Skip to content

Commit

Permalink
test pass on django 1.3 yeeey
Browse files Browse the repository at this point in the history
  • Loading branch information
digi604 committed Sep 21, 2012
1 parent c4b11bf commit bb7c546
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 24 deletions.
4 changes: 3 additions & 1 deletion cms/test_utils/cli.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
from django.utils.translation import activate

import os

Expand Down Expand Up @@ -190,6 +191,7 @@ def configure(**extra):
version = django.get_version()
if version[:3] == "1.3":
defaults['INSTALLED_APPS'].append("i18nurls")
defaults['MIDDLEWARE_CLASSES'][4] = 'i18nurls.middleware.LocaleMiddleware'
else:
from django.utils.functional import empty
settings._wrapped = empty
Expand All @@ -203,4 +205,4 @@ def configure(**extra):
from django.contrib import admin


admin.autodiscover()
admin.autodiscover()
19 changes: 8 additions & 11 deletions cms/tests/apphooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,8 @@ def test_apphook_on_root(self):
create_title("de", "aphooked-page-de", page, apphook="SampleApp")
self.assertTrue(page.publish())
self.assertTrue(blank_page.publish())

response = self.client.get(self.get_pages_root())
with force_lang("en"):
response = self.client.get(self.get_pages_root())
self.assertTemplateUsed(response, 'sampleapp/home.html')

response = self.client.get('/en/blankapp/')
Expand Down Expand Up @@ -160,7 +160,6 @@ def test_get_page_for_apphook(self):
en_title, de_title = self.create_base_structure(APP_NAME, ['en', 'de'])
with force_lang("en"):
path = reverse('sample-settings')

request = self.get_request(path)
request.LANGUAGE_CODE = 'en'

Expand All @@ -177,7 +176,6 @@ def test_get_page_for_apphook(self):

request = self.get_request(path)
request.LANGUAGE_CODE = 'de'

attached_to_page = applications_page_check(request, path=path[1:]) # strip leading slash and language prefix
self.assertEquals(attached_to_page.pk, de_title.page.pk)

Expand Down Expand Up @@ -299,13 +297,12 @@ def test_apphook_breaking_under_home_with_new_path_caching(self):
# not-home is what breaks stuff, because it contains the slug of the home page
not_home = create_page("not-home", "nav_playground.html", "en", published=True, parent=child)
create_page("subchild", "nav_playground.html", "en", published=True, parent=not_home, apphook='SampleApp')

self.reload_urls()

urlpatterns = get_app_patterns()
resolver = urlpatterns[0]
url = resolver.reverse('sample-root')
self.assertEqual(url, 'child/not-home/subchild/')
with force_lang("en"):
self.reload_urls()
urlpatterns = get_app_patterns()
resolver = urlpatterns[0]
url = resolver.reverse('sample-root')
self.assertEqual(url, 'child/not-home/subchild/')


class ApphooksPageLanguageUrlTestCase(CMSTestCase):
Expand Down
6 changes: 5 additions & 1 deletion cms/tests/menu.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,12 @@
from cms.test_utils.util.context_managers import (SettingsOverride,
LanguageOverride)
from cms.test_utils.util.mock import AttributeObject
from cms.utils.i18n import force_lang
from django.conf import settings
from django.contrib.auth.models import AnonymousUser, User, Permission, Group
from django.contrib.sites.models import Site
from django.template import Template, TemplateSyntaxError
from django.utils.translation import activate
from menus.base import NavigationNode
from menus.menu_pool import menu_pool, _build_nodes_inner_for_one_menu
from menus.models import CacheKey
Expand Down Expand Up @@ -45,6 +47,7 @@ def setUp(self):
self.old_menu = menu_pool.menus
menu_pool.menus = {'CMSMenu': self.old_menu['CMSMenu']}
menu_pool.clear(settings.SITE_ID)
activate("en")

def tearDown(self):
menu_pool.menus = self.old_menu
Expand Down Expand Up @@ -83,7 +86,8 @@ def test_menu_failfast_on_invalid_usage(self):

def test_basic_cms_menu(self):
self.assertEqual(len(menu_pool.menus), 1)
response = self.client.get(self.get_pages_root()) # path = '/'
with force_lang("en"):
response = self.client.get(self.get_pages_root()) # path = '/'
self.assertEquals(response.status_code, 200)
request = self.get_request()

Expand Down
24 changes: 14 additions & 10 deletions cms/tests/permmod.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from cms.test_utils.testcases import (URL_CMS_PAGE_ADD, URL_CMS_PLUGIN_REMOVE,
SettingsOverrideTestCase, URL_CMS_PLUGIN_ADD, CMSTestCase)
from cms.test_utils.util.context_managers import SettingsOverride
from cms.utils.i18n import force_lang
from cms.utils.page_resolver import get_page_from_path
from cms.utils.permissions import has_generic_permission

Expand Down Expand Up @@ -850,23 +851,26 @@ def test_patricks_move(self):

class ModeratorSwitchCommandTest(CMSTestCase):
def test_switch_moderator_on(self):
pages_root = urllib.unquote(reverse("pages-root"))
with force_lang("en"):
pages_root = urllib.unquote(reverse("pages-root"))
with SettingsOverride(CMS_MODERATOR=False):
page1 = create_page('page', 'nav_playground.html', 'en', published=True)
with SettingsOverride(CMS_MODERATOR=True):
call_command('cms', 'moderator', 'on')
path = page1.get_absolute_url()[len(pages_root):].strip('/')
page2 = get_page_from_path(path)
with force_lang("en"):
path = page1.get_absolute_url()[len(pages_root):].strip('/')
page2 = get_page_from_path(path)
self.assertEqual(page1.get_absolute_url(), page2.get_absolute_url())

def test_switch_moderator_off(self):
pages_root = urllib.unquote(reverse("pages-root"))
with SettingsOverride(CMS_MODERATOR=True):
page1 = create_page('page', 'nav_playground.html', 'en', published=True)
with SettingsOverride(CMS_MODERATOR=False):
path = page1.get_absolute_url()[len(pages_root):].strip('/')
page2 = get_page_from_path(path)
self.assertEqual(page1.get_absolute_url(), page2.get_absolute_url())
with force_lang("en"):
pages_root = urllib.unquote(reverse("pages-root"))
with SettingsOverride(CMS_MODERATOR=True):
page1 = create_page('page', 'nav_playground.html', 'en', published=True)
with SettingsOverride(CMS_MODERATOR=False):
path = page1.get_absolute_url()[len(pages_root):].strip('/')
page2 = get_page_from_path(path)
self.assertEqual(page1.get_absolute_url(), page2.get_absolute_url())


class ViewPermissionTests(SettingsOverrideTestCase):
Expand Down
2 changes: 1 addition & 1 deletion cms/utils/page.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def is_valid_page_slug(page, parent, lang, slug, site, path=None):
if page.pk:
qs = qs.exclude(Q(language=lang)&Q(page=page))
if settings.CMS_MODERATOR:
qs = qs.exclude(page__publisher_public_id=page.id)
qs = qs.exclude(page__publisher_public=page)
## Check for slugs
if qs.filter(slug=slug).count():
return False
Expand Down

0 comments on commit bb7c546

Please sign in to comment.