def test_grant_creator_access(self): """ Test for _grant_instructors_creator_access. """ [creator1, staff1] = self.create_course(1) [creator2, staff2] = self.create_course(2) with mock.patch.dict('django.conf.settings.MITX_FEATURES', {"ENABLE_CREATOR_GROUP": True}): # Initially no creators. self.assertFalse(is_user_in_creator_group(creator1)) self.assertFalse(is_user_in_creator_group(creator2)) self.assertFalse(is_user_in_creator_group(staff1)) self.assertFalse(is_user_in_creator_group(staff2)) admin = User.objects.create_user('populate_creators_command', '*****@*****.**', 'foo') admin.is_staff = True _grant_instructors_creator_access(admin) # Now instructors only are creators. self.assertTrue(is_user_in_creator_group(creator1)) self.assertTrue(is_user_in_creator_group(creator2)) self.assertFalse(is_user_in_creator_group(staff1)) self.assertFalse(is_user_in_creator_group(staff2))
def handle(self, *args, **options): """ The logic of the command. """ username = '******' email = '*****@*****.**' try: admin = User.objects.create_user(username, email, 'foo') admin.is_staff = True admin.save() except IntegrityError: # If the script did not complete the last time it was run, # the admin user will already exist. admin = User.objects.get(username=username, email=email) _grant_instructors_creator_access(admin) admin.delete()