flakytest.dev anze3db flakytest
Tests / apps/projects/tests.py

ProjectCreatePage::test_first_project_is_onboarding

First seen 3 weeks ago in 78a4357
CI github-actions:test 12 runs
Average
83 ms
median 88 ms
max 108 ms
Phases
Setup 11 ms Call 72 ms Teardown 0.16 ms
Categories
Database 59 ms Test code 0.17 ms App code 0.16 ms Password hashing 0.09 ms Other (Libraries, Templates, pytest, Unsampled) 24 ms

56 database queries per run

Needs 126 KB of memory (max 380 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 16 hours ago · open run
Show pytest frames
setup10 ms11.9%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()9 ms10.7%
TestCase._enter_atomicsdjango/test/testcases.py:13969 ms10.7%
Atomic.__enter__django/db/transaction.py:1989 ms10.7%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:4549 ms10.7%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:3039 ms10.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms10.7%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:2799 ms10.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms10.7%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2569 ms10.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms10.7%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:3339 ms10.7%
Connection.connectpsycopg/connection.py:1099 ms10.7%
wait_connpsycopg/waiting.py:1455 ms5.9%
BaseConnection._connect_genpsycopg/_connection_base.py:4395 ms5.9%
wait_connpsycopg/waiting.py:1362 ms2.4%
BaseConnection._connect_genpsycopg/_connection_base.py:4392 ms2.4%
wait_connpsycopg/waiting.py:1412 ms2.4%
EpollSelector.select<stdlib>/selectors.py:4522 ms2.4%
TestCase.setUpClassdjango/test/testcases.py:1439 cls.setUpTestData()1 ms1.2%
ProjectCreatePage.setUpTestDataapps/projects/tests.py:2161 ms1.2%
UserManager.create_userdjango/contrib/auth/models.py:1751 ms1.2%
UserManager._create_userdjango/contrib/auth/models.py:1631 ms1.2%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:621 ms1.2%
Model.savedjango/db/models/base.py:8741 ms1.2%
Model.save_basedjango/db/models/base.py:9661 ms1.2%
Model._save_tabledjango/db/models/base.py:11671 ms1.2%
Model._do_insertdjango/db/models/base.py:12181 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet._insertdjango/db/models/query.py:19181 ms1.2%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
call77 ms87.9%
ProjectCreatePage.test_first_project_is_onboardingapps/projects/tests.py:228 response = self.client.get("/projects/create/", follow=True)45 ms51.8%
Client.getdjango/test/client.py:112432 ms36.1%
RequestFactory.getdjango/test/client.py:47532 ms36.1%
RequestFactory.genericdjango/test/client.py:67132 ms36.1%
Client.requestdjango/test/client.py:108232 ms36.1%
ClientHandler.__call__django/test/client.py:17326 ms29.3%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6226 ms29.3%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10426 ms29.3%
WhiteNoise.add_fileswhitenoise/base.py:10826 ms29.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12022 ms24.8%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13122 ms24.8%
WhiteNoise.get_static_filewhitenoise/base.py:20814 ms15.8%
StaticFile.__init__whitenoise/responders.py:744 ms4.5%
parsedate<stdlib>/email/_parseaddr.py:1852 ms2.3%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms2.3%
StaticFile.__init__whitenoise/responders.py:764 ms4.5%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1892 ms2.3%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms2.3%
Headers.get<stdlib>/wsgiref/headers.py:1042 ms2.3%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms2.3%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1882 ms2.3%
StaticFile.__init__whitenoise/responders.py:772 ms2.3%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms2.3%
StaticFile.__init__whitenoise/responders.py:722 ms2.3%
StaticFile.__init__whitenoise/responders.py:732 ms2.3%
StaticFile.get_headerswhitenoise/responders.py:1672 ms2.3%
WhiteNoise.get_static_filewhitenoise/base.py:2038 ms9.0%
WhiteNoise.add_cache_headerswhitenoise/base.py:2248 ms9.0%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1766 ms6.8%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1976 ms6.8%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms2.3%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2052 ms2.3%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1782 ms2.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1154 ms4.5%
scantreewhitenoise/base.py:2624 ms4.5%
scantreewhitenoise/base.py:2642 ms2.3%
scantreewhitenoise/base.py:2622 ms2.3%
scantreewhitenoise/base.py:2642 ms2.3%
ClientHandler.__call__django/test/client.py:1866 ms6.8%
BaseHandler.get_responsedjango/core/handlers/base.py:1416 ms6.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms6.8%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1306 ms6.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms6.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms6.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms6.8%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1236 ms6.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms6.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms6.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms6.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms6.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms6.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms6.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms6.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms6.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms6.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms6.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms6.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms6.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms6.8%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:346 ms6.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms6.8%
BaseHandler._get_responsedjango/core/handlers/base.py:1986 ms6.8%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:594 ms4.5%
<lambda>ft/urls.py:1724 ms4.5%
current_organizationapps/orgs/views.py:54 return ensure_organization(request.user)4 ms4.5%
ensure_organizationapps/orgs/models.py:126 membership = Membership.objects.filter(user=user).select_related("organization").order_by("id").first()2 ms2.3%
QuerySet.firstdjango/db/models/query.py:11452 ms2.3%
QuerySet.__iter__django/db/models/query.py:3902 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.3%
ModelIterable.__iter__django/db/models/query.py:952 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
ensure_organizationapps/orgs/models.py:1312 ms2.3%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():2 ms2.3%
QuerySet.existsdjango/db/models/query.py:13372 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms2.3%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms2.3%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.3%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.3%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms2.3%
get_userdjango/contrib/auth/middleware.py:202 ms2.3%
get_userdjango/contrib/auth/__init__.py:3112 ms2.3%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms2.3%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms2.3%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.3%
SessionStore.loaddjango/contrib/sessions/backends/db.py:562 ms2.3%
SessionBase.decodedjango/contrib/sessions/backends/base.py:1352 ms2.3%
loadsdjango/core/signing.py:1712 ms2.3%
Signer.unsign_objectdjango/core/signing.py:2442 ms2.3%
TimestampSigner.unsigndjango/core/signing.py:2682 ms2.3%
Signer.unsigndjango/core/signing.py:2122 ms2.3%
Signer.signaturedjango/core/signing.py:2022 ms2.3%
base64_hmacdjango/core/signing.py:1012 ms2.3%
salted_hmacdjango/utils/crypto.py:452 ms2.3%
Client.getdjango/test/client.py:113314 ms15.8%
Client._handle_redirectsdjango/test/client.py:138414 ms15.8%
ClientMixin._follow_redirectdjango/test/client.py:100214 ms15.8%
Client.getdjango/test/client.py:112414 ms15.8%
RequestFactory.getdjango/test/client.py:47514 ms15.8%
RequestFactory.genericdjango/test/client.py:67114 ms15.8%
Client.requestdjango/test/client.py:108214 ms15.8%
ClientHandler.__call__django/test/client.py:18614 ms15.8%
BaseHandler.get_responsedjango/core/handlers/base.py:14114 ms15.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms15.8%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13014 ms15.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms15.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms15.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms15.8%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12314 ms15.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms15.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30912 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30912 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30912 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30912 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30912 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30912 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3412 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
BaseHandler._get_responsedjango/core/handlers/base.py:19812 ms13.5%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5910 ms11.3%
project_createapps/orgs/views.py:126 first = not Project.objects.filter(organization__membership__user=request.user).exists()4 ms4.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet.filterdjango/db/models/query.py:15422 ms2.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms2.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms2.3%
Query.add_qdjango/db/models/sql/query.py:16712 ms2.3%
Query._add_qdjango/db/models/sql/query.py:17032 ms2.3%
Query.build_filterdjango/db/models/sql/query.py:15882 ms2.3%
Query.check_related_objectsdjango/db/models/sql/query.py:13972 ms2.3%
QuerySet.existsdjango/db/models/query.py:13372 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
project_createapps/orgs/views.py:1414 ms4.5%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
create_reverse_many_to_one_manager.<locals>.RelatedManager.get_querysetdjango/db/models/fields/related_descriptors.py:7572 ms2.3%
org_shellapps/orgs/views.py:422 ms2.3%
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.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet.filterdjango/db/models/query.py:15412 ms2.3%
QuerySet._not_support_combined_queriesdjango/db/models/query.py:20742 ms2.3%
QuerySet.querydjango/db/models/query.py:3062 ms2.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms2.3%
Query.add_qdjango/db/models/sql/query.py:16712 ms2.3%
Query._add_qdjango/db/models/sql/query.py:17032 ms2.3%
Query.build_filterdjango/db/models/sql/query.py:16072 ms2.3%
Query._get_coldjango/db/models/sql/query.py:4512 ms2.3%
project_createapps/orgs/views.py:137 return render(2 ms2.3%
renderdjango/shortcuts.py:252 ms2.3%
render_to_stringdjango/template/loader.py:622 ms2.3%
Template.renderdjango/template/backends/django.py:1072 ms2.3%
Template.renderdjango/template/base.py:1742 ms2.3%
instrumented_test_renderdjango/test/utils.py:1142 ms2.3%
NodeList.renderdjango/template/base.py:10912 ms2.3%
Node.render_annotateddjango/template/base.py:10522 ms2.3%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms2.3%
instrumented_test_renderdjango/test/utils.py:1142 ms2.3%
NodeList.renderdjango/template/base.py:10912 ms2.3%
Node.render_annotateddjango/template/base.py:10522 ms2.3%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms2.3%
instrumented_test_renderdjango/test/utils.py:1142 ms2.3%
NodeList.renderdjango/template/base.py:10912 ms2.3%
Node.render_annotateddjango/template/base.py:10522 ms2.3%
BlockNode.renderdjango/template/loader_tags.py:662 ms2.3%
NodeList.renderdjango/template/base.py:10912 ms2.3%
Node.render_annotateddjango/template/base.py:10522 ms2.3%
IfNode.renderdjango/template/defaulttags.py:3332 ms2.3%
NodeList.renderdjango/template/base.py:10912 ms2.3%
Node.render_annotateddjango/template/base.py:10522 ms2.3%
SimpleNode.renderdjango/template/library.py:3252 ms2.3%
heroicon_miniheroicons/templatetags/heroicons.py:182 ms2.3%
_render_iconheroicons/templatetags/heroicons.py:392 ms2.3%
_render_iconheroicons/__init__.py:632 ms2.3%
tostring<stdlib>/xml/etree/ElementTree.py:11062 ms2.3%
ElementTree.write<stdlib>/xml/etree/ElementTree.py:7432 ms2.3%
_namespaces<stdlib>/xml/etree/ElementTree.py:8582 ms2.3%
_namespaces.<locals>.add_qname<stdlib>/xml/etree/ElementTree.py:8392 ms2.3%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms2.3%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms2.3%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.3%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.3%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms2.3%
get_userdjango/contrib/auth/middleware.py:202 ms2.3%
get_userdjango/contrib/auth/__init__.py:3112 ms2.3%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms2.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms2.3%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms2.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.3%
Model.savedjango/db/models/base.py:8742 ms2.3%
Model.save_basedjango/db/models/base.py:9662 ms2.3%
Model._save_tabledjango/db/models/base.py:11102 ms2.3%
Model._do_updatedjango/db/models/base.py:12112 ms2.3%
QuerySet._updatedjango/db/models/query.py:13272 ms2.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
ProjectCreatePage.test_first_project_is_onboardingapps/projects/tests.py:235 response = self.client.post(12 ms13.5%
Client.postdjango/test/client.py:115312 ms13.5%
RequestFactory.postdjango/test/client.py:49912 ms13.5%
RequestFactory.genericdjango/test/client.py:67112 ms13.5%
Client.requestdjango/test/client.py:108212 ms13.5%
ClientHandler.__call__django/test/client.py:18612 ms13.5%
BaseHandler.get_responsedjango/core/handlers/base.py:14112 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13012 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30912 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12312 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30912 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30912 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30912 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30912 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30912 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30912 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3412 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5512 ms13.5%
BaseHandler._get_responsedjango/core/handlers/base.py:19812 ms13.5%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5910 ms11.3%
project_createapps/orgs/views.py:1354 ms4.5%
create_projectapps/orgs/views.py:111 project = Project.objects.create(2 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet.createdjango/db/models/query.py:6692 ms2.3%
Model.savedjango/db/models/base.py:8282 ms2.3%
Model._prepare_related_fields_for_savedjango/db/models/base.py:12472 ms2.3%
create_projectapps/orgs/views.py:117 project.secrettokens_set.create(token=secrets.token_hex(32))2 ms2.3%
create_reverse_many_to_one_manager.<locals>.RelatedManager.createdjango/db/models/fields/related_descriptors.py:8332 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet.createdjango/db/models/query.py:6692 ms2.3%
Model.savedjango/db/models/base.py:8742 ms2.3%
Model.save_basedjango/db/models/base.py:9662 ms2.3%
Model._save_tabledjango/db/models/base.py:11672 ms2.3%
Model._do_insertdjango/db/models/base.py:12182 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet._insertdjango/db/models/query.py:19182 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms2.3%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms2.3%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms2.3%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms2.3%
project_createapps/orgs/views.py:1252 ms2.3%
member_organizationapps/orgs/views.py:622 ms2.3%
Organization.is_memberapps/orgs/models.py:62 return user.is_authenticated and self.membership_set.filter(user=user).exists()2 ms2.3%
QuerySet.existsdjango/db/models/query.py:13372 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
project_createapps/orgs/views.py:126 first = not Project.objects.filter(organization__membership__user=request.user).exists()2 ms2.3%
QuerySet.existsdjango/db/models/query.py:13372 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
project_createapps/orgs/views.py:134 organization.save(update_fields=["name"])2 ms2.3%
Model.savedjango/db/models/base.py:8742 ms2.3%
Model.save_basedjango/db/models/base.py:9662 ms2.3%
Model._save_tabledjango/db/models/base.py:11102 ms2.3%
Model._do_updatedjango/db/models/base.py:12112 ms2.3%
QuerySet._updatedjango/db/models/query.py:13272 ms2.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms2.3%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms2.3%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.3%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.3%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms2.3%
get_userdjango/contrib/auth/middleware.py:202 ms2.3%
get_userdjango/contrib/auth/__init__.py:3112 ms2.3%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms2.3%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms2.3%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.3%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.3%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet.getdjango/db/models/query.py:6352 ms2.3%
QuerySet.__len__django/db/models/query.py:3722 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.3%
ModelIterable.__iter__django/db/models/query.py:952 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
ProjectCreatePage.setUpapps/projects/tests.py:219 self.client.force_login(self.user)10 ms11.3%
ClientMixin.force_logindjango/test/client.py:85510 ms11.3%
ClientMixin._logindjango/test/client.py:8764 ms4.5%
ClientMixin.sessiondjango/test/client.py:8124 ms4.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms4.5%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms2.3%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms2.3%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms2.3%
QuerySet.existsdjango/db/models/query.py:13372 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms2.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms2.3%
Atomic.__enter__django/db/transaction.py:2112 ms2.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.3%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms2.3%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
ClientMixin._logindjango/test/client.py:8814 ms4.5%
logindjango/contrib/auth/__init__.py:1872 ms2.3%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms2.3%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms2.3%
Model.deletedjango/db/models/base.py:12982 ms2.3%
Collector.deletedjango/db/models/deletion.py:4522 ms2.3%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:432 ms2.3%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:252 ms2.3%
Query.get_compilerdjango/db/models/sql/query.py:3692 ms2.3%
logindjango/contrib/auth/__init__.py:1972 ms2.3%
Signal.senddjango/dispatch/dispatcher.py:2092 ms2.3%
update_last_logindjango/contrib/auth/models.py:242 ms2.3%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms2.3%
Model.savedjango/db/models/base.py:8742 ms2.3%
Model.save_basedjango/db/models/base.py:9662 ms2.3%
Model._save_tabledjango/db/models/base.py:11102 ms2.3%
Model._do_updatedjango/db/models/base.py:12112 ms2.3%
QuerySet._updatedjango/db/models/query.py:13272 ms2.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
ClientMixin._logindjango/test/client.py:8832 ms2.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.3%
Model.savedjango/db/models/base.py:8742 ms2.3%
Model.save_basedjango/db/models/base.py:9662 ms2.3%
Model._save_tabledjango/db/models/base.py:11102 ms2.3%
Model._do_updatedjango/db/models/base.py:12112 ms2.3%
QuerySet._updatedjango/db/models/query.py:13272 ms2.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
TransactionTestCase._pre_setupdjango/test/testcases.py:1164 cls._fixture_setup()2 ms2.3%
TestCase._fixture_setupdjango/test/testcases.py:14782 ms2.3%
TestCase._enter_atomicsdjango/test/testcases.py:13962 ms2.3%
Atomic.__enter__django/db/transaction.py:2112 ms2.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.3%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms2.3%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
ProjectCreatePage.test_first_project_is_onboardingapps/projects/tests.py:229 organization = Membership.objects.get(user=self.user).organization2 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet.getdjango/db/models/query.py:6352 ms2.3%
QuerySet.__len__django/db/models/query.py:3722 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.3%
ModelIterable.__iter__django/db/models/query.py:952 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
ProjectCreatePage.test_first_project_is_onboardingapps/projects/tests.py:231 self.assertRedirects(response, reverse("project_create", args=["ada"]))2 ms2.3%
ProjectCreatePage.test_first_project_is_onboardingapps/projects/tests.py:2392 ms2.3%
Project.urlapps/projects/models.py:59 return reverse(name, args=[self.organization.slug, self.slug, *args])2 ms2.3%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms2.3%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2222 ms2.3%
QuerySet.getdjango/db/models/query.py:6352 ms2.3%
QuerySet.__len__django/db/models/query.py:3722 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.3%
ModelIterable.__iter__django/db/models/query.py:952 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
ProjectCreatePage.test_first_project_is_onboardingapps/projects/tests.py:2422 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet.existsdjango/db/models/query.py:13372 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
Estimated from 49 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/projects/tests.py:228
response = self.client.get("/projects/create/", follow=True)
ProjectCreatePage.test_first_project_is_onboarding · Libraries
32 ms
apps/projects/tests.py:219
self.client.force_login(self.user)
ProjectCreatePage.setUp · Database
10 ms
apps/orgs/views.py:126
first = not Project.objects.filter(organization__membership__user=request.user).exists()
project_create · Database
6 ms
apps/orgs/models.py:126
membership = Membership.objects.filter(user=user).select_related("organization").order_by("id").first()
ensure_organization · Database
2 ms
apps/orgs/models.py:46
while slug in reserved or taken.filter(slug=slug).exists():
unique_slug · 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
apps/orgs/models.py:65
return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()
Organization.is_owner · Database
2 ms
apps/orgs/views.py:137
return render(
project_create · Templates
2 ms
apps/projects/tests.py:229
organization = Membership.objects.get(user=self.user).organization
ProjectCreatePage.test_first_project_is_onboarding · Database
2 ms
apps/projects/tests.py:231
self.assertRedirects(response, reverse("project_create", args=["ada"]))
ProjectCreatePage.test_first_project_is_onboarding · Test code
2 ms

Fixtures

Exact setup time
_unittest_setUpClass_fixture_ProjectCreatePage class 9 ms
_django_setup_unittest class 0.27 ms
_django_db_marker function 0.06 ms
_template_string_if_invalid_marker function 0.04 ms
_dj_autoclear_mailbox function 0.04 ms
_django_set_urlconf function 0.03 ms
_live_server_helper function 0.03 ms
_django_clear_site_cache function 0.02 ms
monkeypatch function 0.02 ms

Database

56 queries · 19 ms

Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).

4×
SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."expire_date" > %s AND "django_session"."session_key" = %s) LIMIT ?
3×
SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user" WHERE "a…
3×
SELECT %s AS "a" FROM "orgs_membership" WHERE ("orgs_membership"."organization_id" = %s AND "orgs_membership"."role" = %s AND "orgs_membership"."user_id" = %s) LIMIT ?

Biggest pieces of work

call test body
apps/projects/tests.py:228
65 ms
setup setUpClass
django/test/testcases.py:1423
10 ms
call setUp
apps/projects/tests.py:219
10 ms
call _pre_setup
django/test/testcases.py:1164
2 ms

Reliability

12 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 12 results, oldest first in the strip
When Environment Outcome Duration Commit
16 hours ago CI github-actions:test passed 87 ms e141198 main Profile
1 week, 5 days ago CI github-actions:test passed 53 ms 46ec2aa main Profile
2 weeks, 1 day ago CI github-actions:test passed 86 ms afde85b main Profile
2 weeks, 1 day ago CI github-actions:test passed 82 ms fe29f9d main Profile
2 weeks, 1 day ago CI github-actions:test passed 108 ms 044719a main Profile
2 weeks, 2 days ago CI github-actions:test passed 67 ms b3fedae main Profile
2 weeks, 4 days ago CI github-actions:test passed 91 ms 43c4eda main Profile
2 weeks, 6 days ago CI github-actions:test passed 91 ms 9caa567 main Profile
2 weeks, 6 days ago CI github-actions:test passed 88 ms ec75501 main Profile
3 weeks ago CI github-actions:test passed 102 ms d2c12e5 main Profile
3 weeks ago CI github-actions:test passed 56 ms 0b902f6 main Profile
3 weeks ago CI github-actions:test passed 91 ms 78a4357 main Profile