def test_profiler_graph_error(): old_sys_executable = sys.executable sys.executable = 'does_not_exist' with pytest.raises(Exception) as e: middleware(staff_req('get', _iommi_prof='', graph='')) sys.executable = old_sys_executable assert str(e.value) == 'gprof2dot not found. Please install it to use the graph feature.'
def test_profiler_graph_dot_not_present(): import iommi.profiling orig = iommi.profiling._dot_search_paths[:] iommi.profiling._dot_search_paths[:] = ['does_not_exist'] response = middleware(staff_req('get', _iommi_prof='', graph='')) iommi.profiling._dot_search_paths[:] = orig assert response.content.decode().startswith('digraph {')
def test_bulk_edit_for_non_unique(settings): settings.ROOT_URLCONF = __name__ request = staff_req('get') p = Admin.list( request=request, app_name='tests', model_name='adminunique', parts__list_tests_adminunique__columns__foo__bulk__include=True, ) p = p.bind(request=request) assert [x._name for x in values(p.parts.list_tests_adminunique.columns) if x.bulk.include] == ['foo']
def test_create(mock_messages, settings): settings.ROOT_URLCONF = __name__ request = staff_req('get') c = Admin.create(request=request, app_name='tests', model_name='foo') p = c.bind(request=request) assert list(p.parts.create_tests_foo.fields.keys()) == ['foo'] assert Foo.objects.count() == 0 # Check access control for not logged in request = req('post', foo=7, **{'-submit': ''}) assert isinstance( Admin.create(request=request, app_name='tests', model_name='foo'), HttpResponseRedirect) assert Foo.objects.count() == 0 # Check access control for not staff request = user_req('post', foo=7, **{'-submit': ''}) with pytest.raises(Http404): Admin.create(request=request, app_name='tests', model_name='foo') # Now for real request = staff_req('post', foo=7, **{'-submit': ''}) c = Admin.create(request=request, app_name='tests', model_name='foo') p = c.bind(request=staff_req('post', foo=7, **{'-submit': ''})) assert p.parts.create_tests_foo.is_valid() p.render_to_response() assert Foo.objects.count() == 1 f = Foo.objects.get() assert f.foo == 7 mock_messages.add_message.assert_called_with(request, mock_messages.INFO, f'Foo {f} was created', fail_silently=True)
def test_edit(mock_messages, settings): settings.ROOT_URLCONF = __name__ request = staff_req('get') assert Foo.objects.count() == 0 f = Foo.objects.create(foo=7) c = Admin.edit(request=request, app_name='tests', model_name='foo', pk=f.pk) p = c.bind(request=req('post', foo=11, **{'-submit': ''})) assert p.parts.edit_tests_foo.is_valid() p.render_to_response() assert Foo.objects.get().foo == 11 mock_messages.add_message.assert_called_with( request, mock_messages.INFO, f'Foo {f} was updated', fail_silently=True )
def test_delete(mock_messages): request = staff_req('get') assert Foo.objects.count() == 0 f = Foo.objects.create(foo=7) c = Admin.delete(request=request, app_name='tests', model_name='foo', pk=f.pk) p = c.bind(request=req('post', **{'-submit': ''})) assert p.parts.delete_tests_foo.is_valid() p.render_to_response() assert Foo.objects.count() == 0 mock_messages.add_message.assert_called_with(request, mock_messages.INFO, f'Foo {f} was deleted', fail_silently=True)
def test_profiler_graph_dot_present(): if get_dot_path(): assert '<!DOCTYPE svg ' in middleware(staff_req('get', _iommi_prof='', graph='')).content.decode()
def test_profiler_plain(): middleware = Middleware(lambda request: sentinel) assert 'white-space: nowrap' in middleware(staff_req('get', _iommi_prof='')).content.decode()
def test_all_models(settings): settings.ROOT_URLCONF = __name__ request = staff_req('get') assert 'Authentication' in Admin.all_models(request=request).bind( request=request).render_to_response().content.decode()
def test_all_models(): request = staff_req('get') assert 'Authentication' in Admin.all_models(request=request).bind( request=request).render_to_response().content.decode()