Exemple #1
0
 def test_non_leader_can_not_send_post_request(self):
     data = {'team': self.team}
     request = make_mock_object(user=self.competitor,
                                method='POST',
                                data=data)
     self.assertFalse(
         self.permission.has_permission(request=request, view=None))
Exemple #2
0
class TasksTests(TestCase):

    @skip("Don't want to test")
    def setUp(self):
        self.student = StudentFactory()
        self.course = CourseFactory()

        self.language = ProgrammingLanguageFactory(name='Python')
        self.task = TaskFactory(course=self.course)
        self.test = SourceCodeTest.objects.create(task=self.task,
                                                  language=self.language,
                                                  code='import this')
        self.solution = SolutionFactory(student=self.student,
                                        task=self.task,
                                        status=Solution.SUBMITED)

    @mock.patch('requests.post',
                return_value=make_mock_object(status_code=202,
                                              json=lambda: {'run_id': faker.pyint()},
                                              headers={'Location': faker.url()}))
    @skip("Don't want to test")
    @mock.patch('loki.education.tasks.poll_solution', side_effect=lambda *args, **kwargs: None)
    def test_submit_solution_submits_the_solution(self, poll_solution, requests_post):
        submit_solution.delay(self.solution.id)

        self.solution.refresh_from_db()
        self.assertEqual(Solution.PENDING, self.solution.status)

        self.assertTrue(requests_post.called)
Exemple #3
0
    def test_competitor_cannot_change_other_season_competitor_info_data(self):
        other_sci = SeasonCompetitorInfoFactory()

        request = make_mock_object(user=self.competitor, method='PATCH')
        self.assertFalse(
            self.permission.has_object_permission(request=request,
                                                  view=None,
                                                  obj=other_sci))
Exemple #4
0
    def test_team_leader_can_update_team(self):
        self.team_membership.is_leader = True
        self.team_membership.save()

        request = make_mock_object(user=self.competitor, method='PATCH')
        self.assertTrue(
            self.permission.has_object_permission(request=request,
                                                  view=None,
                                                  obj=self.team))
Exemple #5
0
    def test_competitor_can_change_his_season_competitor_info_data(self):
        self.sci.looking_for_team = True
        self.sci.refresh_from_db()

        request = make_mock_object(user=self.competitor, method='PATCH')
        self.assertTrue(
            self.permission.has_object_permission(request=request,
                                                  view=None,
                                                  obj=self.sci))
Exemple #6
0
    def test_leader_can_delete(self):
        self.team_membership.is_leader = True
        self.team_membership.save()

        request = make_mock_object(user=self.competitor, method='DELETE')
        self.assertTrue(
            self.permission.has_object_permission(request=request,
                                                  view=None,
                                                  obj=self.team_membership))
Exemple #7
0
    def test_leader_can_post(self):
        self.team_membership.is_leader = True
        self.team_membership.save()
        data = {'team': self.team}

        request = make_mock_object(user=self.competitor,
                                   method='POST',
                                   data=data)
        self.assertTrue(
            self.permission.has_permission(request=request, view=None))
Exemple #8
0
 def test_non_team_leader_can_not_update_team(self):
     request = make_mock_object(user=self.competitor, method='PATCH')
     self.assertFalse(
         self.permission.has_object_permission(request=request,
                                               view=None,
                                               obj=self.team))
Exemple #9
0
 def test_non_team_leader_can_read(self):
     request = make_mock_object(user=self.competitor, method='GET')
     self.assertTrue(
         self.permission.has_object_permission(request=request,
                                               view=None,
                                               obj=self.team))
Exemple #10
0
 def test_hackfmi_user_can__access(self):
     user = CompetitorFactory()
     request = make_mock_object(user=user)
     self.assertTrue(
         self.permission.has_permission(request=request, view=None))
Exemple #11
0
 def test_non_hackfmi_user_can_not_access(self):
     user = BaseUserFactory()
     request = make_mock_object(user=user)
     self.assertFalse(
         self.permission.has_permission(request=request, view=None))
Exemple #12
0
 def test_non_leader_can_not_delete(self):
     request = make_mock_object(user=self.competitor, method='DELETE')
     self.assertFalse(
         self.permission.has_object_permission(request=request,
                                               view=None,
                                               obj=self.team_membership))
Exemple #13
0
 def test_non_leader_can_send_post_request(self):
     request = make_mock_object(user=self.competitor, method='POST')
     self.assertTrue(
         self.permission.has_object_permission(request=request,
                                               view=None,
                                               obj=self.team_membership))
Exemple #14
0
 def test_non_leader_can_get_view(self):
     request = make_mock_object(user=self.competitor, method='GET')
     self.assertTrue(
         self.permission.has_permission(request=request, view=None))