def insert(db, key, rev, value): info = DocumentInfo(key) info.revSequence = rev # cas, exp, flags info.revMeta = str(struct.pack(REV_META_PACK, 1, 2, 3)) info.deleted = False return db.save(info, value)
def insert_multi(db, keys, values): """Inserts multiple keys / values.""" ids = [] for k in keys: info = DocumentInfo(k) info.revSequence = 1 # cas, exp, flags info.revMeta = str(struct.pack(REV_META_PACK, 1, 2, 3)) info.deleted = False ids.append(info) return db.saveMultiple(ids, values)
def testMetadata(self): info = DocumentInfo("meta") info.revSequence = 23 info.revMeta = "fancy metadata here" info.contentType = DocumentInfo.INVALID_JSON self.store[info] = "the regular non-meta data" gotInfo = self.store.getInfo("meta") self.assertEquals(gotInfo.id, "meta") self.assertEquals(gotInfo.revSequence, info.revSequence) self.assertEquals(gotInfo.revMeta, info.revMeta) self.assertEquals(gotInfo.contentType, info.contentType) self.assertFalse(gotInfo.compressed)
def testMetadataSave(self): info = DocumentInfo("meta") info.revSequence = 23 info.revMeta = "fancy metadata here" info.contentType = DocumentInfo.INVALID_JSON self.store[info] = "the regular non-meta data" self.store.commit() self.store.close() self.store = CouchStore("/tmp/test.couch", 'r') gotInfo = self.store.getInfo("meta") self.assertEquals(gotInfo.id, "meta") self.assertEquals(gotInfo.revSequence, info.revSequence) self.assertEquals(gotInfo.revMeta, info.revMeta) self.assertEquals(gotInfo.contentType, info.contentType) self.assertFalse(gotInfo.compressed)