def testLinkToMany2(self): """link on to many side of a one to many relationship""" dev = create(self.dataroot, Device, "dev") anna = create(self.dataroot, Location, "anna") transaction.savepoint() cookie = self.dataroot.manage_copyObjects(ids=("dev", )) self.failUnless(cookie) self.dataroot.anna.manage_linkObjects(ids=("devices", ), cb_copy_data=cookie) self.failUnless(dev in anna.devices()) self.failUnless(dev.location() == anna)
def afterSetUp(self): """setup schema manager and add needed permissions""" self.setRoles(['Manager']) perms = [ "Add Relationship Managers", "Delete objects", "Copy or Move", ] perms.extend(standard_permissions) self.setPermissions(perms) self.dataroot = create(self.folder, DataRoot, "dataroot") create(self.dataroot, DataRoot, "subfolder")
def test_setObjectOneToManyCont(self): """Place object into ToManyCont with _setObject""" dev = build(self.dataroot, Device, "dev") eth0 = create(self.dataroot, IpInterface, "eth0") dev.interfaces._setObject("eth0", eth0) self.failUnless(dev.interfaces._getOb("eth0") == eth0) self.assertIn("interfaces", dev.interfaces.eth0.getPrimaryPath())
def testCopyPasteRMOneToManyCont(self): """Copy/paste to check RM with OneToManyCont subobject""" dev = build(self.dataroot, Device, "dev") eth0 = create(dev.interfaces, IpInterface, "eth0") transaction.savepoint() self.dataroot.manage_renameObject("dev", "newdev") self.failUnless(self.dataroot._getOb("newdev")) self.assertEqual(self.dataroot.getPhysicalPath(), dev.getPrimaryPath()[:-1]) self.assertEqual(dev.getPrimaryPath(), eth0.getPrimaryPath()[:-2]) self.failUnless(eth0.device() == dev)
def testCutPasteRM2(self): """add contained relationship to cut/paste test""" dev = build(self.dataroot, Device, "dev") eth0 = create(dev.interfaces, IpInterface, "eth0") transaction.savepoint() cookie = self.dataroot.manage_cutObjects(ids=('dev', )) self.dataroot.subfolder.manage_pasteObjects(cookie) self.failIf(self.dataroot._getOb('dev', False)) self.failUnless(self.dataroot.subfolder._getOb('dev')) self.assertEqual(self.dataroot.subfolder.getPhysicalPath(), dev.getPrimaryPath()[:-1]) self.assertEqual( eth0.getPrimaryUrlPath().find(dev.getPrimaryUrlPath()), 0)