def test_connection(self): class DocA(Document): skeleton = { "doc_a": { 'foo': int }, } self.connection.register([DocA]) assertion = True try: DocA.connection except AttributeError: assertion = True assert assertion try: DocA.db except AttributeError: assertion = True assert assertion try: DocA.collection except AttributeError: assertion = True assert assertion assert self.col.DocA.connection == Connection("localhost", 27017) assert self.col.DocA.collection == Connection( "localhost", 27017)['test']['mongolite'] assert self.col.DocA.db == Connection("localhost", 27017)['test']
def test_get_collection_with_connection(self): class Section(Document): skeleton = {"section": int} connection = Connection('127.0.0.3') connection.register([Section]) col = connection.test.mongolite assert col.database.connection == col.Section.connection assert col.database.name == 'test' == col.Section.db.name assert col.name == 'mongolite' == col.Section.collection.name
def test_pass_connection_arguments_to_cursor(self): class MyDoc(Document): structure = { "foo": int, "bar": { "bla": int }, } con = Connection(read_preference=ReadPreference.SECONDARY_PREFERRED, secondary_acceptable_latency_ms=16) con.register([MyDoc]) col = con['test']['mongokit'] assert col.MyDoc.find( )._Cursor__read_preference == ReadPreference.SECONDARY_PREFERRED assert col.MyDoc.find()._Cursor__secondary_acceptable_latency_ms == 16 con.close()
# -*- coding: utf-8 -*- from mongolite import Connection, Document from bson.objectid import ObjectId from tornado.options import options as tornado_options_dict import settings import logging connection = Connection() logging.info(u'Работаем с базой данных %s.' % settings.get('db_name')) class BaseDocument(Document): __database__ = settings.get('db_name') __title__ = u'Тайтл не установлен!' __short_fields__ = [] @property def name(self): """ Имя сущности, по умолчанию выводится айдишник""" return str(self['_id']) @property def for_select(self): return (str(self['_id']), self.name) @classmethod def get_for_select(cls): return [u.for_select for u in connection[cls.__name__].find()] @classmethod
def setUp(self): self.connection = Connection() self.col = self.connection['test']['mongolite']