def test_course_constructor_course_id_no_branch(self): testurn = 'mit.eecs.6002x' testobj = CourseLocator(course_id=testurn) self.check_course_locn_fields(testobj, 'course_id', course_id=testurn) self.assertEqual(testobj.course_id, testurn) self.assertEqual(str(testobj), testurn) self.assertEqual(testobj.url(), 'edx://' + testurn)
def test_course_constructor_course_id_no_branch(self): testurn = "mit.eecs.6002x" testobj = CourseLocator(course_id=testurn) self.check_course_locn_fields(testobj, "course_id", course_id=testurn) self.assertEqual(testobj.course_id, testurn) self.assertEqual(str(testobj), testurn) self.assertEqual(testobj.url(), "edx://" + testurn)
def test_course_constructor_package_id_no_branch(self): testurn = 'mit.eecs.6002x' testobj = CourseLocator(package_id=testurn) self.check_course_locn_fields(testobj, 'package_id', package_id=testurn) self.assertEqual(testobj.package_id, testurn) self.assertEqual(str(testobj), testurn) self.assertEqual(testobj.url(), 'edx://' + testurn)
def test_course_constructor_course_id_no_revision(self): testurn = 'edu.mit.eecs.6002x' testobj = CourseLocator(course_id=testurn) self.check_course_locn_fields(testobj, 'course_id', course_id=testurn) self.assertEqual(testobj.course_id, testurn) self.assertEqual(str(testobj), testurn) self.assertEqual(testobj.url(), 'edx://' + testurn)
def test_course_constructor_version_guid(self): # generate a random location test_id_1 = ObjectId() test_id_1_loc = str(test_id_1) testobj_1 = CourseLocator(version_guid=test_id_1) self.check_course_locn_fields(testobj_1, 'version_guid', version_guid=test_id_1) self.assertEqual(str(testobj_1.version_guid), test_id_1_loc) self.assertEqual(str(testobj_1), VERSION_PREFIX + test_id_1_loc) self.assertEqual(testobj_1.url(), 'edx://' + VERSION_PREFIX + test_id_1_loc) # Test using a given string test_id_2_loc = '519665f6223ebd6980884f2b' test_id_2 = ObjectId(test_id_2_loc) testobj_2 = CourseLocator(version_guid=test_id_2) self.check_course_locn_fields(testobj_2, 'version_guid', version_guid=test_id_2) self.assertEqual(str(testobj_2.version_guid), test_id_2_loc) self.assertEqual(str(testobj_2), VERSION_PREFIX + test_id_2_loc) self.assertEqual(testobj_2.url(), 'edx://' + VERSION_PREFIX + test_id_2_loc)
def test_course_constructor_version_guid(self): # generate a random location test_id_1 = ObjectId() test_id_1_loc = str(test_id_1) testobj_1 = CourseLocator(version_guid=test_id_1) self.check_course_locn_fields(testobj_1, 'version_guid', version_guid=test_id_1) self.assertEqual(str(testobj_1.version_guid), test_id_1_loc) self.assertEqual(str(testobj_1), URL_VERSION_PREFIX + test_id_1_loc) self.assertEqual(testobj_1.url(), 'edx://' + URL_VERSION_PREFIX + test_id_1_loc) # Test using a given string test_id_2_loc = '519665f6223ebd6980884f2b' test_id_2 = ObjectId(test_id_2_loc) testobj_2 = CourseLocator(version_guid=test_id_2) self.check_course_locn_fields(testobj_2, 'version_guid', version_guid=test_id_2) self.assertEqual(str(testobj_2.version_guid), test_id_2_loc) self.assertEqual(str(testobj_2), URL_VERSION_PREFIX + test_id_2_loc) self.assertEqual(testobj_2.url(), 'edx://' + URL_VERSION_PREFIX + test_id_2_loc)
def test_course_constructor_course_id_separate_branch(self): test_id = "mit.eecs.6002x" test_branch = "published" expected_urn = "mit.eecs.6002x" + BRANCH_PREFIX + "published" testobj = CourseLocator(course_id=test_id, branch=test_branch) self.check_course_locn_fields(testobj, "course_id with separate branch", course_id=test_id, branch=test_branch) self.assertEqual(testobj.course_id, test_id) self.assertEqual(testobj.branch, test_branch) self.assertEqual(str(testobj), expected_urn) self.assertEqual(testobj.url(), "edx://" + expected_urn)
def test_course_constructor_course_id_separate_branch(self): test_id = 'mit.eecs.6002x' test_branch = 'published' expected_urn = 'mit.eecs.6002x' + BRANCH_PREFIX + 'published' testobj = CourseLocator(course_id=test_id, branch=test_branch) self.check_course_locn_fields(testobj, 'course_id with separate branch', course_id=test_id, branch=test_branch, ) self.assertEqual(testobj.course_id, test_id) self.assertEqual(testobj.branch, test_branch) self.assertEqual(str(testobj), expected_urn) self.assertEqual(testobj.url(), 'edx://' + expected_urn)
def test_course_constructor_package_id_separate_branch(self): test_id = 'mit.eecs.6002x' test_branch = 'published' expected_urn = 'mit.eecs.6002x/' + BRANCH_PREFIX + 'published' testobj = CourseLocator(package_id=test_id, branch=test_branch) self.check_course_locn_fields(testobj, 'package_id with separate branch', package_id=test_id, branch=test_branch, ) self.assertEqual(testobj.package_id, test_id) self.assertEqual(testobj.branch, test_branch) self.assertEqual(str(testobj), expected_urn) self.assertEqual(testobj.url(), 'edx://' + expected_urn)
def test_course_constructor_course_id_separate_revision(self): test_id = 'edu.mit.eecs.6002x' test_revision = 'published' expected_urn = 'edu.mit.eecs.6002x;published' testobj = CourseLocator(course_id=test_id, revision=test_revision) self.check_course_locn_fields(testobj, 'course_id with separate revision', course_id=test_id, revision=test_revision, ) self.assertEqual(testobj.course_id, test_id) self.assertEqual(testobj.revision, test_revision) self.assertEqual(str(testobj), expected_urn) self.assertEqual(testobj.url(), 'edx://' + expected_urn)
def test_course_constructor_course_id_with_branch(self): testurn = 'mit.eecs.6002x/' + BRANCH_PREFIX + 'published' expected_id = 'mit.eecs.6002x' expected_branch = 'published' testobj = CourseLocator(course_id=testurn) self.check_course_locn_fields(testobj, 'course_id with branch', course_id=expected_id, branch=expected_branch, ) self.assertEqual(testobj.course_id, expected_id) self.assertEqual(testobj.branch, expected_branch) self.assertEqual(str(testobj), testurn) self.assertEqual(testobj.url(), 'edx://' + testurn)
def test_course_constructor_package_id_with_branch(self): testurn = 'mit.eecs.6002x/' + BRANCH_PREFIX + 'published' expected_id = 'mit.eecs.6002x' expected_branch = 'published' testobj = CourseLocator(package_id=testurn) self.check_course_locn_fields( testobj, 'package_id with branch', package_id=expected_id, branch=expected_branch, ) self.assertEqual(testobj.package_id, expected_id) self.assertEqual(testobj.branch, expected_branch) self.assertEqual(str(testobj), testurn) self.assertEqual(testobj.url(), 'edx://' + testurn)
def test_course_constructor_course_id_separate_revision(self): test_id = 'edu.mit.eecs.6002x' test_revision = 'published' expected_urn = 'edu.mit.eecs.6002x;published' testobj = CourseLocator(course_id=test_id, revision=test_revision) self.check_course_locn_fields( testobj, 'course_id with separate revision', course_id=test_id, revision=test_revision, ) self.assertEqual(testobj.course_id, test_id) self.assertEqual(testobj.revision, test_revision) self.assertEqual(str(testobj), expected_urn) self.assertEqual(testobj.url(), 'edx://' + expected_urn)
def test_course_constructor_course_id_repeated_branch(self): """ The same branch appears in the course_id and the branch field. """ test_id = "mit.eecs.6002x" + BRANCH_PREFIX + "published" test_branch = "published" expected_id = "mit.eecs.6002x" expected_urn = test_id testobj = CourseLocator(course_id=test_id, branch=test_branch) self.check_course_locn_fields( testobj, "course_id with repeated branch", course_id=expected_id, branch=test_branch ) self.assertEqual(testobj.course_id, expected_id) self.assertEqual(testobj.branch, test_branch) self.assertEqual(str(testobj), expected_urn) self.assertEqual(testobj.url(), "edx://" + expected_urn)
def test_course_constructor_course_id_repeated_revision(self): """ The same revision appears in the course_id and the revision field. """ test_id = 'edu.mit.eecs.6002x;published' test_revision = 'published' expected_id = 'edu.mit.eecs.6002x' expected_urn = 'edu.mit.eecs.6002x;published' testobj = CourseLocator(course_id=test_id, revision=test_revision) self.check_course_locn_fields(testobj, 'course_id with repeated revision', course_id=expected_id, revision=test_revision, ) self.assertEqual(testobj.course_id, expected_id) self.assertEqual(testobj.revision, test_revision) self.assertEqual(str(testobj), expected_urn) self.assertEqual(testobj.url(), 'edx://' + expected_urn)
def test_course_constructor_package_id_repeated_branch(self): """ The same branch appears in the package_id and the branch field. """ test_id = 'mit.eecs.6002x/' + BRANCH_PREFIX + 'published' test_branch = 'published' expected_id = 'mit.eecs.6002x' expected_urn = test_id testobj = CourseLocator(package_id=test_id, branch=test_branch) self.check_course_locn_fields(testobj, 'package_id with repeated branch', package_id=expected_id, branch=test_branch, ) self.assertEqual(testobj.package_id, expected_id) self.assertEqual(testobj.branch, test_branch) self.assertEqual(str(testobj), expected_urn) self.assertEqual(testobj.url(), 'edx://' + expected_urn)
def test_course_constructor_course_id_repeated_branch(self): """ The same branch appears in the course_id and the branch field. """ test_id = 'mit.eecs.6002x' + BRANCH_PREFIX + 'published' test_branch = 'published' expected_id = 'mit.eecs.6002x' expected_urn = test_id testobj = CourseLocator(course_id=test_id, branch=test_branch) self.check_course_locn_fields(testobj, 'course_id with repeated branch', course_id=expected_id, branch=test_branch, ) self.assertEqual(testobj.course_id, expected_id) self.assertEqual(testobj.branch, test_branch) self.assertEqual(str(testobj), expected_urn) self.assertEqual(testobj.url(), 'edx://' + expected_urn)
def test_course_constructor_course_id_repeated_revision(self): """ The same revision appears in the course_id and the revision field. """ test_id = 'edu.mit.eecs.6002x;published' test_revision = 'published' expected_id = 'edu.mit.eecs.6002x' expected_urn = 'edu.mit.eecs.6002x;published' testobj = CourseLocator(course_id=test_id, revision=test_revision) self.check_course_locn_fields( testobj, 'course_id with repeated revision', course_id=expected_id, revision=test_revision, ) self.assertEqual(testobj.course_id, expected_id) self.assertEqual(testobj.revision, test_revision) self.assertEqual(str(testobj), expected_urn) self.assertEqual(testobj.url(), 'edx://' + expected_urn)
def test_url(self): ''' Ensure CourseLocator generates expected urls. ''' raise SkipTest() testobj = CourseLocator(version_guid='versionid') self.assertEqual(testobj.url(), 'cvx/versionid', 'versionid') self.assertEqual(testobj, CourseLocator(testobj.url()), 'versionid conversion through url') testobj = CourseLocator(course_id='courseid') self.assertEqual(testobj.url(), 'crx/courseid', 'courseid') self.assertEqual(testobj, CourseLocator(testobj.url()), 'courseid conversion through url') testobj = CourseLocator(course_id='courseid', revision='rev') self.assertEqual(testobj.url(), 'crx/courseid@rev', 'rev') self.assertEqual(testobj, CourseLocator(testobj.url()), 'rev conversion through url')