Example #1
0
    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)
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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_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"
Example #8
0
    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)
Example #9
0
    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)
Example #10
0
    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)
Example #11
0
    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)
Example #12
0
    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)
Example #13
0
    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)
Example #14
0
    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)
Example #15
0
    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)
Example #16
0
    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)
Example #17
0
    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)
Example #18
0
    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)
Example #19
0
    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)