def test_wrapper_from__class__dot_name(self): """ The Service model has a wrapper, so it should be returned when make_ORMWrapper looks for a wrapper based on the class name. """ orm = self.make_coreapi() obj = orm.Service() self.assertEqual(obj.__class__.__name__, "ORMWrapperService")
def test_foreign_key_set_null(self): orm = self.make_coreapi() site = orm.Site(name="mysite") site.save() self.assertTrue(site.id > 0) user = orm.User(email="fake_" + ''.join( random.choice(string.ascii_uppercase + string.digits) for _ in range(10)), site_id=site.id) user.save() self.assertTrue(user.id > 0) service = orm.Service(name="myservice") service.save() self.assertTrue(service.id > 0) # start out slice.service is non-None slice = orm.Slice(name="mysite_foo", site=site, service=service, creator_id=user.id) slice.save() slice.invalidate_cache() self.assertTrue(slice.id > 0) self.assertNotEqual(slice.service, None) self.assertEqual(slice.service.id, service.id) # now set it to None slice.service = None slice.save() slice.invalidate_cache() self.assertEqual(slice.service, None)
def test_service_get_composable_networks(self): orm = self.make_coreapi() deployment = orm.Deployment(name="test_deployment") deployment.save() controller = orm.Controller(name="test_controller", deployment_id=deployment.id) controller.save() site = orm.Site(name="testsite") site.save() user = orm.User( email="fake_" + "".join( random.choice(string.ascii_uppercase + string.digits) for _ in range(10)), site_id=site.id, ) user.save() vsg_access_template = orm.NetworkTemplate(name="vsg_access", vtn_kind="VSG") vsg_access_template.save() service_one = orm.Service(name="service_one") service_one.save() slice_one = orm.Slice( name="testsite_sliceone", service_id=service_one.id, site_id=site.id, creator_id=user.id, network="noauto", ) slice_one.save() network_one = orm.Network( name="testsite_sliceone_access", owner_id=slice_one.id, template_id=vsg_access_template.id, ) network_one.save() ns = orm.NetworkSlice(slice_id=slice_one.id, network_id=network_one.id) ns.save() cn_one = orm.ControllerNetwork(network_id=network_one.id, controller_id=controller.id) cn_one.save() if USE_FAKE_STUB: # fake_Stub doesn't handle reverse foreign keys service_one.slices_ids = [slice_one.id] slice_one.networks_ids = [network_one.id] network_one.controllernetworks_ids = [cn_one.id] # make sure we're using a fresh copy of the object, with all its foreign keys filled in service_one = orm.Service.objects.get(id=service_one.id) cns = service_one.get_composable_networks() self.assertEqual(len(cns), 1) self.assertEqual(cns[0].id, network_one.id)
def test_generic_foreign_key_set(self): orm = self.make_coreapi() service = orm.Service(name="myservice") service.save() site = orm.Site(name="mysite") site.save() self.assertTrue(site.id > 0) tag = orm.Tag(service=service, name="mytag", value="somevalue") tag.content_object = site tag.invalidate_cache() self.assertEqual(tag.content_type, site.self_content_type_id) self.assertEqual(tag.object_id, site.id) tag.save() self.assertTrue(tag.id > 0) self.assertNotEqual(tag.content_object, None) self.assertEqual(tag.content_object.id, site.id)
def test_generic_foreign_key_get_decl(self): orm = self.make_coreapi() service = orm.Service(name="myservice") service.save() site = orm.Site(name="mysite") site.save() self.assertTrue(site.id > 0) tag = orm.Tag( service=service, name="mytag", value="somevalue", content_type=site.self_content_type_id + "_decl", object_id=site.id, ) tag.save() self.assertTrue(tag.id > 0) self.assertNotEqual(tag.content_object, None) self.assertEqual(tag.content_object.id, site.id)
def test_generic_foreign_key_get_bad_id(self): orm = self.make_coreapi() service = orm.Service(name="myservice") service.save() site = orm.Site(name="mysite") site.save() self.assertTrue(site.id > 0) tag = orm.Tag( service=service, name="mytag", value="somevalue", content_type=site.self_content_type_id, object_id=4567, ) tag.save() self.assertTrue(tag.id > 0) with self.assertRaises(Exception) as e: self.assertEqual(e.exception.message, "Object 4567 of model Site was not found")
def test_generic_foreign_key_get_bad_contenttype(self): orm = self.make_coreapi() service = orm.Service(name="myservice") service.save() site = orm.Site(name="mysite") site.save() self.assertTrue(site.id > 0) tag = orm.Tag( service=service, name="mytag", value="somevalue", content_type="does_not_exist", object_id=site.id, ) tag.save() self.assertTrue(tag.id > 0) with self.assertRaises(Exception) as e: self.assertEqual( e.exception.message, "Content_type does_not_exist not found in self.content_type_map", )
def test_service_get_service_instance_class(self): orm = self.make_coreapi() deployment = orm.Deployment(name="test_deployment") deployment.save() controller = orm.Controller(name="test_controller", deployment_id=deployment.id) controller.save() site = orm.Site(name="testsite") site.save() user = orm.User(email="fake_" + ''.join( random.choice(string.ascii_uppercase + string.digits) for _ in range(10)), site_id=site.id) user.save() vsg_access_template = orm.NetworkTemplate(name="vsg_access", vtn_kind="VSG") vsg_access_template.save() service_one = orm.Service(name="service_one") service_one.save() self.assertEqual(service_one.get_service_instance_class().model_name, "ServiceInstance")
def test_leaf_model_trivial(self): orm = self.make_coreapi() service = orm.Service(name="myservice") service.save() self.assertEqual(service.leaf_model_name, "Service")