def test_join_groups(self): mixin = LTIAuthMixin() ctx = LTICourseContextFactory() user = UserFactory() self.request.user = user mixin.join_groups(self.request, self.lti, ctx) self.assertTrue(user in ctx.group.user_set.all()) self.assertTrue(user in ctx.faculty_group.user_set.all())
def test_get(self): ctx = LTICourseContextFactory(group=self.course.group, faculty_group=self.course.faculty_group) url = reverse('lti-course-select', args=[ctx.lms_course_context]) self.client.login(username=self.faculty.username, password='******') response = self.client.get(url, follow=True) self.assertEqual(response.status_code, 200) self.assertEqual(response.context['course'], self.course)
def test_embed(self): with self.settings(PYLTI_CONFIG={'consumers': CONSUMERS}, LTI_EXTRA_PARAMETERS=['lti_version'], LTI_TOOL_CONFIGURATION=TEST_LTI_TOOL_CONFIGURATION): ctx = LTICourseContextFactory() request = generate_lti_request(ctx, 'canvas', 'embed') view = LTIRoutingView() view.request = request response = view.dispatch(request) self.assertEquals(response.status_code, 302) self.assertEquals( response.url, 'http://testserver/asset/embed/?return_url=/asset/' '<i_version=LTI-1p0&') self.assertIsNotNone(request.session[LTI_SESSION_KEY]) user = request.user self.assertFalse(user.has_usable_password()) self.assertEquals(user.email, '*****@*****.**') self.assertEquals(user.get_full_name(), 'Foo Baz') self.assertTrue(user in ctx.group.user_set.all()) self.assertTrue(user in ctx.faculty_group.user_set.all())