def project_delete(project_id): try: pass # project = Project.get(id=project_id, user=current_user.id) except Project.DoesNotExist: return jsonify({ "message": "Can't find project with id - `{id}`".format(id=project_id), "status": "error" }), 404 task_relation_count = Task.select().join(Project).where( Project.id == project_id).count() if task_relation_count > 0: return jsonify({ "message": "Deletion is not possible. The project is connected with tasks", "status": "error" }), 403 Project.delete().where(Project.id == project_id).execute() # return jsonify({"message": "The project has been successfully deleted", "status": "success"}), 201 return jsonify({"id": project_id}), 201
class S3CustomStorageTestCase(TestCase): def setUp(self): self.project = Project() def test_group_user(self): response = self.client.get('/api/group/%d/user/%d' % (self.group.id, self.user.id)) # print(response) # pprint(response.__dict__) self.assertEqual(response.status_code, 200) self.assertEqual(len(response._container), 1) def tearDown(self): self.project.delete() self.browser.quit()
def add_project(data): """ Adds a project to database and returns a project instance :param data: Project information :type data: A dictionary :rtype: an instance of :class:`models.Project` """ if 'project' not in data: return None if 'company' not in data: return None project_data = data['project'] company_data = data['company'] if ('name' not in project_data) or ('name' not in company_data): return None project_name = project_data['name'] exists = Project.get('exists', Project.name == project_name) if exists: raise ItemAlreadyExistsException('The project exists already!') company = Company.get('one', Company.name == company_data['name']) # Parse data. name = project_data['name'] directory = '' directory_set = False if 'dir' in project_data: directory = project_data['dir'] directory_set = True password = '' if 'password' in project_data: password = project_data['password'] if password: password = utils.hash_password(password) directory = utils.get_encrypted_directory_name(name, password) directory_set = True project = Project(name, '', company, password) if directory_set: project.dir = filesystem.create_project_directory(directory) else: project.dir = filesystem.create_project_directory(str(project.id)) if not project.dir: project.delete() return None Project.update(project) return project
def test_create_project(self): """Make sure it creates a project.""" create_project(project_id='001', project_description='This could be the same.') p = Project.select().where(Project.project_id == '001') q = Project.delete().where(Project.project_id == '001') q.execute() self.assertEqual(str(p), ("<class 'models.Project'> SELECT `t1`.`id`," " `t1`.`project_id`, `t1`.`project_description` " "FROM `project` AS t1 WHERE (`t1`.`project_id` = %s) " "['001']"))
def test_create_project_no_duplicate(self): """Make sure you can't create projects with duplicate IDs.""" Project.create(project_id='001', project_description='Testing purpose.') from peewee import IntegrityError with self.assertRaises(IntegrityError): Project.create(project_id='001', project_description='This could be the same.') # Delete the instance created q = Project.delete().where(Project.project_id == '001') q.execute()