def test_serialize_policy(self): p = Policy.loads(policy_yaml) self.assertEqual(p[0].tag, ALPHA) self.assertEqual(p[0].block, "diego/geom2(branch1)") self.assertEqual(p[1].tag, BETA) self.assertEqual(p[1].block, "diego/geom") d = p.serialize() p2 = Policy.deserialize(d) self.assertEqual(p, p2)
def deserialize(data): '''From dictionary to object FinderRequest''' ret = FinderRequest() ret.block_names = SetDeserializer(BlockName).deserialize(data[FinderRequest.SERIAL_TRACKING_KEY]) ret.existing = ReferencedDependencies.deserialize(data[FinderRequest.SERIAL_EXISTING_KEY]) ret.unresolved = SetDeserializer(Declaration).deserialize(data[FinderRequest.SERIAL_UNRESOLVED_KEY]) ret.policy = Policy.deserialize(data[FinderRequest.SERIAL_POLICY]) criteria = data[FinderRequest.SERIAL_CRITERIA] ret.find, ret.update, ret.downgrade, ret.modify = criteria ret.existing_common_table = BlockVersionTable.deserialize(data[FinderRequest.SERIAL_DEP_COMMON_TABLE]) return ret