def test_upload_wait_failed(self): fake_token = 'caisieJaiweixieremein2AiRie9ahl2' expected_course_id = 'course-v1:edX+DemoX+Demo_Course' expected_task_id = 'fd73c4bb-f1f1-4117-83db-f3cc571eca2a' post_uri = '%s/api/courses/v0/import/%s/' % (self.FAKE_CMS_URL, expected_course_id) get_uri = post_uri request_headers = { 'Authorization': 'JWT %s' % fake_token, } request_params = { 'task_id': expected_task_id, 'filename': self.local_demo_course_archive, } query = urlencode(request_params) helper = UploadHelper(self.FAKE_CMS_URL, self.local_demo_course_archive, fake_token) with requests_mock.Mocker() as m: m.register_uri('POST', post_uri, request_headers=request_headers, json={'task_id': expected_task_id}) m.register_uri('GET', '%s?%s' % (get_uri, query), request_headers=request_headers, json={'state': 'Failed'}) with self.assertRaises(UploadHelperException): helper.upload(wait=True)
def upload(self, url=None, file='archive.tar.gz', token=None, course_id=None, wait=False): helper = UploadHelper(url or os.getenv('OLX_CMS_URL'), archive=file, token=token or os.getenv('OLX_CMS_TOKEN'), course_id=course_id) return helper.upload(wait)
def test_upload_with_autodetected_course_id(self): fake_token = 'caisieJaiweixieremein2AiRie9ahl2' expected_course_id = 'course-v1:edX+DemoX+Demo_Course' expected_task_id = 'fd73c4bb-f1f1-4117-83db-f3cc571eca2a' post_uri = '%s/api/courses/v0/import/%s/' % (self.FAKE_CMS_URL, expected_course_id) helper = UploadHelper(self.FAKE_CMS_URL, self.local_demo_course_archive, fake_token) with requests_mock.Mocker() as m: m.register_uri('POST', post_uri, json={'task_id': expected_task_id}) task_id = helper.upload() self.assertTrue(m.called) self.assertEqual(task_id, expected_task_id)
def test_upload(self): token = 'caisieJaiweixieremein2AiRie9ahl2' course_id = 'course-v1:example+course+run' post_uri = '%s/api/courses/v0/import/%s/' % (self.FAKE_CMS_URL, course_id) expected_task_id = '01c47bac-89a5-41d0-a968-961dce5212f2' with NamedTemporaryFile() as archive: helper = UploadHelper(self.FAKE_CMS_URL, archive.name, token, course_id) with requests_mock.Mocker() as m: m.register_uri('POST', post_uri, json={'task_id': expected_task_id}) task_id = helper.upload() self.assertTrue(m.called) self.assertEqual(task_id, expected_task_id)