Ejemplo n.º 1
0
    def testMetadata(self):
        info = DocumentInfo("meta")
        info.rev_sequence = 23
        info.rev_meta = "fancy metadata here"
        info.content_type = DocumentInfo.INVALID_JSON
        self.store[info] = "the regular non-meta data"

        gotInfo = self.store.get_doc_info_by_id("meta")
        self.assertEquals(gotInfo.id, "meta")
        self.assertEquals(gotInfo.rev_sequence, info.rev_sequence)
        self.assertEquals(gotInfo.rev_meta, info.rev_meta)
        self.assertEquals(gotInfo.content_type, info.content_type)
        self.assertFalse(gotInfo.compressed)
Ejemplo n.º 2
0
    def testMetadata(self):
        info = DocumentInfo("meta")
        info.rev_sequence = 23
        info.rev_meta = "fancy metadata here"
        info.content_type = DocumentInfo.INVALID_JSON
        self.store[info] = "the regular non-meta data"

        gotInfo = self.store.get_doc_info_by_id("meta")
        self.assertEquals(gotInfo.id, "meta")
        self.assertEquals(gotInfo.rev_sequence, info.rev_sequence)
        self.assertEquals(gotInfo.rev_meta, info.rev_meta)
        self.assertEquals(gotInfo.content_type, info.content_type)
        self.assertFalse(gotInfo.compressed)
Ejemplo n.º 3
0
    def testBinaryMeta(self):
        # Make sure binary data, as produced by Python's struct module, works
        # in revMeta.
        packed = struct.pack(">QII", 0, 1, 2)
        d = DocumentInfo("bin")
        d.rev_meta = packed
        self.store[d] = "value"

        doc_info = self.store.get_doc_info_by_id("bin")
        self.assertEqual(doc_info.rev_meta, packed)
        i1, i2, i3 = struct.unpack(">QII", doc_info.rev_meta)
        self.assertEqual(i1, 0)
        self.assertEqual(i2, 1)
        self.assertEqual(i3, 2)
Ejemplo n.º 4
0
    def testBinaryMeta(self):
        # Make sure binary data, as produced by Python's struct module, works
        # in revMeta.
        packed = struct.pack(">QII", 0, 1, 2)
        d = DocumentInfo("bin")
        d.rev_meta = packed
        self.store[d] = "value"

        doc_info = self.store.get_doc_info_by_id("bin")
        self.assertEqual(doc_info.rev_meta, packed)
        i1, i2, i3 = struct.unpack(">QII", doc_info.rev_meta)
        self.assertEqual(i1, 0)
        self.assertEqual(i2, 1)
        self.assertEqual(i3, 2)
Ejemplo n.º 5
0
    def testMetadataSave(self):
        info = DocumentInfo("meta")
        info.rev_sequence = 23
        info.rev_meta = "fancy metadata here"
        info.content_type = 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.get_doc_info_by_id("meta")
        self.assertEquals(gotInfo.id, "meta")
        self.assertEquals(gotInfo.rev_sequence, info.rev_sequence)
        self.assertEquals(gotInfo.rev_meta, info.rev_meta)
        self.assertEquals(gotInfo.content_type, info.content_type)
        self.assertFalse(gotInfo.compressed)
Ejemplo n.º 6
0
 def testMultipleMeta(self):
     k = []
     v = []
     for i in range(1000):
         d = DocumentInfo(str(i))
         d.rev_meta = "hello-%s" % i
         k.append(d)
         v.append("world-%s" % i)
     self.store.save_multi(k, v)
     self.store.commit()
     self.store.close()
     self.store = CouchStore("/tmp/test.couch", 'r')
     for doc_info in self.store.changes_since(0):
         i = int(doc_info.id)
         self.assertEqual(doc_info.rev_meta, "hello-%s" % i)
         doc_contents = doc_info.get_contents()
         self.assertEqual(doc_contents, "world-%s" % i)
Ejemplo n.º 7
0
    def testMetadataSave(self):
        info = DocumentInfo("meta")
        info.rev_sequence = 23
        info.rev_meta = "fancy metadata here"
        info.content_type = 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.get_doc_info_by_id("meta")
        self.assertEquals(gotInfo.id, "meta")
        self.assertEquals(gotInfo.rev_sequence, info.rev_sequence)
        self.assertEquals(gotInfo.rev_meta, info.rev_meta)
        self.assertEquals(gotInfo.content_type, info.content_type)
        self.assertFalse(gotInfo.compressed)
Ejemplo n.º 8
0
 def testMultipleMeta(self):
     k = []
     v = []
     for i in range(1000):
         d = DocumentInfo(str(i))
         d.rev_meta = "hello-%s" % i
         k.append(d)
         v.append("world-%s" % i)
     self.store.save_multi(k, v)
     self.store.commit()
     self.store.close()
     self.store = CouchStore("/tmp/test.couch", 'r')
     for doc_info in self.store.changes_since(0):
         i = int(doc_info.id)
         self.assertEqual(doc_info.rev_meta, "hello-%s" % i)
         doc_contents = doc_info.get_contents()
         self.assertEqual(doc_contents, "world-%s" % i)
Ejemplo n.º 9
0
 def testMultipleMetaStruct(self):
     k = []
     v = []
     for i in range(1000):
         d = DocumentInfo(str(i))
         d.rev_meta = struct.pack(">QII", i * 3, i * 2, i)
         k.append(d)
         v.append("world-%s" % i)
     self.store.save_multi(k, v)
     self.store.commit()
     self.store.close()
     self.store = CouchStore("/tmp/test.couch", 'r')
     for doc_info in self.store.changes_since(0):
         i = int(doc_info.id)
         i3, i2, i1 = struct.unpack(">QII", doc_info.rev_meta)
         self.assertEqual(i3, i * 3)
         self.assertEqual(i2, i * 2)
         self.assertEqual(i1, i * 1)
         doc_contents = doc_info.get_contents()
         self.assertEqual(doc_contents, "world-%s" % doc_info.id)
Ejemplo n.º 10
0
 def testMultipleMetaStruct(self):
     k = []
     v = []
     for i in range(1000):
         d = DocumentInfo(str(i))
         d.rev_meta = struct.pack(">QII", i * 3, i * 2, i)
         k.append(d)
         v.append("world-%s" % i)
     self.store.save_multi(k, v)
     self.store.commit()
     self.store.close()
     self.store = CouchStore("/tmp/test.couch", 'r')
     for doc_info in self.store.changes_since(0):
         i = int(doc_info.id)
         i3, i2, i1 = struct.unpack(">QII", doc_info.rev_meta)
         self.assertEqual(i3, i * 3)
         self.assertEqual(i2, i * 2)
         self.assertEqual(i1, i * 1)
         doc_contents = doc_info.get_contents()
         self.assertEqual(doc_contents, "world-%s" % doc_info.id)