def test_import_module_fail(self): """Test if importing malformed view modules fails properly.""" with self.assertRaises(AdminHttp404) as cm1: views.get_view_module_or_404(None) self.assertEqual(cm1.exception.message, "No category provided.") gib = gibberish() with self.assertRaises(AdminHttp404) as cm2: views.get_view_module_or_404(gib) with self.assertRaises(AdminHttp404) as cm3: views.get_json_view_or_404(gib) self.assertEqual(cm2.exception.message, "No category found with this name: %s" % gib) self.assertEqual(cm3.exception.message, "No category found with this name: %s" % gib)
def test_get_or_404(self): mod = views.get_view_module_or_404(self.current_view) self.assertIsNotNone(mod) get_model_or_404 = getattr(mod, 'get_%s_or_404' % self.current_view, None) self.assertIsNotNone(get_model_or_404) # Special handling for ips if self.current_view == 'ip': self.get_ip_or_404_helper(get_model_or_404) return model = getattr(self, self.current_view, None) self.assertIsNotNone(model) if hasattr(model, 'uuid'): returned_model = get_model_or_404(model.uuid) self.assertEqual(model, returned_model) with self.assertRaises(AdminHttp404): get_model_or_404(gibberish()) if hasattr(model, 'email'): returned_model = get_model_or_404(model.email) self.assertEqual(model, returned_model) with self.assertRaises(AdminHttp404): get_model_or_404(gibberish(like='email')) if hasattr(model, 'id'): returned_model = get_model_or_404(model.id) self.assertEqual(model, returned_model) with self.assertRaises(AdminHttp404): get_model_or_404(gibberish(like='number'))
def test_import_module_success(self): """Test if model view modules are imported successfully.""" mod = views.get_view_module_or_404(self.current_view) self.assertIsNotNone(mod) view = views.get_json_view_or_404(self.current_view) self.assertIsNotNone(view)