def test_FilterMongoCollection_base(self):
        """ Just tests that we can build a filter collection object w/o err """
        config = md.MongoConfig(user=None,
                                password=None,
                                database='local',
                                host='localhost',
                                port=27017)
        coll = config.db()['stamp_collection']
        filter_coll = fm.FilterMongoCollection(coll, _filter={'foo': 'bar'})

        self.assertEqual(filter_coll.name, coll.name)
        self.assertEqual(filter_coll.codec_options, coll.codec_options)
Beispiel #2
0
    def test_MongoConfig_args(self):
        config = md.MongoConfig(user=None,
                                password=None,
                                database='local',
                                host='localhost',
                                port=27017)

        mongo_db = config.db()
        foobar_collection = mongo_db['foobar']
        foobar_collection.remove()
        foobar_collection.insert({'test': 'object'})
        self.assertEqual(foobar_collection.find_one({}, {'_id': 0}),
                         {'test': 'object'})
        foobar_collection.remove()
Beispiel #3
0
    def test_MongoConfig_env(self):
        original_val = os.environ.get('foobar')
        os.environ['foobar'] = json.dumps({
            'database': 'local',
            'host': 'localhost',
            'port': 27017
        })

        config = md.MongoConfig(environ_var='foobar')

        mongo_db = config.db()
        foobar_collection = mongo_db['foobar']
        foobar_collection.remove()
        foobar_collection.insert({'test': 'object'})
        self.assertEqual(foobar_collection.find_one({}, {'_id': 0}),
                         {'test': 'object'})
        foobar_collection.remove()
        if original_val is None:
            del os.environ['foobar']
        else:
            os.environ['foobar'] = original_val
    def test_FilterMongoDB(self):
        config = md.MongoConfig(user=None,
                                password=None,
                                database='local',
                                host='localhost',
                                port=27017)
        mongo_db = config.db()
        filt = {'id': {'$gt': 420}}
        filter_mongo = fm.FilterMongoDB(mongo_db, _filter=filt)

        # Check this works like a regular database
        self.assertEqual(filter_mongo.base_object, mongo_db)
        self.assertEqual(filter_mongo.name, 'local')

        # Check we can access each collection 4 ways
        coll1 = filter_mongo.collection_1
        coll2 = filter_mongo['collection_2']
        coll3 = filter_mongo.create_collection('collection_3')
        coll4 = filter_mongo.get_collection('collection_4')

        for i, coll in enumerate([coll1, coll2, coll3, coll4], start=1):
            self.assertTrue(isinstance(coll, fm.FilterMongoCollection))
            self.assertEqual(coll.name, 'collection_%s' % i)
            self.assertEqual(coll._filter, filt)
Beispiel #5
0
def get_local_mongo():
    return md.MongoConfig(user=None,
                          password=None,
                          database='local',
                          host='localhost',
                          port=27017).db()