def test_authenticated_user_can_create_taskrun_for_draft_project(self): """Test authenticated users can create a taskrun for a project that is a draft""" project = ProjectFactory.create(published=False) task = TaskFactory.create(project=project) taskrun = TaskRunFactory.build(task_id=task.id, project_id=project.id) assert_not_raises(Forbidden, ensure_authorized_to, 'create', taskrun)
def test_authenticated_user_create_repeated_taskrun(self): """Test authenticated user cannot create two taskruns for the same task""" task = TaskFactory.create() taskrun1 = TaskRunFactory.create(task=task) taskrun2 = TaskRunFactory.build(task=task, user=taskrun1.user) assert self.mock_authenticated.id == taskrun1.user.id assert_raises(Forbidden, ensure_authorized_to, 'create', taskrun2)
def test_authenticated_user_create_taskrun_non_allow_anonymous_contrib(self): """Test authenticated user can create a taskrun for a project that does not allow for anonymous contributors""" project = ProjectFactory.create(allow_anonymous_contributors=False) task = TaskFactory.create(project=project) taskrun = TaskRunFactory.build(task_id=task.id, project_id=project.id) assert_not_raises(Exception, ensure_authorized_to, 'create', taskrun)
def test_save_saves_taskruns(self): """Test save persists TaskRun instances""" taskrun = TaskRunFactory.build() assert self.task_repo.get_task_run(taskrun.id) is None self.task_repo.save(taskrun) assert self.task_repo.get_task_run(taskrun.id) == taskrun, "TaskRun not saved"
def test_authenticated_user_create_taskrun_non_allow_anonymous_contrib(self): """Test authenticated user can create a taskrun for a project that does not allow for anonymous contributors""" project = AppFactory.create(allow_anonymous_contributors=False) task = TaskFactory.create(app=project) taskrun = TaskRunFactory.build(task_id=task.id) assert_not_raises(Exception, getattr(require, 'taskrun').create, taskrun)
def test_authenticated_user_create_first_taskrun(self): """Test authenticated user can create a taskrun for a given task if he hasn't already done it""" taskrun = TaskRunFactory.build() assert self.mock_authenticated.id == taskrun.user.id assert_not_raises(Exception, getattr(require, 'taskrun').create, taskrun)
def test_authenticated_user_create_repeated_taskrun(self): """Test authenticated user cannot create a taskrun for a task to which he has previously posted a taskrun""" task = TaskFactory.create() taskrun1 = TaskRunFactory.create(task=task) taskrun2 = TaskRunFactory.build(task=task, user=taskrun1.user) assert self.mock_authenticated.id == taskrun1.user.id assert_raises(Forbidden, ensure_authorized_to, 'create', taskrun2)
def test_authenticated_user_create_repeated_taskrun(self): """Test authenticated user cannot create a taskrun for a task to which he has previously posted a taskrun""" task = TaskFactory.create() taskrun1 = TaskRunFactory.create(task=task) taskrun2 = TaskRunFactory.build(task=task, user=taskrun1.user) assert self.mock_authenticated.id == taskrun1.user.id assert_raises(Forbidden, getattr(require, 'taskrun').create, taskrun2) # But the user can still create taskruns for different tasks task2 = TaskFactory.create(app=task.app) taskrun3 = TaskRunFactory.build(task=task2, user=taskrun1.user) assert self.mock_authenticated.id == taskrun3.user.id assert_not_raises(Exception, getattr(require, 'taskrun').create, taskrun3)
def test_authenticated_user_create_first_taskrun(self): """Test authenticated user can create a taskrun for a given task if he hasn't already done it""" task = TaskFactory.create() taskrun = TaskRunFactory.build(task_id=task.id, user_id=self.mock_authenticated.id) assert self.mock_authenticated.id == taskrun.user_id, taskrun assert_not_raises(Exception, ensure_authorized_to, 'create', taskrun)
def test_authenticated_user_create_first_taskrun(self): """Test authenticated user can create a taskrun for a given task if he hasn't already done it""" task = TaskFactory.create() taskrun = TaskRunFactory.build(task_id=task.id, project_id=task.project_id, user_id=self.mock_authenticated.id) assert self.mock_authenticated.id == taskrun.user_id, taskrun assert_not_raises(Exception, ensure_authorized_to, 'create', taskrun)
def test_authenticated_user_create_repeated_taskrun(self): """Test authenticated user cannot create a taskrun for a task to which he has previously posted a taskrun""" with self.flask_app.test_request_context('/'): task = TaskFactory.create() taskrun1 = TaskRunFactory.create(task=task) taskrun2 = TaskRunFactory.build(task=task, user=taskrun1.user) assert self.mock_authenticated.id == taskrun1.user.id assert_raises(Forbidden, getattr(require, 'taskrun').create, taskrun2) # But the user can still create taskruns for different tasks task2 = TaskFactory.create(app=task.app) taskrun3 = TaskRunFactory.build(task=task2, user=taskrun1.user) assert self.mock_authenticated.id == taskrun3.user.id assert_not_raises(Exception, getattr(require, 'taskrun').create, taskrun3)
def test_authenticated_user_create_taskrun_non_allow_anonymous_contrib( self): """Test authenticated user can create a taskrun for a project that does not allow for anonymous contributors""" project = AppFactory.create(allow_anonymous_contributors=False) task = TaskFactory.create(app=project) taskrun = TaskRunFactory.build(task_id=task.id) assert_not_raises(Exception, getattr(require, 'taskrun').create, taskrun)
def test_authenticated_user_create_taskrun(self): """Test authenticated user can create a taskrun for a task even though he has posted taskruns for different tasks in the same project""" user = UserFactory.create_batch(2)[1] tasks = TaskFactory.create_batch(2) taskrun1 = TaskRunFactory.create(task=tasks[0], user=user) taskrun2 = TaskRunFactory.build(task_id=tasks[1].id, user_id=user.id) assert self.mock_authenticated.id == taskrun2.user_id assert_not_raises(Exception, ensure_authorized_to, 'create', taskrun2)