def test_id_operations(self):
        db = DBOp()
        table = db.unit_test
        table.remove()

        _id1 = db.new_id(table)
        self.assertTrue(_id1 is not None)
        self.assertTrue(isinstance(_id1, str))
        print 'new generated id: %s' % _id1

        _id2 = db.save(table, _id1, {'data': 'test data'})
        self.assertTrue(_id2 is not None)
        self.assertTrue(isinstance(_id2, str))
        print 'new updated id: %s' % _id2

        self.assertEqual(db.load(table, _id1)['data'], 'test data')

        _id3 = db.delete(table, _id1)
        self.assertTrue(_id3 is not None)
        print 'deleted id: %s' % _id3

        try:
            db.load(table, _id1)
            self.assertFalse('unreachable for exception')
        except Exception, e:
            self.assertIn('''Couldn't load''', e.message)
            self.assertIn('''it doesn't exist or deleted''', e.message)