예제 #1
0
def test_delete(request, populate):
    conf = request.config
    conn = TessMongoConnection(conf.getoption('db_host'),
                               conf.getoption('db_port'),
                               conf.getoption('db_user'),
                               password=conf.getoption('db_passwd',
                                                       default=None),
                               db=conf.getoption('db_name', default=None))
    print(conn.connection.name)

    for key, val in populate.items():
        entity = entity_map[key]
        ents = [entity(**entry) for entry in val]

        # Test deleting one entry
        result = conn.delete([ents[0]])
        assert result.deleted_count == 1

        assert conn.connection[key].count_documents({'_id': ents[0].id}) == 0
        found = conn.connection[key].find()
        print(list(found))
        assert conn.connection[key].count_documents({}) == len(val) - 1

        # Test deleting the collection's entries
        result = conn.delete(ents)
        assert result.deleted_count == len(val) - 1

        # Ensure that the collection is empty
        found = conn.connection[key].find()
        assert conn.connection[key].count_documents({}) == 0
예제 #2
0
 def test_insert(self, request, populate, entity_map):
     conf = request.config
     conn = TessMongoConnection(conf.getoption('db_host'),
                                conf.getoption('db_port'),
                                conf.getoption('db_user'),
                                password=conf.getoption('db_passwd',
                                                        default=None),
                                db=conf.getoption('db_name', default=None))
     for entity_type in populate:
         if len(populate[entity_type]) == 0:
             continue
         end = \
             len(populate[entity_type]) if len(populate[entity_type]) < 100 \
             else 100
         entities = [
             entity_map[entity_type].json_decode(e)
             for e in populate[entity_type][:end]
         ]
         conn.delete(entities)
         for entity in entities:
             res = conn.insert(entity)
             assert len(res.inserted_ids) == 1
예제 #3
0
    def test_delete(self, request, populate, entity_map):
        conf = request.config
        conn = TessMongoConnection(conf.getoption('db_host'),
                                   conf.getoption('db_port'),
                                   conf.getoption('db_user'),
                                   password=conf.getoption('db_passwd',
                                                           default=None),
                                   db=conf.getoption('db_name', default=None))

        for entity_type in populate:
            if len(populate[entity_type]) == 0:
                continue
            end = \
                len(populate[entity_type]) if len(populate[entity_type]) < 100 \
                else 100
            for query_ent in populate[entity_type][:end]:
                entity = entity_map[entity_type].json_decode(query_ent)
                res = conn.delete(entity)
                found = conn.find(entity_type,
                                  **entity.json_encode(exclude=['_id']))
                assert res.deleted_count == 1
                assert len(found) == 0
                conn.insert(entity)