def xxxtest_key_with_meta(self): """ test simple key with metadata added """ bucket_name = "com-dougfort-test-key-with-meta" key_name = u"test-key" test_string = _random_string(1024) meta_key = u"meta_key" meta_value = "pork" # create the bucket bucket = self._s3_connection.create_bucket(bucket_name) self.assertTrue(bucket is not None) self.assertEqual(bucket.name, bucket_name) # create an empty key write_key = Key(bucket) # set the name write_key.name = key_name # self.assertFalse(write_key.exists()) # set some metadata write_key.set_metadata(meta_key, meta_value) # upload some data write_key.set_contents_from_string(test_string) self.assertTrue(write_key.exists()) # create another key with the same name read_key = Key(bucket, key_name) # read back the data returned_string = read_key.get_contents_as_string() self.assertEqual(returned_string, test_string) # get the metadata returned_meta_value = read_key.get_metadata(meta_key) self.assertEqual(returned_meta_value, meta_value) # delete the key read_key.delete() self.assertFalse(write_key.exists()) # delete the bucket self._s3_connection.delete_bucket(bucket_name)