예제 #1
0
    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']
예제 #2
0
    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
예제 #3
0
    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()
예제 #4
0
파일: base.py 프로젝트: kpx13/billbuilder
# -*- 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
예제 #5
0
 def setUp(self):
     self.connection = Connection()
     self.col = self.connection['test']['mongolite']