def test_upload(self): dev = '/dev/zero' salt = 'salt' block_count = 3 for i in xrange(block_count): block = Block(dev, i, salt) # Lie about the hash. block._hydrate() hash_ = "hash_%s" % i block._hash = hash_ self.block_queue.put(block) self.block_queue.put(None) while self.process.is_alive(): sleep(0.1) stats, errors = self.result_queue.get() self.assertEquals(stats['uploaded'], block_count) self.assertEquals(len(errors.keys()), 0) headers, listing = self.conn.get_container(self.volume_id) self.assertEquals(len(listing), block_count)
def test_stats(self): size = 4 * 1024 * 1024 path = os.path.join(self.scratch, 'block_dev1') with open(path, 'w') as f: f.write('\x00' * size) b = Block(path, 0, 'salt') self.assertEqual({}, b.stats) b.skipped() self.assertEqual(b.stats['skipped'], 1) b.ignored() self.assertEqual(b.stats['ignored'], 1) b.hash self.assert_(b.stats['read'] > 0) self.assert_(b.stats['hash'] > 0)