Prep for django and py3 support

This commit is contained in:
Ross Lawley 2013-07-10 08:38:13 +00:00
parent 8d21e5f3c1
commit a1d142d3a4
3 changed files with 27 additions and 37 deletions

View File

@ -11,6 +11,8 @@ env:
- PYMONGO=dev DJANGO=1.4.2 - PYMONGO=dev DJANGO=1.4.2
- PYMONGO=2.5 DJANGO=1.5.1 - PYMONGO=2.5 DJANGO=1.5.1
- PYMONGO=2.5 DJANGO=1.4.2 - PYMONGO=2.5 DJANGO=1.4.2
- PYMONGO=3.2 DJANGO=1.5.1
- PYMONGO=3.3 DJANGO=1.5.1
install: install:
- if [[ $TRAVIS_PYTHON_VERSION == '2.'* ]]; then cp /usr/lib/*/libz.so $VIRTUAL_ENV/lib/; fi - if [[ $TRAVIS_PYTHON_VERSION == '2.'* ]]; then cp /usr/lib/*/libz.so $VIRTUAL_ENV/lib/; fi
- if [[ $TRAVIS_PYTHON_VERSION == '2.'* ]]; then pip install pil --use-mirrors ; true; fi - if [[ $TRAVIS_PYTHON_VERSION == '2.'* ]]; then pip install pil --use-mirrors ; true; fi

View File

@ -51,7 +51,7 @@ CLASSIFIERS = [
extra_opts = {} extra_opts = {}
if sys.version_info[0] == 3: if sys.version_info[0] == 3:
extra_opts['use_2to3'] = True extra_opts['use_2to3'] = True
extra_opts['tests_require'] = ['nose', 'coverage', 'blinker', 'jinja2==2.6'] extra_opts['tests_require'] = ['nose', 'coverage', 'blinker', 'jinja2==2.6', 'django>=1.5.1']
extra_opts['packages'] = find_packages(exclude=('tests',)) extra_opts['packages'] = find_packages(exclude=('tests',))
if "test" in sys.argv or "nosetests" in sys.argv: if "test" in sys.argv or "nosetests" in sys.argv:
extra_opts['packages'].append("tests") extra_opts['packages'].append("tests")

View File

@ -2,48 +2,42 @@ import sys
sys.path[0:0] = [""] sys.path[0:0] = [""]
import unittest import unittest
from nose.plugins.skip import SkipTest from nose.plugins.skip import SkipTest
from mongoengine.python_support import PY3
from mongoengine import * from mongoengine import *
try:
from mongoengine.django.shortcuts import get_document_or_404
from django.http import Http404 from mongoengine.django.shortcuts import get_document_or_404
from django.template import Context, Template
from django.conf import settings
from django.core.paginator import Paginator
settings.configure( from django.http import Http404
from django.template import Context, Template
from django.conf import settings
from django.core.paginator import Paginator
settings.configure(
USE_TZ=True, USE_TZ=True,
INSTALLED_APPS=('django.contrib.auth', 'mongoengine.django.mongo_auth'), INSTALLED_APPS=('django.contrib.auth', 'mongoengine.django.mongo_auth'),
AUTH_USER_MODEL=('mongo_auth.MongoUser'), AUTH_USER_MODEL=('mongo_auth.MongoUser'),
) )
try: try:
from django.contrib.auth import authenticate, get_user_model from django.contrib.auth import authenticate, get_user_model
from mongoengine.django.auth import User from mongoengine.django.auth import User
from mongoengine.django.mongo_auth.models import MongoUser, MongoUserManager from mongoengine.django.mongo_auth.models import MongoUser, MongoUserManager
DJ15 = True DJ15 = True
except Exception: except Exception:
DJ15 = False DJ15 = False
from django.contrib.sessions.tests import SessionTestsMixin from django.contrib.sessions.tests import SessionTestsMixin
from mongoengine.django.sessions import SessionStore, MongoSession from mongoengine.django.sessions import SessionStore, MongoSession
except Exception, err:
if PY3:
SessionTestsMixin = type # dummy value so no error
SessionStore = None # dummy value so no error
else:
raise err
from datetime import tzinfo, timedelta from datetime import tzinfo, timedelta
ZERO = timedelta(0) ZERO = timedelta(0)
class FixedOffset(tzinfo): class FixedOffset(tzinfo):
"""Fixed offset in minutes east from UTC.""" """Fixed offset in minutes east from UTC."""
def __init__(self, offset, name): def __init__(self, offset, name):
self.__offset = timedelta(minutes = offset) self.__offset = timedelta(minutes=offset)
self.__name = name self.__name = name
def utcoffset(self, dt): def utcoffset(self, dt):
@ -70,8 +64,6 @@ def activate_timezone(tz):
class QuerySetTest(unittest.TestCase): class QuerySetTest(unittest.TestCase):
def setUp(self): def setUp(self):
if PY3:
raise SkipTest('django does not have Python 3 support')
connect(db='mongoenginetest') connect(db='mongoenginetest')
class Person(Document): class Person(Document):
@ -223,8 +215,6 @@ class MongoDBSessionTest(SessionTestsMixin, unittest.TestCase):
backend = SessionStore backend = SessionStore
def setUp(self): def setUp(self):
if PY3:
raise SkipTest('django does not have Python 3 support')
connect(db='mongoenginetest') connect(db='mongoenginetest')
MongoSession.drop_collection() MongoSession.drop_collection()
super(MongoDBSessionTest, self).setUp() super(MongoDBSessionTest, self).setUp()
@ -262,8 +252,6 @@ class MongoAuthTest(unittest.TestCase):
} }
def setUp(self): def setUp(self):
if PY3:
raise SkipTest('django does not have Python 3 support')
if not DJ15: if not DJ15:
raise SkipTest('mongo_auth requires Django 1.5') raise SkipTest('mongo_auth requires Django 1.5')
connect(db='mongoenginetest') connect(db='mongoenginetest')