def createProject(self, req, projectid, projectname, description, project_visibility, serviceslist): """ Request to create a new project """ services = {} if str(projectid).strip() == '': e = exceptions.Exception raise e("Incorrect project identification name") if str(projectname).strip() == '': e = exceptions.Exception raise e("Incorrect project name") users = get_userstore() author = users.getUser(req.authname) if not author.can_create_project(): raise Exception("You are not allowed to create projects") public = False published = None if project_visibility == "on" or project_visibility == "true": public = True published = datetime.now() # Create project class project = Project(id=None, env_name=unicode(projectid), project_name=projectname, description=description, author_id=author.id, created=None, public=public, published=published) if project_visibility == "on" or project_visibility == "true": services['project_visibility'] = 'on' else: services['project_visibility'] = 'off' projects = Projects() projects.getServices(services, serviceslist) # Create project try: projects.create_project(project, services) return self.get_scm_repository_url(project.env_name) except ProjectValidationException as exc: raise Exception(exc.value) except: raise Exception("Creating project failed. Try again later.")
def test_get_services(self): p = Projects() res = {} p.getServices(res, "test, dummy, Subversion, Perforce, test") self.assertEquals(res['vcs_type'], "perforce") p.getServices(res, "test, dummy, Subversion, test") self.assertEquals(res['vcs_type'], "svn") p.getServices(res, "another test, Versioncontrol|Mercurial, test") self.assertEquals(res['vcs_type'], "hg") p.getServices(res, " versioncontrol|git ") self.assertEquals(res['vcs_type'], "git") res['vcs_type'] = None p.getServices(res, "test, test") self.assertEquals(res['vcs_type'], None) res['vcs_type'] = None p.getServices(res, "") self.assertEquals(res['vcs_type'], None) p.getServices(res, " versioncontrol|svn,versioncontrol|something") self.assertEquals(res['vcs_type'], "svn") res['vcs_type'] = None
def test_get_services(self): p = Projects() res={} p.getServices(res,"test, dummy, Subversion, Perforce, test") self.assertEquals(res['vcs_type'], "perforce") p.getServices(res,"test, dummy, Subversion, test") self.assertEquals(res['vcs_type'], "svn") p.getServices(res,"another test, Versioncontrol|Mercurial, test") self.assertEquals(res['vcs_type'], "hg") p.getServices(res," versioncontrol|git ") self.assertEquals(res['vcs_type'], "git") res['vcs_type']=None p.getServices(res,"test, test") self.assertEquals(res['vcs_type'], None) res['vcs_type']=None p.getServices(res,"") self.assertEquals(res['vcs_type'], None) p.getServices(res," versioncontrol|svn,versioncontrol|something") self.assertEquals(res['vcs_type'], "svn") res['vcs_type']=None