blob: 749f4ed988a71ef759416d78c87f5a0ffb3d381b [file] [log] [blame]
from observertest import BaseObserverToscaTest
from core.models import Site, Deployment, Slice, ControllerSlice
# Note that as a side effect, these tests will also create a Site
class ObserverSliceTest(BaseObserverToscaTest):
tests = ["create_slice"]
# hide_observer_output = False # uncomment to display lots of stuff to screen
def cleanup(self):
# We don't want to leak resources, so we make sure to let the observer
# attempt to delete these objects.
self.try_to_delete(Slice, purge=False, name="testsite_slice1")
self.try_to_delete(Site, purge=False, login_base="testsite")
self.run_observer()
self.try_to_delete(Slice, purge=True, name="testsite_slice1")
self.try_to_delete(Site, purge=True, login_base="testsite")
def create_slice(self):
self.assert_noobj(Site, "testsite")
self.assert_noobj(Slice, "testsite_slice1")
self.execute(self.make_nodetemplate(self.get_usable_deployment(), "tosca.nodes.Deployment",
props={"no-delete": True}) +
self.make_nodetemplate("testsite", "tosca.nodes.Site") + \
self.make_nodetemplate("testsite_slice1", "tosca.nodes.Slice", reqs=[("testsite", "tosca.relationships.MemberOfSite")]))
testsite = self.assert_obj(Site, "testsite")
testslice = self.assert_obj(Slice, "testsite_slice1")
self.run_model_policy(save_output="/tmp/slicetest:create_slice:model_policy")
# make sure a ControllerSlice object was created
cs = ControllerSlice.objects.filter(slice=testslice)
assert(len(cs) == 1)
self.run_observer(save_output="/tmp/slicetest:create_slice:observer")
testslice = self.assert_obj(Slice, "testsite_slice1")
cs = ControllerSlice.objects.filter(slice=testslice)
assert(len(cs) == 1)
assert(cs[0].tenant_id is not None)
assert(cs[0].tenant_id != "")
if __name__ == "__main__":
ObserverSliceTest()