def test_launch_invalid_course(self): with self.settings(PYLTI_CONFIG={'consumers': CONSUMERS}): request = generate_lti_request() response = LTIRoutingView().dispatch(request) self.assertEquals(response.status_code, 200) self.assertContains(response, 'Course Configuration')
def test_launch_invalid_user(self): request = generate_lti_request() response = LTIRoutingView().dispatch(request) self.assertEquals(response.status_code, 200) self.assertTrue('Authentication Failed' in response.content) self.assertFalse(request.session[LTI_SESSION_KEY])
def test_launch_invalid_user(self): request = generate_lti_request() response = LTIRoutingView().dispatch(request) self.assertEquals(response.status_code, 200) self.assertContains(response, 'Authentication Failed') self.assertFalse(request.session[LTI_SESSION_KEY])
def test_launch_invalid_course(self): with self.settings(PYLTI_CONFIG={'consumers': CONSUMERS}): request = generate_lti_request() response = LTIRoutingView().dispatch(request) self.assertEquals(response.status_code, 200) self.assertTrue('Course Configuration' in response.content)
def test_verify_any(self): lti = LTI('any', 'any') request = generate_lti_request() with self.settings(PYLTI_CONFIG={'consumers': CONSUMERS}): # test_verify_request lti.verify(request) self.assertTrue(request.session[LTI_SESSION_KEY]) # test_verify_session self.assertTrue(lti.verify(request))
def test_launch_custom_landing_page(self): with self.settings(PYLTI_CONFIG={'consumers': CONSUMERS}): ctx = LTICourseContextFactory(enable=True) request = generate_lti_request(ctx, 'canvas') view = LTIRoutingView() view.request = request response = view.dispatch(request) self.assertEquals(response.status_code, 302) self.assertTrue(response.url.endswith('landing/')) 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())
def test_launch(self): with self.settings(PYLTI_CONFIG={'consumers': CONSUMERS}, LTI_EXTRA_PARAMETERS=['lti_version']): ctx = LTICourseContextFactory(enable=True) request = generate_lti_request(ctx) view = LTIRoutingView() view.request = request response = view.dispatch(request) self.assertEquals(response.status_code, 302) self.assertEquals( response.url, '/?lti_version=LTI-1p0&'.format(ctx.uuid)) 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())
def test_launch_custom_landing_page(self): with self.settings(PYLTI_CONFIG={'consumers': CONSUMERS}, LTI_EXTRA_PARAMETERS=['lti_version']): ctx = LTICourseContextFactory() request = generate_lti_request(ctx, 'canvas') view = LTIRoutingView() view.request = request response = view.dispatch(request) landing = 'http://testserver/lti/landing/{}/?lti_version=LTI-1p0&' self.assertEquals(response.status_code, 302) self.assertTrue( response.url, landing.format(ctx.lms_course_context)) 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())
def test_embed(self): with self.settings(PYLTI_CONFIG={'consumers': CONSUMERS}, LTI_EXTRA_PARAMETERS=['lti_version']): 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())
def test_verify_request(self): with self.settings(PYLTI_CONFIG={'consumers': CONSUMERS}): request = generate_lti_request() lti = LTI('initial', 'any') lti.verify(request) self.assertTrue(request.session[LTI_SESSION_KEY])