def _test_cloud_store_data(self, config, metadata_provider, provider): """ Store encrypted data to cloud. """ database = MetaDataDB(config) database.drop() cloud = Cloud(config, metadata_provider, provider, database).connect() data1 = file("testdata/data1.txt").read() data2 = file("testdata/data2.txt").read() data3 = file("testdata/data2.txt").read() data4 = file("testdata/data2.txt").read() metadata1 = cloud.store(data1, "testdata/data1.txt") metadata2 = cloud.store(data2, "testdata/data2.txt") metadata3 = cloud.store(data3, "testdata/data3.txt") metadata4 = cloud.store(data4, "testdata/data4.txt") for metadata in cloud.list(): if metadata["key"] == metadata1["key"]: self.assertEqual("testdata/data1.txt", metadata["path"]) if metadata["key"] == metadata2["key"]: self.assertEqual("testdata/data2.txt", metadata["path"]) if metadata["key"] == metadata3["key"]: self.assertEqual("testdata/data3.txt", metadata["path"]) if metadata["key"] == metadata4["key"]: self.assertEqual("testdata/data4.txt", metadata["path"]) new_data1 = cloud.retrieve(metadata1) new_data2 = cloud.retrieve(metadata2) new_data3 = cloud.retrieve(metadata3) new_data4 = cloud.retrieve(metadata4) self.assertEqual(data1, new_data1) self.assertEqual("testdata/data1.txt", metadata1["path"]) self.assertEqual(data2, new_data2) self.assertEqual("testdata/data2.txt", metadata2["path"]) self.assertEqual(data2, new_data3) self.assertEqual("testdata/data3.txt", metadata3["path"]) self.assertEqual(data2, new_data4) self.assertEqual("testdata/data4.txt", metadata4["path"]) cloud.delete(metadata1) cloud.delete(metadata2) cloud.delete(metadata3) cloud.delete(metadata4) cloud.disconnect()