class SerializationTestCase(GraphTestCase): def setUp(self): self._registry = GraphModelRegistry() self._registry.register(Node, NodeSerializer) self._registry.register(Relationship, RelationshipSerializer) super(SerializationTestCase, self).setUp() def test_node_serialization(self): start_node = Node.objects.create() start_node_serialized = self._registry.serialize_obj(start_node) start_node_keys = list(start_node_serialized.keys()) expected_node_keys = ['id', 'created', 'modified'] self.assertListEqual(start_node_keys, expected_node_keys) def test_relationship_serialization(self): start_node = Node.objects.create() end_node = Node.objects.create() relationship = Relationship.objects.create( start_node=start_node.pk, end_node=end_node.pk ) relationship_serialized = self._registry.serialize_obj(relationship) expected_keys = ['id', 'created', 'modified', 'start_node', 'end_node', 'label'] self.assertEqual(list(relationship_serialized.keys()), expected_keys) self.assertEqual(relationship_serialized.get('id'), str(relationship.id)) self.assertEqual(relationship_serialized.get('start_node'), str(relationship.start_node)) self.assertEqual(relationship_serialized.get('end_node'), str(relationship.end_node)) def test_relationship_deserialization(self): relationship = { 'id': '0f87ffac-d532-43e6-ad2e-4c5dfda86e83', 'end_node': '3acfeb1e-f0d8-43b3-a9f1-32d2f632f499', 'created': u'2015-06-26T22:07:20.089414Z', 'modified': u'2015-06-26T22:07:20.090105Z', 'label': u'Relationship', 'start_node': '7f7f0f81-5833-4502-9e4c-7db484164b5d' } relationship_deserialized = self._registry.deserialize_obj(relationship, Relationship) self.assertEqual(relationship_deserialized.get('start_node'), uuid.UUID(relationship.get('start_node')))