Tests / apps/projects/tests.py
ProjectEditPage::test_invalid_form
First seen 2 years, 9 months ago in b9e98d9
CI
github-actions:test
5 runs
Average
77 ms
median 80 ms
max 96 ms
max 96 ms
Phases
Setup 19 ms
Call 58 ms
Teardown 0.20 ms
Categories
Database 44 ms
App code 2 ms
Other (Libraries, Templates, pytest, Unsampled) 32 ms
43 database queries per run
Needs 167 KB of memory (max 820 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, an hour ago ·
open run
setup18 ms22.8%
CallInfo.from_call_pytest/runner.py:35318 ms22.8%
call_and_report.<locals>.<lambda>_pytest/runner.py:24518 ms22.8%
HookCaller.__call__pluggy/_hooks.py:51218 ms22.8%
PluginManager._hookexecpluggy/_manager.py:12018 ms22.8%
_multicallpluggy/_callers.py:12118 ms22.8%
pytest_runtest_setup_pytest/runner.py:16518 ms22.8%
SetupState.setup_pytest/runner.py:52318 ms22.8%
TestCaseFunction.setup_pytest/unittest.py:22718 ms22.8%
Function.setup_pytest/python.py:172318 ms22.8%
TopRequest._fillfixtures_pytest/fixtures.py:70718 ms22.8%
FixtureRequest.getfixturevalue_pytest/fixtures.py:53918 ms22.8%
FixtureRequest._get_active_fixturedef_pytest/fixtures.py:62717 ms21.4%
FixtureDef.execute_pytest/fixtures.py:111017 ms21.4%
HookCaller.__call__pluggy/_hooks.py:51217 ms21.4%
PluginManager._hookexecpluggy/_manager.py:12017 ms21.4%
_multicallpluggy/_callers.py:12117 ms21.4%
pytest_fixture_setup_pytest/fixtures.py:120217 ms21.4%
call_fixture_func_pytest/fixtures.py:90817 ms21.4%
UnitTestCase._register_unittest_setup_class_fixture.<locals>.unittest_setup_class_fixture_pytest/unittest.py:15417 ms21.4%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()9 ms11.4%
TestCase._enter_atomicsdjango/test/testcases.py:13969 ms11.4%
Atomic.__enter__django/db/transaction.py:1989 ms11.4%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:4549 ms11.4%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:3039 ms11.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms11.4%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:2799 ms11.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms11.4%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2569 ms11.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms11.4%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:3339 ms11.4%
Connection.connectpsycopg/connection.py:1098 ms10.0%
wait_connpsycopg/waiting.py:1415 ms5.7%
EpollSelector.select<stdlib>/selectors.py:4525 ms5.7%
wait_connpsycopg/waiting.py:1453 ms4.3%
BaseConnection._connect_genpsycopg/_connection_base.py:4393 ms4.3%
Connection.connectpsycopg/connection.py:971 ms1.4%
Connection._get_connection_paramspsycopg/connection.py:1851 ms1.4%
conninfo_to_dictpsycopg/conninfo.py:821 ms1.4%
_parse_conninfopsycopg/conninfo.py:1011 ms1.4%
TestCase.setUpClassdjango/test/testcases.py:1439 cls.setUpTestData()8 ms10.0%
ProjectEditPage.setUpTestDataapps/projects/tests.py:1397 ms8.5%
make_projectapps/projects/testing.py:712 ms2.8%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(2 ms2.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.8%
QuerySet.get_or_createdjango/db/models/query.py:9871 ms1.4%
QuerySet.getdjango/db/models/query.py:6351 ms1.4%
QuerySet.__len__django/db/models/query.py:3721 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.4%
ModelIterable.__iter__django/db/models/query.py:951 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1001 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.4%
Cursor.executepsycopg/cursor.py:1131 ms1.4%
Connection.waitpsycopg/connection.py:4951 ms1.4%
QuerySet.get_or_createdjango/db/models/query.py:9941 ms1.4%
QuerySet.createdjango/db/models/query.py:6691 ms1.4%
Model.savedjango/db/models/base.py:8741 ms1.4%
Model.save_basedjango/db/models/base.py:9661 ms1.4%
Model._save_tabledjango/db/models/base.py:11671 ms1.4%
Model._do_insertdjango/db/models/base.py:12181 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.4%
QuerySet._insertdjango/db/models/query.py:19181 ms1.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1001 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.4%
Cursor.executepsycopg/cursor.py:1131 ms1.4%
Connection.waitpsycopg/connection.py:4951 ms1.4%
make_projectapps/projects/testing.py:621 ms1.4%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():1 ms1.4%
QuerySet.existsdjango/db/models/query.py:13371 ms1.4%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms1.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1001 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.4%
Cursor.executepsycopg/cursor.py:1131 ms1.4%
Connection.waitpsycopg/connection.py:4951 ms1.4%
make_projectapps/projects/testing.py:61 organization = Organization.objects.create(1 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.4%
QuerySet.createdjango/db/models/query.py:6691 ms1.4%
Model.savedjango/db/models/base.py:8741 ms1.4%
Model.save_basedjango/db/models/base.py:9661 ms1.4%
Model._save_tabledjango/db/models/base.py:11671 ms1.4%
Model._do_insertdjango/db/models/base.py:12181 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.4%
QuerySet._insertdjango/db/models/query.py:19181 ms1.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1001 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.4%
Cursor.executepsycopg/cursor.py:1131 ms1.4%
Connection.waitpsycopg/connection.py:4951 ms1.4%
make_projectapps/projects/testing.py:67 slug=unique_slug(name, organization.project_set.all(), fallback="project", reserved=RESERVED_PROJECT_SLUGS),1 ms1.4%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():1 ms1.4%
QuerySet.existsdjango/db/models/query.py:13371 ms1.4%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms1.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1001 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.4%
Cursor.executepsycopg/cursor.py:1131 ms1.4%
Connection.waitpsycopg/connection.py:4951 ms1.4%
make_projectapps/projects/testing.py:64 project = Project.objects.create(1 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.4%
QuerySet.createdjango/db/models/query.py:6691 ms1.4%
Model.savedjango/db/models/base.py:8741 ms1.4%
Model.save_basedjango/db/models/base.py:9661 ms1.4%
Model._save_tabledjango/db/models/base.py:11671 ms1.4%
Model._do_insertdjango/db/models/base.py:12181 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.4%
QuerySet._insertdjango/db/models/query.py:19181 ms1.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1001 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.4%
Cursor.executepsycopg/cursor.py:1131 ms1.4%
Connection.waitpsycopg/connection.py:4951 ms1.4%
ProjectEditPage.setUpTestDataapps/projects/tests.py:138 cls.user = User.objects.create_user("testuser")1 ms1.4%
UserManager.create_userdjango/contrib/auth/models.py:1751 ms1.4%
UserManager._create_userdjango/contrib/auth/models.py:1631 ms1.4%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:621 ms1.4%
Model.savedjango/db/models/base.py:8741 ms1.4%
Model.save_basedjango/db/models/base.py:9661 ms1.4%
Model._save_tabledjango/db/models/base.py:11671 ms1.4%
Model._do_insertdjango/db/models/base.py:12181 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.4%
QuerySet._insertdjango/db/models/query.py:19181 ms1.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1001 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.4%
Cursor.executepsycopg/cursor.py:1131 ms1.4%
Connection.waitpsycopg/connection.py:4951 ms1.4%
FixtureRequest._get_active_fixturedef_pytest/fixtures.py:6221 ms1.4%
call62 ms76.9%
CallInfo.from_call_pytest/runner.py:35362 ms76.9%
call_and_report.<locals>.<lambda>_pytest/runner.py:24562 ms76.9%
HookCaller.__call__pluggy/_hooks.py:51262 ms76.9%
PluginManager._hookexecpluggy/_manager.py:12062 ms76.9%
_multicallpluggy/_callers.py:12162 ms76.9%
pytest_runtest_call_pytest/runner.py:17962 ms76.9%
_django_setup_unittest.<locals>.non_debugging_runtestpytest_django/plugin.py:57362 ms76.9%
SimpleTestCase.__call__django/test/testcases.py:31362 ms76.9%
SimpleTestCase._setup_and_calldjango/test/testcases.py:36860 ms74.3%
TestCase.__call__<stdlib>/unittest/case.py:74760 ms74.3%
TestCase.run<stdlib>/unittest/case.py:69145 ms55.7%
TestCase._callTestMethod<stdlib>/unittest/case.py:63745 ms55.7%
ProjectEditPage.test_invalid_formapps/projects/tests.py:168 response = self.client.post(self.project.url("project_edit"), {"name": "", "slug": self.project.slug})45 ms55.7%
Client.postdjango/test/client.py:115345 ms55.7%
RequestFactory.postdjango/test/client.py:49945 ms55.7%
RequestFactory.genericdjango/test/client.py:67145 ms55.7%
Client.requestdjango/test/client.py:108245 ms55.7%
ClientHandler.__call__django/test/client.py:18626 ms31.8%
BaseHandler.get_responsedjango/core/handlers/base.py:14126 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms31.8%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13026 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms31.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30926 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms31.8%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12326 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms31.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30923 ms29.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5523 ms29.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30923 ms29.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5523 ms29.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30923 ms29.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5523 ms29.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30923 ms29.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5523 ms29.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30923 ms29.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5523 ms29.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30923 ms29.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5523 ms29.2%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3423 ms29.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5523 ms29.2%
BaseHandler._get_responsedjango/core/handlers/base.py:19823 ms29.2%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5921 ms26.5%
project_editapps/projects/urls.py:649 return render(request, "project.html", {**shell(request, project, "settings"), "form": form})13 ms15.9%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {9 ms10.6%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms2.7%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2222 ms2.7%
QuerySet.getdjango/db/models/query.py:6352 ms2.7%
QuerySet.__len__django/db/models/query.py:3722 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.7%
ModelIterable.__iter__django/db/models/query.py:952 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms2.7%
QuerySet.__iter__django/db/models/query.py:3902 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.7%
ModelIterable.__iter__django/db/models/query.py:952 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms2.7%
QuerySet.__iter__django/db/models/query.py:3902 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.7%
ModelIterable.__iter__django/db/models/query.py:952 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
org_shellapps/orgs/views.py:422 ms2.7%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()2 ms2.7%
QuerySet.existsdjango/db/models/query.py:13372 ms2.7%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.7%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
shellapps/projects/urls.py:732 ms2.7%
can_manageapps/projects/urls.py:442 ms2.7%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms2.7%
QuerySet.existsdjango/db/models/query.py:13372 ms2.7%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.7%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
renderdjango/shortcuts.py:252 ms2.7%
render_to_stringdjango/template/loader.py:622 ms2.7%
Template.renderdjango/template/backends/django.py:1072 ms2.7%
Template.renderdjango/template/base.py:1742 ms2.7%
instrumented_test_renderdjango/test/utils.py:1142 ms2.7%
NodeList.renderdjango/template/base.py:10912 ms2.7%
Node.render_annotateddjango/template/base.py:10522 ms2.7%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms2.7%
instrumented_test_renderdjango/test/utils.py:1142 ms2.7%
NodeList.renderdjango/template/base.py:10912 ms2.7%
Node.render_annotateddjango/template/base.py:10522 ms2.7%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms2.7%
instrumented_test_renderdjango/test/utils.py:1142 ms2.7%
NodeList.renderdjango/template/base.py:10912 ms2.7%
Node.render_annotateddjango/template/base.py:10522 ms2.7%
BlockNode.renderdjango/template/loader_tags.py:662 ms2.7%
NodeList.renderdjango/template/base.py:10912 ms2.7%
Node.render_annotateddjango/template/base.py:10522 ms2.7%
BlockNode.renderdjango/template/loader_tags.py:662 ms2.7%
NodeList.renderdjango/template/base.py:10912 ms2.7%
Node.render_annotateddjango/template/base.py:10522 ms2.7%
VariableNode.renderdjango/template/base.py:11502 ms2.7%
FilterExpression.resolvedjango/template/base.py:7882 ms2.7%
Variable.resolvedjango/template/base.py:9282 ms2.7%
Variable._resolve_lookupdjango/template/base.py:10002 ms2.7%
RenderableFormMixin.as_divdjango/forms/utils.py:992 ms2.7%
RenderableMixin.renderdjango/forms/utils.py:552 ms2.7%
BaseRenderer.renderdjango/forms/renderers.py:282 ms2.7%
EngineMixin.get_templatedjango/forms/renderers.py:342 ms2.7%
DjangoTemplates.get_templatedjango/template/backends/django.py:792 ms2.7%
Engine.get_templatedjango/template/engine.py:1862 ms2.7%
Engine.find_templatedjango/template/engine.py:1592 ms2.7%
Loader.get_templatedjango/template/loaders/cached.py:572 ms2.7%
Loader.get_templatedjango/template/loaders/base.py:282 ms2.7%
__init____init__:-12 ms2.7%
Template.__init__django/template/base.py:1572 ms2.7%
Template.compile_nodelistdjango/template/base.py:1992 ms2.7%
project_editapps/projects/urls.py:6436 ms8.0%
managed_projectapps/projects/urls.py:61 project = get_object_or_404(4 ms5.3%
get_object_or_404django/shortcuts.py:904 ms5.3%
QuerySet.getdjango/db/models/query.py:6354 ms5.3%
QuerySet.__len__django/db/models/query.py:3724 ms5.3%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms5.3%
ModelIterable.__iter__django/db/models/query.py:954 ms5.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms2.7%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms2.7%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms2.7%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3002 ms2.7%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12592 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
managed_projectapps/projects/urls.py:642 ms2.7%
can_manageapps/projects/urls.py:442 ms2.7%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms2.7%
QuerySet.existsdjango/db/models/query.py:13372 ms2.7%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.7%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
project_editapps/projects/urls.py:648 project.refresh_from_db() # an invalid form changed it in memory2 ms2.7%
Model.refresh_from_dbdjango/db/models/base.py:7582 ms2.7%
QuerySet.getdjango/db/models/query.py:6352 ms2.7%
QuerySet.__len__django/db/models/query.py:3722 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.7%
ModelIterable.__iter__django/db/models/query.py:952 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms2.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.7%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3202 ms2.7%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2982 ms2.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.7%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms2.7%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms2.7%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.7%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.7%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms2.7%
get_userdjango/contrib/auth/middleware.py:202 ms2.7%
get_userdjango/contrib/auth/__init__.py:3112 ms2.7%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms2.7%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms2.7%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.7%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.7%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.7%
QuerySet.getdjango/db/models/query.py:6252 ms2.7%
QuerySet.filterdjango/db/models/query.py:15422 ms2.7%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms2.7%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms2.7%
Query.add_qdjango/db/models/sql/query.py:16712 ms2.7%
Query._add_qdjango/db/models/sql/query.py:17032 ms2.7%
Query.build_filterdjango/db/models/sql/query.py:15542 ms2.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms2.7%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms2.7%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms2.7%
Atomic.__exit__django/db/transaction.py:2472 ms2.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.7%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms2.7%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
ClientHandler.__call__django/test/client.py:17319 ms23.9%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6219 ms23.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10417 ms21.2%
WhiteNoise.add_fileswhitenoise/base.py:10817 ms21.2%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12015 ms18.6%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13115 ms18.6%
WhiteNoise.get_static_filewhitenoise/base.py:20815 ms18.6%
StaticFile.__init__whitenoise/responders.py:776 ms8.0%
StaticFile.get_alternativeswhitenoise/responders.py:1982 ms2.7%
StaticFile.get_alternatives.<locals>.<lambda>whitenoise/responders.py:1982 ms2.7%
<GC>~2 ms2.7%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms2.7%
__init____init__:-12 ms2.7%
Headers.__init__<stdlib>/wsgiref/headers.py:362 ms2.7%
<GC>~2 ms2.7%
StaticFile.get_alternativeswhitenoise/responders.py:2012 ms2.7%
StaticFile.__init__whitenoise/responders.py:764 ms5.3%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1894 ms5.3%
StaticFile.__init__whitenoise/responders.py:722 ms2.7%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms2.7%
__init____init__:-12 ms2.7%
FileEntry.__init__whitenoise/responders.py:2602 ms2.7%
<GC>~2 ms2.7%
StaticFile.__init__whitenoise/responders.py:732 ms2.7%
StaticFile.get_headerswhitenoise/responders.py:1702 ms2.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms2.7%
scantreewhitenoise/base.py:2642 ms2.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1112 ms2.7%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms2.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms2.7%
TestCase.run<stdlib>/unittest/case.py:68715 ms18.6%
TestCase._callSetUp<stdlib>/unittest/case.py:63415 ms18.6%
ProjectEditPage.setUpapps/projects/tests.py:142 self.client.force_login(self.user)15 ms18.6%
ClientMixin.force_logindjango/test/client.py:85515 ms18.6%
ClientMixin._logindjango/test/client.py:8819 ms10.6%
logindjango/contrib/auth/__init__.py:1876 ms8.0%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4344 ms5.3%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms2.7%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms2.7%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms2.7%
QuerySet.existsdjango/db/models/query.py:13372 ms2.7%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.7%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms2.7%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms2.7%
Atomic.__exit__django/db/transaction.py:2472 ms2.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.7%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms2.7%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms2.7%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms2.7%
Model.deletedjango/db/models/base.py:12982 ms2.7%
Collector.deletedjango/db/models/deletion.py:4522 ms2.7%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:392 ms2.7%
Query.add_filterdjango/db/models/sql/query.py:16512 ms2.7%
Query.add_qdjango/db/models/sql/query.py:16712 ms2.7%
Query._add_qdjango/db/models/sql/query.py:17032 ms2.7%
Query.build_filterdjango/db/models/sql/query.py:15732 ms2.7%
logindjango/contrib/auth/__init__.py:1972 ms2.7%
Signal.senddjango/dispatch/dispatcher.py:2092 ms2.7%
update_last_logindjango/contrib/auth/models.py:242 ms2.7%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms2.7%
Model.savedjango/db/models/base.py:8742 ms2.7%
Model.save_basedjango/db/models/base.py:9662 ms2.7%
Model._save_tabledjango/db/models/base.py:11102 ms2.7%
Model._do_updatedjango/db/models/base.py:12112 ms2.7%
QuerySet._updatedjango/db/models/query.py:13272 ms2.7%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.7%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
ClientMixin._logindjango/test/client.py:8764 ms5.3%
ClientMixin.sessiondjango/test/client.py:8124 ms5.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms5.3%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms2.7%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms2.7%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms2.7%
QuerySet.existsdjango/db/models/query.py:13372 ms2.7%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.7%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms2.7%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms2.7%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms2.7%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.7%
Model.savedjango/db/models/base.py:8742 ms2.7%
Model.save_basedjango/db/models/base.py:9662 ms2.7%
Model._save_tabledjango/db/models/base.py:11672 ms2.7%
Model._do_insertdjango/db/models/base.py:12182 ms2.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.7%
QuerySet._insertdjango/db/models/query.py:19182 ms2.7%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms2.7%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms2.7%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms2.7%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms2.7%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms2.7%
ClientMixin._logindjango/test/client.py:8832 ms2.7%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.7%
Model.savedjango/db/models/base.py:8742 ms2.7%
Model.save_basedjango/db/models/base.py:9662 ms2.7%
Model._save_tabledjango/db/models/base.py:11102 ms2.7%
Model._do_updatedjango/db/models/base.py:12112 ms2.7%
QuerySet._updatedjango/db/models/query.py:13272 ms2.7%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.7%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms2.7%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms2.7%
SimpleTestCase._setup_and_calldjango/test/testcases.py:3712 ms2.7%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()2 ms2.7%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms2.7%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4832 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
Estimated from 45 samples; phase durations are exact. Frames from pytest and pluggy are
shown
.
Hot lines in your code
|
apps/projects/tests.py:168
response = self.client.post(self.project.url("project_edit"), {"name": "", "slug": self.project.slug})
ProjectEditPage.test_invalid_form
· Libraries
|
23 ms |
|
apps/projects/tests.py:142
self.client.force_login(self.user)
ProjectEditPage.setUp
· Database
|
15 ms |
|
apps/projects/urls.py:61
project = get_object_or_404(
managed_project
· Database
|
4 ms |
|
apps/projects/urls.py:40
return user.is_superuser or project.organization.membership_set.filter(user=user).exists()
can_manage_project
· Database
|
4 ms |
|
apps/orgs/models.py:46
while slug in reserved or taken.filter(slug=slug).exists():
unique_slug
· Database
|
2 ms |
|
apps/projects/testing.py:76
membership, _ = Membership.objects.get_or_create(
add_member
· Database
|
2 ms |
|
apps/projects/urls.py:648
project.refresh_from_db() # an invalid form changed it in memory
project_edit
· Database
|
2 ms |
|
apps/projects/urls.py:71
return org_shell(request, project.organization if project else None, section) | {
shell
· Database
|
2 ms |
|
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell
· Database
|
2 ms |
|
apps/orgs/views.py:40
"org_projects": list(organization.project_set.order_by("name")) if member else [],
org_shell
· Database
|
2 ms |
Fixtures
Exact setup time| _unittest_setUpClass_fixture_ProjectEditPage class | 17 ms |
| _django_setup_unittest class | 0.33 ms |
| _template_string_if_invalid_marker function | 0.06 ms |
| _django_db_marker function | 0.06 ms |
| _dj_autoclear_mailbox function | 0.04 ms |
| _django_set_urlconf function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| monkeypatch function | 0.03 ms |
| _django_clear_site_cache function | 0.03 ms |
Database
43 queries · 17 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
3×
SELECT "projects_project"."id", "projects_project"."organization_id", "projects_project"."name", "projects_project"."slug", "projects_project"."public", "projects_project"."description", "projects_project"."date_created", "projects_project"."date_updated", "projects_project"."created_by_id" FROM "p…
Biggest pieces of work
|
call test body
apps/projects/tests.py:168
|
45 ms |
|
setup setUpClass
django/test/testcases.py:1423
|
17 ms |
|
call setUp
apps/projects/tests.py:142
|
15 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
2 ms |
| setup pytest internals | 1 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 50 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| an hour ago | CI github-actions:test | passed | 80 ms | Profile |
| an hour ago | CI github-actions:test | passed | 79 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 96 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 46 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 84 ms | Profile |
| 2 years ago | CI github-actions | passed | 131 ms | Run |
| 2 years, 2 months ago | CI github-actions | passed | 128 ms | Run |
| 2 years, 3 months ago | CI github-actions | passed | 138 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 150 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 136 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 190 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 176 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 131 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 126 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 131 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 160 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 134 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 163 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 140 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 126 ms | Run |