예제 #1
0
    def test_fields(self):
        filename = make_random_temp_file()
        key = os.path.basename(filename)

        self.tempfiles.append(filename)
        self.s3keys.append(key)

        with open(filename) as f:
            data = f.read()
            crc32 = binascii.crc32(data) & 0xffffffff

        s3client = S3Client()
        yield s3client.put_object('zippy2-dev', key, data, metadata={'crc32': '%x' % crc32})

        consumer = TestConsumer()
        producer = AwsProducer('zippy2-dev', key)
        yield producer.beginProducing(consumer)

        consumer.seek(0)
        self.assertEquals(data, consumer.read())
        producer_crc32 = yield producer.crc32()
        producer_size = yield producer.size()
        self.assertEquals(crc32, producer_crc32)
        self.assertEquals(len(data), producer_size)