MCPcopy Create free account
hub / github.com/FreeOpcUa/python-opcua / test_delete_references

Method test_delete_references

tests/tests_common.py:176–227  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

174 node.get_browse_name()
175
176 def test_delete_references(self):
177 newtype = self.opc.get_node(ua.ObjectIds.HierarchicalReferences).add_reference_type(0, "HasSuperSecretVariable")
178
179 obj = self.opc.get_objects_node()
180 fold = obj.add_folder(2, "FolderToRef")
181 var = fold.add_variable(2, "VarToRef", 42)
182
183 fold.add_reference(var, newtype)
184
185 self.assertEqual(var.get_referenced_nodes(newtype), [fold])
186 self.assertEqual(fold.get_referenced_nodes(newtype), [var])
187
188 fold.delete_reference(var, newtype)
189
190 self.assertEqual(var.get_referenced_nodes(newtype), [])
191 self.assertEqual(fold.get_referenced_nodes(newtype), [])
192
193 fold.add_reference(var, newtype, bidirectional=False)
194
195 self.assertEqual(var.get_referenced_nodes(newtype), [])
196 self.assertEqual(fold.get_referenced_nodes(newtype), [var])
197
198 fold.delete_reference(var, newtype)
199
200 self.assertEqual(var.get_referenced_nodes(newtype), [])
201 self.assertEqual(fold.get_referenced_nodes(newtype), [])
202
203
204 var.add_reference(fold, newtype, forward=False, bidirectional=False)
205
206 self.assertEqual(var.get_referenced_nodes(newtype), [fold])
207 self.assertEqual(fold.get_referenced_nodes(newtype), [])
208
209 with self.assertRaises(ua.UaStatusCodeError):
210 fold.delete_reference(var, newtype)
211
212 self.assertEqual(var.get_referenced_nodes(newtype), [fold])
213 self.assertEqual(fold.get_referenced_nodes(newtype), [])
214
215 with self.assertRaises(ua.UaStatusCodeError):
216 var.delete_reference(fold, newtype)
217
218 self.assertEqual(var.get_referenced_nodes(newtype), [fold])
219 self.assertEqual(fold.get_referenced_nodes(newtype), [])
220
221 var.delete_reference(fold, newtype, forward=False)
222
223 self.assertEqual(var.get_referenced_nodes(newtype), [])
224 self.assertEqual(fold.get_referenced_nodes(newtype), [])
225
226 # clean-up
227 self.opc.delete_nodes([fold, newtype], recursive=True)
228
229 def test_server_node(self):
230 node = self.opc.get_server_node()

Callers

nothing calls this directly

Calls 9

add_folderMethod · 0.80
add_referenceMethod · 0.80
get_referenced_nodesMethod · 0.80
delete_referenceMethod · 0.80
add_reference_typeMethod · 0.45
get_nodeMethod · 0.45
get_objects_nodeMethod · 0.45
add_variableMethod · 0.45
delete_nodesMethod · 0.45

Tested by

no test coverage detected