def setUp(self):
     super(QuizAttemptResourceTest, self).setUp()
     self.username = '******'
     user = User.objects.get(username=self.username)
     api_key = get_api_key(user)
     self.api_key = api_key.key
     self.url = get_api_url('quizattempt')
 def setUp(self):
     super(TrackerResourceTest, self).setUp()
     self.username = '******'
     user = User.objects.get(username=self.username)
     api_key = get_api_key(user=user)
     self.api_key = api_key.key
     self.url = get_api_url('tracker')
Ejemplo n.º 3
0
 def test_post_not_allowed(self):
     self.username = '******'
     user = User.objects.get(username='******')
     api_key = get_api_key(user=user)
     self.api_key = api_key.key
     self.url = get_api_url('v2', 'points')
     self.assertHttpMethodNotAllowed(self.api_client.post(self.url,
                                                          format='json',
                                                          data={}))
Ejemplo n.º 4
0
 def test_dne_course_shortname_normal(self):
     tracker_count_start = Tracker.objects.all().count()
     resource_url = get_api_url('v2', 'course', 'does-not-exist') \
         + self.STR_DOWNLOAD
     response = self.api_client.get(
         resource_url, format='json', data=self.user_auth)
     self.assertEqual(response.status_code, 404)
     tracker_count_end = Tracker.objects.all().count()
     self.assertEqual(tracker_count_start, tracker_count_end)
Ejemplo n.º 5
0
 def setUp(self):
     super(AwardsResourceTest, self).setUp()
     user = User.objects.get(username='******')
     api_key = get_api_key(user=user)
     self.auth_data = {
         'username': '******',
         'api_key': api_key.key,
     }
     self.url = get_api_url('awards')
Ejemplo n.º 6
0
 def test_dne_course_teacher(self):
     tracker_count_start = Tracker.objects.all().count()
     resource_url = get_api_url('v2', 'course', 1123) + self.STR_DOWNLOAD
     response = self.api_client.get(resource_url,
                                    format='json',
                                    data=self.teacher_auth)
     self.assertEqual(response.status_code, 404)
     tracker_count_end = Tracker.objects.all().count()
     self.assertEqual(tracker_count_start, tracker_count_end)
Ejemplo n.º 7
0
 def setUp(self):
     super(AwardsResourceTest, self).setUp()
     user = User.objects.get(username='******')
     api_key = get_api_key(user=user)
     self.auth_data = {
         'username': '******',
         'api_key': api_key.key,
     }
     self.url = get_api_url('v1', 'awards')
Ejemplo n.º 8
0
 def test_archived_course_admin(self):
     tracker_count_start = Tracker.objects.all().count()
     update_course_visibility(1, False, True)
     resource_url = get_api_url('v2', 'course', 1) + self.STR_DOWNLOAD
     response = self.api_client.get(
         resource_url, format='json', data=self.admin_auth)
     self.assertEqual(response.status_code, 404)
     tracker_count_end = Tracker.objects.all().count()
     self.assertEqual(tracker_count_start, tracker_count_end)
Ejemplo n.º 9
0
 def test_get_points(self):
     auth_header = self.create_apikey(username="******",
                                      api_key="1234")
     self.url = get_api_url('v2', 'points')
     res = self.api_client.get(self.url,
                               format='json',
                               authentication=auth_header)
     self.assertHttpOK(res)
     self.assertValidJSON(res.content)
Ejemplo n.º 10
0
 def test_live_course_normal(self):
     tracker_count_start = Tracker.objects.all().count()
     resource_url = get_api_url('v1', 'course', 1) + self.STR_DOWNLOAD
     response = self.api_client.get(
         resource_url, format='json', data=self.user_auth)
     self.assertHttpOK(response)
     self.assertEqual(response['content-type'],
                      self.STR_ZIP_EXPECTED_CONTENT_TYPE)
     tracker_count_end = Tracker.objects.all().count()
     self.assertEqual(tracker_count_start, tracker_count_end)
Ejemplo n.º 11
0
 def test_archived_course_normal(self):
     tracker_count_start = Tracker.objects.all().count()
     update_course_status(1, CourseStatus.ARCHIVED)
     resource_url = get_api_url('v1', 'course', 1) + self.STR_DOWNLOAD
     response = self.api_client.get(
         resource_url, format='json', data=self.user_auth)
     self.assertEqual(response.status_code, 404)
     update_course_status(1, CourseStatus.LIVE)
     tracker_count_end = Tracker.objects.all().count()
     self.assertEqual(tracker_count_start, tracker_count_end)
 def setUpClass(cls):
     super(UserProfileBaseTestCase, cls).setUpClass()
     cls.username = '******'
     cls.user = User.objects.get(username=cls.username)
     cls.api_key = get_api_key(user=cls.user).key
     cls.base_data = {
         'email': '*****@*****.**',
         'first_name': 'demo',
         'last_name': 'user'
     }
     cls.url = get_api_url('v2', 'profileupdate')
Ejemplo n.º 13
0
 def test_course_get_single(self):
     resource_url = get_api_url('course', 1)
     resp = self.api_client.get(resource_url, format='json', data=self.auth_data)
     self.assertHttpOK(resp)
     self.assertValidJSON(resp.content)
     # check course format
     course = self.deserialize(resp)
     self.assertTrue('shortname' in course)
     self.assertTrue('title' in course)
     self.assertTrue('description' in course)
     self.assertTrue('version' in course)
Ejemplo n.º 14
0
    def test_course_shortname_get_multiple_found(self):
        # add a temp course with same shortname as another
        course = Course()
        course.shortname = 'anc1-all'
        course.version = 123456789
        course.save()

        resource_url = get_api_url('v2', 'course', 'anc1-all')
        resp = self.api_client.get(
            resource_url, format='json', data=self.user_auth)
        self.assertRaises(MultipleObjectsReturned)
        self.assertEqual(300, resp.status_code)
Ejemplo n.º 15
0
 def test_draft_course_admin(self):
     tracker_count_start = Tracker.objects.all().count()
     update_course_visibility(1, True, False)
     resource_url = get_api_url('v2', 'course', 1) + self.STR_DOWNLOAD
     response = self.api_client.get(
         resource_url, format='json', data=self.admin_auth)
     self.assertHttpOK(response)
     self.assertEqual(response['content-type'],
                      self.STR_ZIP_EXPECTED_CONTENT_TYPE)
     update_course_visibility(1, False, False)
     tracker_count_end = Tracker.objects.all().count()
     self.assertEqual(tracker_count_start+1, tracker_count_end)
Ejemplo n.º 16
0
 def test_get_apikeyinvalid(self):
     self.username = '******'
     user = User.objects.get(username='******')
     api_key = get_api_key(user=user)
     self.api_key = api_key.key
     self.url = get_api_url('v2', 'points')
     auth_header = self.create_apikey(username=self.username,
                                      api_key="badbadbad")
     self.assertHttpUnauthorized(
         self.api_client.get(self.url,
                             format='json',
                             authentication=auth_header))
Ejemplo n.º 17
0
 def test_draft_course_staff(self):
     tracker_count_start = Tracker.objects.all().count()
     update_course_status(1, CourseStatus.DRAFT)
     resource_url = get_api_url('v1', 'course', 1) + self.STR_DOWNLOAD
     response = self.api_client.get(
         resource_url, format='json', data=self.staff_auth)
     self.assertHttpOK(response)
     self.assertEqual(response['content-type'],
                      self.STR_ZIP_EXPECTED_CONTENT_TYPE)
     update_course_status(1, CourseStatus.LIVE)
     tracker_count_end = Tracker.objects.all().count()
     self.assertEqual(tracker_count_start, tracker_count_end)
Ejemplo n.º 18
0
 def setUp(self):
     super(ProfileUpdateResourceTest, self).setUp()
     self.username = '******'
     self.user = User.objects.get(username=self.username)
     self.api_key = get_api_key(user=self.user).key
     self.base_data = {
         'email': '*****@*****.**',
         'first_name': 'demo',
         'last_name': 'user',
         'organisation': ''
     }
     self.url = get_api_url('v1', 'profileupdate')
Ejemplo n.º 19
0
 def setUp(self):
     super(CourseResourceTest, self).setUp()
     user = User.objects.get(username='******')
     admin = User.objects.get(username='******')
     self.auth_data = {
         'username': '******',
         'api_key': get_api_key(user=user).key,
     }
     self.admin_auth = {
         'username': '******',
         'api_key': get_api_key(user=admin).key
     }
     self.url = get_api_url('course')
Ejemplo n.º 20
0
 def setUp(self):
     super(CourseResourceTest, self).setUp()
     user = User.objects.get(username='******')
     admin = User.objects.get(username='******')
     self.auth_data = {
         'username': '******',
         'api_key': get_api_key(user=user).key,
     }
     self.admin_auth = {
         'username': '******',
         'api_key': get_api_key(user=admin).key
     }
     self.url = get_api_url('course')
Ejemplo n.º 21
0
 def test_course_get_single(self):
     resource_url = get_api_url('course', 1)
     resp = self.api_client.get(resource_url,
                                format='json',
                                data=self.auth_data)
     self.assertHttpOK(resp)
     self.assertValidJSON(resp.content)
     # check course format
     course = self.deserialize(resp)
     self.assertTrue('shortname' in course)
     self.assertTrue('title' in course)
     self.assertTrue('description' in course)
     self.assertTrue('version' in course)
Ejemplo n.º 22
0
 def test_no_objects(self):
     user = User.objects.get(username='******')
     api_key = get_api_key(user=user)
     self.auth_data = {
         'username': '******',
         'api_key': api_key.key,
     }
     self.url = get_api_url('v2', 'awards')
     resp = self.api_client.get(self.url,
                                format='json',
                                data=self.auth_data)
     self.assertValidJSON(resp.content)
     self.assertEqual(len(self.deserialize(resp)['objects']), 0)
Ejemplo n.º 23
0
 def test_course_shortname_get_single_staff(self):
     resource_url = get_api_url('v2', 'course', 'anc1-all')
     resp = self.api_client.get(
         resource_url, format='json', data=self.staff_auth)
     self.assertHttpOK(resp)
     self.assertValidJSON(resp.content)
     # check course format
     course = self.deserialize(resp)
     self.assertTrue('shortname' in course)
     self.assertTrue('title' in course)
     self.assertTrue('description' in course)
     self.assertTrue('version' in course)
     self.assertTrue('author' in course)
     self.assertTrue('organisation' in course)
Ejemplo n.º 24
0
 def test_tag_list(self):
     resource_url = get_api_url('tag', 2)
     resp = self.api_client.get(resource_url, format='json', data=self.auth_data)
     self.assertHttpOK(resp)
     self.assertValidJSON(resp.content)
     response_data = self.deserialize(resp)
     self.assertTrue('courses' in response_data)
     self.assertTrue('count' in response_data)
     self.assertTrue('name' in response_data)
     self.assertEqual(len(response_data['courses']), response_data['count'])
     for course in response_data['courses']:
         self.assertTrue('shortname' in course)
         self.assertTrue('title' in course)
         self.assertTrue('url' in course)
         self.assertTrue('version' in course)
Ejemplo n.º 25
0
 def test_tag_list(self):
     resource_url = get_api_url('tag', 2)
     resp = self.api_client.get(resource_url, format='json', data=self.auth_data)
     self.assertHttpOK(resp)
     self.assertValidJSON(resp.content)
     response_data = self.deserialize(resp)
     self.assertTrue('courses' in response_data)
     self.assertTrue('count' in response_data)
     self.assertTrue('name' in response_data)
     self.assertEqual(len(response_data['courses']), response_data['count'])
     for course in response_data['courses']:
         self.assertTrue('shortname' in course)
         self.assertTrue('title' in course)
         self.assertTrue('url' in course)
         self.assertTrue('version' in course)
Ejemplo n.º 26
0
    def setUp(self):
        super(DraftCourseAccessTest, self).setUp()
        self.user = User.objects.get(username='******')
        self.admin = User.objects.get(username='******')
        self.staff = User.objects.get(username='******')
        self.teacher = User.objects.get(username='******')
        self.manager = User.objects.get(username='******')
        self.viewer = User.objects.get(username='******')
        self.user_auth = {
            'username': '******',
            'api_key': get_api_key(user=self.user).key,
        }
        self.admin_auth = {
            'username': '******',
            'api_key': get_api_key(user=self.admin).key
        }
        self.staff_auth = {
            'username': '******',
            'api_key': get_api_key(user=self.staff).key
        }
        self.teacher_auth = {
            'username': '******',
            'api_key': get_api_key(user=self.teacher).key
        }
        self.manager_auth = {
            'username': '******',
            'api_key': get_api_key(user=self.manager).key
        }
        self.viewer_auth = {
            'username': '******',
            'api_key': get_api_key(user=self.viewer).key
        }
        self.live_course_url_pk = get_api_url('v2', 'course', 1) \
            + self.STR_DOWNLOAD
        self.draft_course_url_pk = get_api_url('v2', 'course', 3) \
            + self.STR_DOWNLOAD
        self.live_course_url_shortname = get_api_url('v2',
                                                     'course',
                                                     'anc1-all') \
            + self.STR_DOWNLOAD
        self.draft_course_url_shortname = get_api_url('v2',
                                                      'course',
                                                      'draft-test') \
            + self.STR_DOWNLOAD
        self.tag_url = get_api_url('v2', 'tag')
        self.draft_tag_url = get_api_url('v2', 'tag', 8)
        self.live_tag_url = get_api_url('v2', 'tag', 1)

        self.copy_test_courses()
Ejemplo n.º 27
0
 def setUp(self):
     super(CourseResourceTest, self).setUp()
     user = User.objects.get(username='******')
     admin = User.objects.get(username='******')
     staff = User.objects.get(username='******')
     teacher = User.objects.get(username='******')
     self.user_auth = {
         'username': '******',
         'api_key': get_api_key(user=user).key,
     }
     self.admin_auth = {
         'username': '******',
         'api_key': get_api_key(user=admin).key
     }
     self.staff_auth = {
         'username': '******',
         'api_key': get_api_key(user=staff).key
     }
     self.teacher_auth = {
         'username': '******',
         'api_key': get_api_key(user=teacher).key
     }
     self.url = get_api_url('v1', 'course')
Ejemplo n.º 28
0
 def setUp(self):
     super(ProgressResourceTest, self).setUp()
     self.user = User.objects.get(username='******')
     self.admin = User.objects.get(username='******')
     self.staff = User.objects.get(username='******')
     self.teacher = User.objects.get(username='******')
     self.user_auth = {
         'username': '******',
         'api_key': get_api_key(user=self.user).key,
     }
     self.admin_auth = {
         'username': '******',
         'api_key': get_api_key(user=self.admin).key
     }
     self.staff_auth = {
         'username': '******',
         'api_key': get_api_key(user=self.staff).key
     }
     self.teacher_auth = {
         'username': '******',
         'api_key': get_api_key(user=self.teacher).key
     }
     self.url = get_api_url('v2', 'progress')
Ejemplo n.º 29
0
 def test_course_get_single_draft_admin_visible(self):
     resource_url = get_api_url('v1', 'course', 3)
     resp = self.api_client.get(
         resource_url, format='json', data=self.admin_auth)
     self.assertHttpOK(resp)
     self.assertValidJSON(resp.content)
Ejemplo n.º 30
0
 def test_course_get_single_draft_nonvisible(self):
     resource_url = get_api_url('v1', 'course', 3)
     resp = self.api_client.get(
         resource_url, format='json', data=self.user_auth)
     self.assertHttpNotFound(resp)
Ejemplo n.º 31
0
 def setUp(self):
     super(RegisterResourceTest, self).setUp()
     self.url = get_api_url('v2', 'register')
Ejemplo n.º 32
0
 def test_course_get_acitivity_draft_admin_visible(self):
     resource_url = get_api_url('course', 3) + 'activity/'
     resp = self.api_client.get(resource_url, format='json', data=self.admin_auth)
     self.assertHttpOK(resp)
Ejemplo n.º 33
0
 def test_course_get_activity_notfound(self):
     resource_url = get_api_url('v1', 'course', 999) + self.STR_ACTIVITY
     resp = self.api_client.get(
         resource_url, format='json', data=self.user_auth)
     self.assertHttpNotFound(resp)
Ejemplo n.º 34
0
 def test_tag_not_found(self):
     resource_url = get_api_url('tag', 999)
     resp = self.api_client.get(resource_url, format='json', data=self.auth_data)
     self.assertHttpNotFound(resp)
Ejemplo n.º 35
0
 def test_course_download_draft_nonvisible(self):
     resource_url = get_api_url('course', 3) + 'download/'
     resp = self.api_client.get(resource_url, format='json', data=self.auth_data)
     self.assertHttpNotFound(resp)
Ejemplo n.º 36
0
 def test_course_download_file_course_not_found(self):
     resource_url = get_api_url('course', 999) + 'download/'
     resp = self.api_client.get(resource_url, format='json', data=self.auth_data)
     self.assertHttpNotFound(resp)
Ejemplo n.º 37
0
 def test_course_download_file_course_not_found(self):
     resource_url = get_api_url('v1', 'course', 999) + self.STR_DOWNLOAD
     resp = self.api_client.get(
         resource_url, format='json', data=self.user_auth)
     self.assertHttpNotFound(resp)
Ejemplo n.º 38
0
 def test_course_download_draft_nonvisible(self):
     resource_url = get_api_url('v1', 'course', 3) + self.STR_DOWNLOAD
     resp = self.api_client.get(
         resource_url, format='json', data=self.user_auth)
     self.assertHttpNotFound(resp)
Ejemplo n.º 39
0
 def test_course_get_activity_notfound(self):
     resource_url = get_api_url('course', 999) + 'activity/'
     resp = self.api_client.get(resource_url, format='json', data=self.auth_data)
     self.assertHttpNotFound(resp)
Ejemplo n.º 40
0
 def test_course_get_activity_draft_admin_visible(self):
     resource_url = get_api_url('v1', 'course', 3) + self.STR_ACTIVITY
     resp = self.api_client.get(
         resource_url, format='json', data=self.admin_auth)
     self.assertHttpOK(resp)
Ejemplo n.º 41
0
 def test_delete_invalid(self):
     resource_url = get_api_url('quizattempt', 1192)
     self.assertHttpMethodNotAllowed(self.api_client.delete(resource_url, format='json'))
Ejemplo n.º 42
0
 def test_course_get_single_draft_admin_visible(self):
     resource_url = get_api_url('course', 3)
     resp = self.api_client.get(resource_url, format='json', data=self.admin_auth)
     self.assertHttpOK(resp)
     self.assertValidJSON(resp.content)
Ejemplo n.º 43
0
 def test_course_get_activity(self):
     resource_url = get_api_url('course', 1) + 'activity/'
     resp = self.api_client.get(resource_url, format='json', data=self.auth_data)
     self.assertHttpOK(resp)
Ejemplo n.º 44
0
 def perform_request(self, course_id, user, path=''):
     resource_url = get_api_url('v2', 'course', course_id) + path
     resp = self.api_client.get(resource_url, format='json', data=user)
     return resp
Ejemplo n.º 45
0
 def test_put_invalid(self):
     resource_url = get_api_url('tracker', 1)
     self.assertHttpMethodNotAllowed(self.api_client.put(resource_url))