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')
Example #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={}))
Example #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)
Example #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')
Example #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)
Example #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')
Example #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)
Example #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)
Example #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)
Example #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')
Example #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)
Example #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)
Example #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)
Example #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))
Example #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)
Example #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')
Example #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')
Example #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')
Example #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)
Example #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)
Example #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)
Example #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)
Example #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)
Example #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()
Example #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')
Example #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')
Example #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)
Example #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)
Example #31
0
 def setUp(self):
     super(RegisterResourceTest, self).setUp()
     self.url = get_api_url('v2', 'register')
Example #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)
Example #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)
Example #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)
Example #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)
Example #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)
Example #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)
Example #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)
Example #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)
Example #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)
 def test_delete_invalid(self):
     resource_url = get_api_url('quizattempt', 1192)
     self.assertHttpMethodNotAllowed(self.api_client.delete(resource_url, format='json'))
Example #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)
Example #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)
 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
 def test_put_invalid(self):
     resource_url = get_api_url('tracker', 1)
     self.assertHttpMethodNotAllowed(self.api_client.put(resource_url))