blob: 5321159df0a2606ab1cabcae65b0d4a79256bd47 [file] [log] [blame]
from basetest import BaseToscaTest
from core.models import Site, SitePrivilege, User
class SiteTest(BaseToscaTest):
tests = ["create_site_minimal",
"create_site_privilege_tech",
"create_site_privilege_admin",
"create_site_privilege_pi",
"create_site_nocreate",
"update_site",
"update_site_noupdate",
"destroy_site",
"destroy_site_nodelete"
]
def cleanup(self):
self.try_to_delete(Site, name="testsite")
def create_site_minimal(self):
self.assert_noobj(Site, "testsite")
self.execute(self.make_nodetemplate("testsite", "tosca.nodes.Site"))
site = self.assert_obj(Site, "testsite")
def create_site_privilege_tech(self):
self.assert_noobj(Site, "testsite")
self.execute(self.make_nodetemplate("testsite", "tosca.nodes.Site") +
self.make_nodetemplate("test@user.com", "tosca.nodes.User",
props = {"firstname": "test", "lastname": "user", "password": "letmein"},
reqs = [("testsite", "tosca.relationships.MemberOfSite"),
("testsite", "tosca.relationships.TechPrivilege")]))
site = self.assert_obj(Site, "testsite")
user = User.objects.get(email="test@user.com")
sps = SitePrivilege.objects.filter(site=site, user=user)
assert(len(sps) == 1)
assert(sps[0].role.role == "tech")
def create_site_privilege_admin(self):
self.assert_noobj(Site, "testsite")
self.execute(self.make_nodetemplate("testsite", "tosca.nodes.Site") +
self.make_nodetemplate("test@user.com", "tosca.nodes.User",
props = {"firstname": "test", "lastname": "user", "password": "letmein"},
reqs = [("testsite", "tosca.relationships.MemberOfSite"),
("testsite", "tosca.relationships.AdminPrivilege")]))
site = self.assert_obj(Site, "testsite")
user = User.objects.get(email="test@user.com")
sps = SitePrivilege.objects.filter(site=site, user=user)
assert(len(sps) == 1)
assert(sps[0].role.role == "admin")
def create_site_privilege_pi(self):
self.assert_noobj(Site, "testsite")
self.execute(self.make_nodetemplate("testsite", "tosca.nodes.Site") +
self.make_nodetemplate("test@user.com", "tosca.nodes.User",
props = {"firstname": "test", "lastname": "user", "password": "letmein"},
reqs = [("testsite", "tosca.relationships.MemberOfSite"),
("testsite", "tosca.relationships.PIPrivilege")]))
site = self.assert_obj(Site, "testsite")
user = User.objects.get(email="test@user.com")
sps = SitePrivilege.objects.filter(site=site, user=user)
assert(len(sps) == 1)
assert(sps[0].role.role == "pi")
def create_site_nocreate(self):
self.assert_noobj(Site, "testsite")
self.execute(self.make_nodetemplate("testsite", "tosca.nodes.Site",
props={"no-create": True}))
site = self.assert_noobj(Site, "testsite")
def update_site(self):
self.assert_noobj(Site, "testsite")
self.execute(self.make_nodetemplate("testsite", "tosca.nodes.Site"))
orig_site = self.assert_obj(Site, "testsite", site_url=None)
self.execute(self.make_nodetemplate("testsite", "tosca.nodes.Site",
props={"site_url": "http://foo.com/"}))
site = self.assert_obj(Site, "testsite", site_url="http://foo.com/")
assert(orig_site.id == site.id)
def update_site_noupdate(self):
self.assert_noobj(Site, "testsite")
self.execute(self.make_nodetemplate("testsite", "tosca.nodes.Site"))
orig_site = self.assert_obj(Site, "testsite", site_url=None)
self.execute(self.make_nodetemplate("testsite", "tosca.nodes.Site",
props={"site_url": "http://foo.com/",
"no-update": True}))
site = self.assert_obj(Site, "testsite", site_url=None)
assert(orig_site.id == site.id)
def destroy_site(self):
self.assert_noobj(Site, "testsite")
self.execute(self.make_nodetemplate("testsite", "tosca.nodes.Site"))
site = self.assert_obj(Site, "testsite")
self.destroy(self.make_nodetemplate("testsite", "tosca.nodes.Site"))
self.assert_noobj(Site, "testsite")
def destroy_site_nodelete(self):
self.assert_noobj(Site, "testsite")
self.execute(self.make_nodetemplate("testsite", "tosca.nodes.Site"))
site = self.assert_obj(Site, "testsite")
self.destroy(self.make_nodetemplate("testsite", "tosca.nodes.Site",
props={"no-delete": True}))
self.assert_obj(Site, "testsite")
if __name__ == "__main__":
SiteTest()