def add_unit(self, *, u: Unit): """ Add a unit @parm u unit """ if u.get_id() not in self.units: self.units[u.get_id()] = u
def test_unit(self): rid = ID() u1 = Unit(rid=rid) self.assertIsNotNone(u1.get_id()) self.assertEqual(UnitState.DEFAULT, u1.get_state()) self.assertIsNone(u1.get_property(name="foo")) self.assertIsNone(u1.get_parent_id()) self.assertIsNotNone(u1.get_reservation_id()) self.assertIsNone(u1.get_slice_id()) self.assertIsNone(u1.get_actor_id()) self.assertEqual(0, u1.get_sequence()) u1.increment_sequence() self.assertEqual(1, u1.get_sequence()) u1.decrement_sequence() self.assertEqual(0, u1.get_sequence()) db = self.make_actor_database() slice_id = ID() from fabric_cf.actor.core.container.globals import GlobalsSingleton actor_id = GlobalsSingleton.get().get_container().get_actor().get_guid( ) slice_obj = SliceFactory.create(slice_id=slice_id, name="test_slice") db.add_slice(slice_object=slice_obj) reservation = ClientReservationFactory.create(rid=rid, slice_object=slice_obj) u1.set_actor_id(actor_id=actor_id) u1.set_reservation(reservation=reservation) u1.set_slice_id(slice_id=slice_id) db.add_reservation(reservation=reservation) u1.start_prime() self.assertEqual(UnitState.PRIMING, u1.get_state()) u1.set_property(name="foo", value="bar") u1.increment_sequence() u1.increment_sequence() resource_type = ResourceType(resource_type="1") u1.set_resource_type(rtype=resource_type) self.assertEqual(2, u1.get_sequence()) db.add_unit(u=u1) self.assertIsNotNone(db.get_unit(uid=rid))
def test_d_add_update_get_unit(self): actor = self.prepare_actor_database() db = actor.get_plugin().get_database() slice_obj = SliceFactory.create(slice_id=ID(), name="slice-1") db.add_slice(slice_object=slice_obj) rset = ResourceSet() term = Term(start=datetime.now(), end=datetime.now().replace(minute=20)) res = AuthorityReservationFactory.create(resources=rset, term=term, slice_obj=slice_obj, rid=ID()) db.add_reservation(reservation=res) rtype = ResourceType(resource_type="12") u = Unit(rid=res.get_reservation_id(), slice_id=slice_obj.get_slice_id(), actor_id=actor.get_guid()) u.set_resource_type(rtype=rtype) db.add_unit(u=u) self.assertIsNotNone(db.get_unit(uid=u.get_id()))