def test_nested_queries_disabled(self): with queries_disabled(): with self.assertRaises(QueriesDisabledError): Widget.objects.count() with queries_disabled(): with self.assertRaises(QueriesDisabledError): Widget.objects.count() with queries_disabled(): with self.assertRaises(QueriesDisabledError): Widget.objects.count() Widget.objects.count()
def test_sql_in_exception(self): queryset = Widget.objects.all() with queries_disabled(): try: fetch(queryset) except QueriesDisabledError as e: self.assertEqual(str(e), str(queryset.query))
def render(*args, **kwargs): """ Wrapper around Django's `render` shortcut that is not allowed to run database queries """ with queries_disabled(): response = django_render(*args, **kwargs) return response
def test_fetch_all(self): with queries_disabled(): widgets = Widget.objects.all() with self.assertRaises(QueriesDisabledError): fetch(widgets)
def test_outer_queries_enabled(self): # enabling queries should always enable them, and subsequent # calls to disable should do nothing with queries_dangerously_enabled(): with queries_disabled(): Widget.objects.count()
def test_queries_enabled(self): with queries_disabled(): with queries_dangerously_enabled(): Widget.objects.count()
def render(self, *args, **kwargs): with queries_disabled(): return super(RenderMixin, self).render(*args, **kwargs)
def data(self): with queries_disabled(): return super(QueriesDisabledSerializerMixin, self).data