예제 #1
0
 def test_unchanged_properties_snapshot(self):
     nid = str(uuid.uuid4())
     a = Test(nid)
     value = '++ VALUE ++'
     with g.session_scope() as s:
         a.key1 = value
         s.merge(a)
         s.commit()
         a = g.nodes(Test).ids(nid).one()
         a.key1 = value
         s.merge(a)
         s.commit()
         self.assertEqual(a._history.all(), [])
예제 #2
0
 def test_property_merge(self):
     node = Test('a')
     node.key1 = 'first'
     node.key2 = 'first'
     with g.session_scope() as session:
         session.merge(node)
     node = Test('a')
     node.key1 = 'second'
     node.key1 = 'third'
     with g.session_scope() as session:
         session.merge(node)
     with g.session_scope() as session:
         node = g.nodes(Test).ids('a').one()
     self.assertEqual(node.key1, 'third')
     self.assertEqual(node.key2, 'first')
예제 #3
0
 def test_validate_property(self):
     node = Test(str(uuid.uuid4()))
     node._set_property('key1', 1)  # Should not raise
     node.key1 = 'test'
     node['key1'] = 'test'
     node.properties['key1'] = 'test'
     node._set_property('key1', 'test')
     node.properties.update({'key1': 'test'})
     with self.assertRaises(AssertionError):
         node.key1 = 1
     with self.assertRaises(AssertionError):
         node['key1'] = 1
     with self.assertRaises(AssertionError):
         node.properties['key1'] = 1
     with self.assertRaises(AssertionError):
         node.properties.update({'key1': 1})
     with self.assertRaises(AssertionError):
         node.properties = {'key1': 1}