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(), [])
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')
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}