Advertisement
Guest User

Untitled

a guest
Jan 12th, 2016
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. MONGODB_HOST = '127.0.0.1'
  2. MONGODB_PORT = 27017
  3. MONGODB_USER = 'aaa'
  4. MONGODB_PASSWD = 'bbb'
  5. MONGODB_NAME = 'proj'
  6.  
  7. TEST_RUNNER = 'utils.mongotest.MongoTestSuiteRunner'
  8.  
  9. mongoengine.connect(MONGODB_NAME, host=MONGODB_HOST,
  10. port=MONGODB_PORT, username=MONGODB_USER, password=MONGODB_PASSWD)
  11.  
  12. from django.test.runner import DiscoverRunner
  13. from mongoengine.connection import connect, disconnect, get_connection
  14.  
  15. from daodao import settings
  16.  
  17.  
  18. class MongoTestSuiteRunner(DiscoverRunner):
  19. def setup_databases(self, **kwargs):
  20. self._test_dbname = settings.MONGODB_TEST_NAME
  21. disconnect()
  22.  
  23. connect(
  24. self._test_dbname, host=settings.MONGODB_HOST,
  25. port=settings.MONGODB_PORT,
  26. username=settings.MONGODB_TEST_USER,
  27. password=settings.MONGODB_TEST_PASSWD
  28. )
  29.  
  30. return super(MongoTestSuiteRunner, self).setup_databases(**kwargs)
  31.  
  32. def teardown_databases(self, old_config, **kwargs):
  33. conn = get_connection()
  34. print 'drop mongo database %s...' % self._test_dbname
  35. conn.drop_database(self._test_dbname)
  36.  
  37. super(MongoTestSuiteRunner, self).teardown_databases(old_config, **kwargs)
  38.  
  39. from __future__ import absolute_import
  40.  
  41. from .celery import app as celery_app
  42.  
  43. __all__ = ['celery_app']
  44.  
  45. # proj/celery.py
  46. from __future__ import absolute_import
  47.  
  48. import os
  49.  
  50. from celery import Celery
  51. from django.conf import settings
  52.  
  53. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'daodao.settings')
  54.  
  55. app = Celery('daodao')
  56.  
  57. app.config_from_object('django.conf:settings')
  58. app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
  59.  
  60. from mongoengine import Document, StringField
  61.  
  62.  
  63. class User(Document):
  64. nickname = StringField(max_length=30)
  65.  
  66. from __future__ import absolute_import
  67. from celery import shared_task
  68. from app.models import User
  69.  
  70. @shared_task
  71. def debug_shared_task():
  72. # this will print the count of users in database xxx, not test_xxx
  73. print User.objects.all().count()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement