def testSimpleRename(self): clusto.rename('e1', 'f1') q = Entity.query() self.assertEqual(q.filter_by(name=u'e1').count(), 0) self.assertEqual(q.filter_by(name=u'f1').count(), 1)
def testEntityRename(self): curver = clusto.get_latest_version_number() e1 = Entity('e1') e1.add_attr('foo',1) e1.add_attr('foo',2) e1attrs = [a.to_tuple for a in e1.attrs] midver = clusto.get_latest_version_number() clusto.rename('e1', 't1') postrenamever = clusto.get_latest_version_number() t1 = clusto.get_by_name('t1') self.assertEqual(sorted(e1attrs), sorted([a.to_tuple for a in t1.entity.attrs])) t1.del_attrs('foo', 2) self.assertRaises(LookupError, clusto.get_by_name, 'e1') self.assertEqual(sorted(t1.attrs('foo',1)), sorted(t1.attrs())) SESSION.clusto_version = midver self.assertRaises(LookupError, clusto.get_by_name, 't1') e = clusto.get_by_name('e1') self.assertEqual(sorted(e1attrs), sorted([a.to_tuple for a in e.attrs()])) for a in e.attrs(): self.assertEqual(e.entity.deleted_at_version, a.deleted_at_version) SESSION.clusto_version = postrenamever self.assertEqual(e.entity.deleted_at_version, t1.entity.version) for a in t1.attrs(): self.assertEqual(e.entity.deleted_at_version, a.version)
def testEntityRename(self): curver = clusto.get_latest_version_number() e1 = Entity('e1') e1.add_attr('foo', 1) e1.add_attr('foo', 2) e1attrs = [a.to_tuple for a in e1.attrs] midver = clusto.get_latest_version_number() clusto.rename('e1', 't1') postrenamever = clusto.get_latest_version_number() t1 = clusto.get_by_name('t1') self.assertEqual(sorted(e1attrs), sorted([a.to_tuple for a in t1.entity.attrs])) t1.del_attrs('foo', 2) self.assertRaises(LookupError, clusto.get_by_name, 'e1') self.assertEqual(sorted(t1.attrs('foo', 1)), sorted(t1.attrs())) SESSION.clusto_version = midver self.assertRaises(LookupError, clusto.get_by_name, 't1') e = clusto.get_by_name('e1') self.assertEqual(sorted(e1attrs), sorted([a.to_tuple for a in e.attrs()])) for a in e.attrs(): self.assertEqual(e.entity.deleted_at_version, a.deleted_at_version) SESSION.clusto_version = postrenamever self.assertEqual(e.entity.deleted_at_version, t1.entity.version) for a in t1.attrs(): self.assertEqual(e.entity.deleted_at_version, a.version)
def testRenameWithProperties(self): rack1 = BasicRack('rack1') rack1.set_attr(key='maxu', subkey='property', value=48) for x in range(3): rack1.add_attr(key='foo', subkey='bar', value=1, number=None) clusto.rename('rack1', 'rack2') rack2 = clusto.get_by_name('rack2') self.assertEqual(rack2.attrs(key='maxu', subkey='property')[0].value, 48) self.assertEqual(len(rack2.attrs(key='maxu')), 1) self.assertEqual(len(rack2.attrs(key='foo', subkey='bar')), 3)
def testRenameWithProperties(self): rack1 = BasicRack('rack1') rack1.set_attr(key='maxu', subkey='property', value=48) for x in range(3): rack1.add_attr(key='foo', subkey='bar', value=1, number=None) clusto.rename('rack1', 'rack2') rack2 = clusto.get_by_name('rack2') self.assertEqual( rack2.attrs(key='maxu', subkey='property')[0].value, 48) self.assertEqual(len(rack2.attrs(key='maxu')), 1) self.assertEqual(len(rack2.attrs(key='foo', subkey='bar')), 3)
def testPoolRename(self): curver = clusto.get_latest_version_number() e1 = Entity('e1') e2 = Entity('e2') p1 = clusto.drivers.Pool('p1') p1.insert(e1) p1.insert(e2) self.assertEqual(sorted([e1, e2]), sorted((d.entity for d in p1.contents()))) clusto.rename('p1', 'p1renamed') p1renamed = clusto.get_by_name('p1renamed') self.assertEqual(sorted([e1, e2]), sorted((d.entity for d in p1renamed.contents())))
def testPoolRename(self): curver = clusto.get_latest_version_number() e1 = Entity('e1') e2 = Entity('e2') p1 = clusto.drivers.Pool('p1') p1.insert(e1) p1.insert(e2) self.assertEqual(sorted([e1,e2]), sorted((d.entity for d in p1.contents()))) clusto.rename('p1', 'p1renamed') p1renamed = clusto.get_by_name('p1renamed') self.assertEqual(sorted([e1,e2]), sorted((d.entity for d in p1renamed.contents())))
try: obj = clusto.get_by_name(args.oldname[0]) except LookupError, e: self.debug(e) self.error('"%s" does not exist' % args.oldname[0]) return -1 try: obj = clusto.get_by_name(args.newname[0]) if obj: self.error('There is already an object named "%s"' % args.newname[0]) except LookupError, e: pass clusto.rename(obj.name, args.newname[0]) return def main(): rename = Rename() parent_parser = script_helper.setup_base_parser() this_parser = argparse.ArgumentParser(parents=[parent_parser], description=rename._get_description()) rename._add_arguments(this_parser) args = this_parser.parse_args() rename.init_script(args=args, logger=script_helper.get_logger(args.loglevel)) return(rename.run(args)) if __name__ == '__main__':