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

AccessTest::test_members_see_every_project_of_the_organization

First seen 7 hours ago in 78a4357
CI github-actions:test 5 runs
Average
109 ms
median 113 ms
max 138 ms
Phases
Setup 18 ms Call 91 ms Teardown 0.17 ms
Categories
Database 51 ms Other (Templates, Libraries, Serialization, pytest, ...) 58 ms

54 database queries per run

Needs 164 KB of memory (max 292 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 16 minutes ago · open run
Show pytest frames
setup18 ms15.8%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()9 ms7.9%
TestCase._enter_atomicsdjango/test/testcases.py:13969 ms7.9%
Atomic.__enter__django/db/transaction.py:1989 ms7.9%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:4549 ms7.9%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:3039 ms7.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms7.9%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:2799 ms7.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms7.9%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2569 ms7.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms7.9%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:3339 ms7.9%
Connection.connectpsycopg/connection.py:1099 ms7.9%
wait_connpsycopg/waiting.py:1416 ms4.9%
EpollSelector.select<stdlib>/selectors.py:4526 ms4.9%
wait_connpsycopg/waiting.py:1453 ms3.0%
BaseConnection._connect_genpsycopg/_connection_base.py:4393 ms3.0%
TestCase.setUpClassdjango/test/testcases.py:1439 cls.setUpTestData()7 ms5.9%
OrganizationTestCase.setUpTestDataapps/orgs/tests.py:582 ms2.0%
make_projectapps/projects/testing.py:67 slug=unique_slug(name, organization.project_set.all(), fallback="project", reserved=RESERVED_PROJECT_SLUGS),2 ms2.0%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():2 ms2.0%
QuerySet.existsdjango/db/models/query.py:13372 ms2.0%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.0%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.0%
Cursor.executepsycopg/cursor.py:1132 ms2.0%
Connection.waitpsycopg/connection.py:4952 ms2.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms1.0%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms1.0%
PostgresClientQuery.convertpsycopg/_queries.py:2841 ms1.0%
_query2pg_client_nocachepsycopg/_queries.py:3291 ms1.0%
_split_querypsycopg/_queries.py:4251 ms1.0%
OrganizationTestCase.setUpTestDataapps/orgs/tests.py:52 cls.owner = User.objects.create_user("owner", email="[email protected]")1 ms1.0%
UserManager.create_userdjango/contrib/auth/models.py:1751 ms1.0%
UserManager._create_userdjango/contrib/auth/models.py:1631 ms1.0%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:621 ms1.0%
Model.savedjango/db/models/base.py:8741 ms1.0%
Model.save_basedjango/db/models/base.py:9661 ms1.0%
Model._save_tabledjango/db/models/base.py:11671 ms1.0%
Model._do_insertdjango/db/models/base.py:12181 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet._insertdjango/db/models/query.py:19181 ms1.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
OrganizationTestCase.setUpTestDataapps/orgs/tests.py:53 cls.member = User.objects.create_user("member", email="[email protected]")1 ms1.0%
UserManager.create_userdjango/contrib/auth/models.py:1751 ms1.0%
UserManager._create_userdjango/contrib/auth/models.py:1631 ms1.0%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:621 ms1.0%
Model.savedjango/db/models/base.py:8741 ms1.0%
Model.save_basedjango/db/models/base.py:9661 ms1.0%
Model._save_tabledjango/db/models/base.py:11671 ms1.0%
Model._do_insertdjango/db/models/base.py:12181 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet._insertdjango/db/models/query.py:19181 ms1.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
OrganizationTestCase.setUpTestDataapps/orgs/tests.py:55 cls.organization = Organization.objects.create(name="Acme", slug="acme")1 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet.createdjango/db/models/query.py:6671 ms1.0%
Model.__init__django/db/models/base.py:5691 ms1.0%
OrganizationTestCase.setUpTestDataapps/orgs/tests.py:57 cls.membership = Membership.objects.create(organization=cls.organization, user=cls.member)1 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet.createdjango/db/models/query.py:6691 ms1.0%
Model.savedjango/db/models/base.py:8741 ms1.0%
Model.save_basedjango/db/models/base.py:9661 ms1.0%
Model._save_tabledjango/db/models/base.py:11671 ms1.0%
Model._do_insertdjango/db/models/base.py:12181 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet._insertdjango/db/models/query.py:19181 ms1.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
__init____init__:-11 ms1.0%
signature<stdlib>/inspect.py:33401 ms1.0%
Signature.from_callable<stdlib>/inspect.py:30551 ms1.0%
call95 ms84.0%
AccessTest.test_members_see_every_project_of_the_organizationapps/orgs/tests.py:64 self.assertEqual(self.client.get(self.project.url()).status_code, 200)59 ms51.8%
Client.getdjango/test/client.py:112459 ms51.8%
RequestFactory.getdjango/test/client.py:47559 ms51.8%
RequestFactory.genericdjango/test/client.py:67159 ms51.8%
Client.requestdjango/test/client.py:108259 ms51.8%
ClientHandler.__call__django/test/client.py:18636 ms32.2%
BaseHandler.get_responsedjango/core/handlers/base.py:14136 ms32.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5536 ms32.2%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13036 ms32.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5536 ms32.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30936 ms32.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5536 ms32.2%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12336 ms32.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5536 ms32.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30932 ms28.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms28.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30932 ms28.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms28.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30932 ms28.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms28.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30932 ms28.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms28.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30932 ms28.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms28.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30932 ms28.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms28.6%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3432 ms28.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms28.6%
BaseHandler._get_responsedjango/core/handlers/base.py:19832 ms28.6%
project_dashboardapps/projects/urls.py:138 return render(request, "project_setup.html", context)24 ms21.4%
renderdjango/shortcuts.py:2524 ms21.4%
render_to_stringdjango/template/loader.py:6222 ms19.7%
Template.renderdjango/template/backends/django.py:10722 ms19.7%
Template.renderdjango/template/base.py:17422 ms19.7%
instrumented_test_renderdjango/test/utils.py:11422 ms19.7%
NodeList.renderdjango/template/base.py:109122 ms19.7%
Node.render_annotateddjango/template/base.py:105222 ms19.7%
ExtendsNode.renderdjango/template/loader_tags.py:16022 ms19.7%
instrumented_test_renderdjango/test/utils.py:11422 ms19.7%
NodeList.renderdjango/template/base.py:109122 ms19.7%
Node.render_annotateddjango/template/base.py:105222 ms19.7%
ExtendsNode.renderdjango/template/loader_tags.py:16022 ms19.7%
instrumented_test_renderdjango/test/utils.py:11422 ms19.7%
NodeList.renderdjango/template/base.py:109122 ms19.7%
Node.render_annotateddjango/template/base.py:105222 ms19.7%
BlockNode.renderdjango/template/loader_tags.py:6622 ms19.7%
NodeList.renderdjango/template/base.py:109122 ms19.7%
Node.render_annotateddjango/template/base.py:105222 ms19.7%
BlockNode.renderdjango/template/loader_tags.py:6622 ms19.7%
NodeList.renderdjango/template/base.py:109122 ms19.7%
Node.render_annotateddjango/template/base.py:105222 ms19.7%
SimpleNode.renderdjango/template/library.py:32520 ms17.9%
heroicon_miniheroicons/templatetags/heroicons.py:1820 ms17.9%
_render_iconheroicons/templatetags/heroicons.py:3920 ms17.9%
_render_iconheroicons/__init__.py:4520 ms17.9%
_load_iconheroicons/__init__.py:1820 ms17.9%
ZipFile.__init__<stdlib>/zipfile/__init__.py:150520 ms17.9%
ZipFile._RealGetContents<stdlib>/zipfile/__init__.py:16184 ms3.6%
ZipFile._RealGetContents<stdlib>/zipfile/__init__.py:15994 ms3.6%
ZipFile._RealGetContents<stdlib>/zipfile/__init__.py:16132 ms1.8%
ZipFile._RealGetContents<stdlib>/zipfile/__init__.py:16062 ms1.8%
Codec.decode<stdlib>/encodings/cp437.py:142 ms1.8%
<GC>~2 ms1.8%
ZipFile._RealGetContents<stdlib>/zipfile/__init__.py:16092 ms1.8%
ZipFile._RealGetContents<stdlib>/zipfile/__init__.py:16082 ms1.8%
ZipFile._RealGetContents<stdlib>/zipfile/__init__.py:16142 ms1.8%
ZipFile._RealGetContents<stdlib>/zipfile/__init__.py:16012 ms1.8%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.8%
NodeList.renderdjango/template/base.py:10912 ms1.8%
Node.render_annotateddjango/template/base.py:10522 ms1.8%
WithNode.renderdjango/template/defaulttags.py:5792 ms1.8%
FilterExpression.resolvedjango/template/base.py:7882 ms1.8%
Variable.resolvedjango/template/base.py:9282 ms1.8%
Variable._resolve_lookupdjango/template/base.py:10002 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.firstdjango/db/models/query.py:11452 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ModelIterable.__iter__django/db/models/query.py:952 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.8%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.8%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.8%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.8%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3622 ms1.8%
Expression.__hash__django/db/models/expressions.py:5622 ms1.8%
cached_property.__get__django/utils/functional.py:472 ms1.8%
Expression.identitydjango/db/models/expressions.py:5432 ms1.8%
render_to_stringdjango/template/loader.py:612 ms1.8%
get_templatedjango/template/loader.py:152 ms1.8%
DjangoTemplates.get_templatedjango/template/backends/django.py:792 ms1.8%
Engine.get_templatedjango/template/engine.py:1862 ms1.8%
Engine.find_templatedjango/template/engine.py:1592 ms1.8%
Loader.get_templatedjango/template/loaders/cached.py:572 ms1.8%
Loader.get_templatedjango/template/loaders/base.py:282 ms1.8%
__init____init__:-12 ms1.8%
Template.__init__django/template/base.py:1572 ms1.8%
Template.compile_nodelistdjango/template/base.py:1992 ms1.8%
Parser.parsedjango/template/base.py:5832 ms1.8%
do_extendsdjango/template/loader_tags.py:3052 ms1.8%
construct_relative_pathdjango/template/loader_tags.py:2552 ms1.8%
project_dashboardapps/projects/urls.py:1324 ms3.6%
find_projectapps/projects/urls.py:49 project = get_object_or_404(2 ms1.8%
get_object_or_404django/shortcuts.py:902 ms1.8%
QuerySet.getdjango/db/models/query.py:6352 ms1.8%
QuerySet.__len__django/db/models/query.py:3722 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ModelIterable.__iter__django/db/models/query.py:952 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
find_projectapps/projects/urls.py:522 ms1.8%
can_viewapps/projects/urls.py:332 ms1.8%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:2 ms1.8%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms1.8%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms1.8%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms1.8%
get_userdjango/contrib/auth/middleware.py:202 ms1.8%
get_userdjango/contrib/auth/__init__.py:3112 ms1.8%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms1.8%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms1.8%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms1.8%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms1.8%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.getdjango/db/models/query.py:6352 ms1.8%
QuerySet.__len__django/db/models/query.py:3722 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ModelIterable.__iter__django/db/models/query.py:952 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
project_dashboardapps/projects/urls.py:1354 ms3.6%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {4 ms3.6%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))4 ms3.6%
QuerySet.__iter__django/db/models/query.py:3904 ms3.6%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms3.6%
ModelIterable.__iter__django/db/models/query.py:1272 ms1.8%
ModelIterable.__iter__django/db/models/query.py:952 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16622 ms1.8%
cursor_iterdjango/db/models/sql/compiler.py:22542 ms1.8%
cursor_iter.<locals>.<lambda>django/db/models/sql/compiler.py:22542 ms1.8%
DatabaseErrorWrapper.__call__.<locals>.innerdjango/db/utils.py:1012 ms1.8%
Cursor.fetchmanypsycopg/cursor.py:2682 ms1.8%
BaseTzLoader.loaddjango/db/backends/postgresql/psycopg_any.py:342 ms1.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3114 ms3.6%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:594 ms3.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1264 ms3.6%
Atomic.__enter__django/db/transaction.py:2112 ms1.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.8%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.8%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
Atomic.__exit__django/db/transaction.py:2472 ms1.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.8%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.8%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
ClientHandler.__call__django/test/client.py:17322 ms19.7%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6222 ms19.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10422 ms19.7%
WhiteNoise.add_fileswhitenoise/base.py:10822 ms19.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12018 ms16.1%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13118 ms16.1%
WhiteNoise.get_static_filewhitenoise/base.py:20812 ms10.7%
StaticFile.__init__whitenoise/responders.py:738 ms7.1%
StaticFile.get_headerswhitenoise/responders.py:1766 ms5.4%
formatdate<stdlib>/email/utils.py:2666 ms5.4%
StaticFile.get_headerswhitenoise/responders.py:1782 ms1.8%
StaticFile.__init__whitenoise/responders.py:762 ms1.8%
WhiteNoise.get_static_filewhitenoise/base.py:2036 ms5.4%
WhiteNoise.add_cache_headerswhitenoise/base.py:2246 ms5.4%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1766 ms5.4%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1976 ms5.4%
URLMixin.urldebug_toolbar/panels/staticfiles.py:204 ms3.6%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2054 ms3.6%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1844 ms3.6%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5342 ms1.8%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1154 ms3.6%
scantreewhitenoise/base.py:2624 ms3.6%
scantreewhitenoise/base.py:2624 ms3.6%
scantreewhitenoise/base.py:2622 ms1.8%
scantreewhitenoise/base.py:2622 ms1.8%
scantreewhitenoise/base.py:2622 ms1.8%
scantreewhitenoise/base.py:2602 ms1.8%
scantreewhitenoise/base.py:2642 ms1.8%
AccessTest.test_members_see_every_project_of_the_organizationapps/orgs/tests.py:65 response = self.client.get(reverse("org_projects", args=["acme"]))22 ms19.7%
Client.getdjango/test/client.py:112422 ms19.7%
RequestFactory.getdjango/test/client.py:47522 ms19.7%
RequestFactory.genericdjango/test/client.py:67122 ms19.7%
Client.requestdjango/test/client.py:108222 ms19.7%
ClientHandler.__call__django/test/client.py:18622 ms19.7%
BaseHandler.get_responsedjango/core/handlers/base.py:14122 ms19.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5522 ms19.7%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13022 ms19.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5522 ms19.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30922 ms19.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5522 ms19.7%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12322 ms19.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5522 ms19.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30920 ms17.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5520 ms17.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30920 ms17.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5520 ms17.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30920 ms17.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5520 ms17.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30920 ms17.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5520 ms17.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30920 ms17.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5520 ms17.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30920 ms17.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5520 ms17.9%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3420 ms17.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5520 ms17.9%
BaseHandler._get_responsedjango/core/handlers/base.py:19820 ms17.9%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5916 ms14.3%
org_projectsapps/orgs/views.py:97 return render(request, "org.html", {**org_shell(request, organization, "projects"), "cards": cards})10 ms8.9%
renderdjango/shortcuts.py:258 ms7.1%
render_to_stringdjango/template/loader.py:614 ms3.6%
get_templatedjango/template/loader.py:154 ms3.6%
DjangoTemplates.get_templatedjango/template/backends/django.py:794 ms3.6%
Engine.get_templatedjango/template/engine.py:1864 ms3.6%
Engine.find_templatedjango/template/engine.py:1594 ms3.6%
Loader.get_templatedjango/template/loaders/cached.py:574 ms3.6%
Loader.get_templatedjango/template/loaders/base.py:284 ms3.6%
__init____init__:-14 ms3.6%
Template.__init__django/template/base.py:1574 ms3.6%
Template.compile_nodelistdjango/template/base.py:1902 ms1.8%
DebugLexer.tokenizedjango/template/base.py:4952 ms1.8%
Lexer.create_tokendjango/template/base.py:4562 ms1.8%
Template.compile_nodelistdjango/template/base.py:1992 ms1.8%
Parser.parsedjango/template/base.py:5832 ms1.8%
do_extendsdjango/template/loader_tags.py:3072 ms1.8%
Parser.parsedjango/template/base.py:5832 ms1.8%
do_blockdjango/template/loader_tags.py:2352 ms1.8%
Parser.parsedjango/template/base.py:5832 ms1.8%
do_ifdjango/template/defaulttags.py:9942 ms1.8%
Parser.parsedjango/template/base.py:5832 ms1.8%
do_fordjango/template/defaulttags.py:8942 ms1.8%
Parser.parsedjango/template/base.py:5832 ms1.8%
do_withdjango/template/defaulttags.py:16792 ms1.8%
Parser.parsedjango/template/base.py:5832 ms1.8%
do_ifdjango/template/defaulttags.py:9942 ms1.8%
Parser.parsedjango/template/base.py:5832 ms1.8%
do_ifdjango/template/defaulttags.py:9942 ms1.8%
Parser.parsedjango/template/base.py:5542 ms1.8%
Parser.compile_filterdjango/template/base.py:6762 ms1.8%
FilterExpression.__init__django/template/base.py:7452 ms1.8%
render_to_stringdjango/template/loader.py:624 ms3.6%
Template.renderdjango/template/backends/django.py:1074 ms3.6%
Template.renderdjango/template/base.py:1744 ms3.6%
instrumented_test_renderdjango/test/utils.py:1144 ms3.6%
NodeList.renderdjango/template/base.py:10914 ms3.6%
Node.render_annotateddjango/template/base.py:10524 ms3.6%
ExtendsNode.renderdjango/template/loader_tags.py:1604 ms3.6%
instrumented_test_renderdjango/test/utils.py:1144 ms3.6%
NodeList.renderdjango/template/base.py:10914 ms3.6%
Node.render_annotateddjango/template/base.py:10524 ms3.6%
ExtendsNode.renderdjango/template/loader_tags.py:1604 ms3.6%
instrumented_test_renderdjango/test/utils.py:1144 ms3.6%
NodeList.renderdjango/template/base.py:10914 ms3.6%
Node.render_annotateddjango/template/base.py:10524 ms3.6%
BlockNode.renderdjango/template/loader_tags.py:664 ms3.6%
NodeList.renderdjango/template/base.py:10914 ms3.6%
Node.render_annotateddjango/template/base.py:10524 ms3.6%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.8%
NodeList.renderdjango/template/base.py:10912 ms1.8%
Node.render_annotateddjango/template/base.py:10522 ms1.8%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.8%
Node.render_annotateddjango/template/base.py:10522 ms1.8%
URLNode.renderdjango/template/defaulttags.py:5112 ms1.8%
BlockNode.renderdjango/template/loader_tags.py:662 ms1.8%
NodeList.renderdjango/template/base.py:10912 ms1.8%
Node.render_annotateddjango/template/base.py:10522 ms1.8%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.8%
NodeList.renderdjango/template/base.py:10912 ms1.8%
Node.render_annotateddjango/template/base.py:10522 ms1.8%
URLNode.renderdjango/template/defaulttags.py:5112 ms1.8%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.order_bydjango/db/models/query.py:17682 ms1.8%
QuerySet.querydjango/db/models/query.py:3062 ms1.8%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.8%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.8%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.8%
Query.build_filterdjango/db/models/sql/query.py:15772 ms1.8%
org_projectsapps/orgs/views.py:96 cards = [{"project": project, **analytics.project_card(project)} for project in projects]4 ms3.6%
QuerySet.__iter__django/db/models/query.py:3904 ms3.6%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms3.6%
ModelIterable.__iter__django/db/models/query.py:954 ms3.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms3.6%
CursorWrapper.executedjango/db/backends/utils.py:794 ms3.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms3.6%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms3.6%
Cursor.executepsycopg/cursor.py:1134 ms3.6%
Connection.waitpsycopg/connection.py:4954 ms3.6%
org_projectsapps/orgs/views.py:842 ms1.8%
member_organizationapps/orgs/views.py:59 organization = get_object_or_404(Organization, slug=org_slug)2 ms1.8%
get_object_or_404django/shortcuts.py:902 ms1.8%
QuerySet.getdjango/db/models/query.py:6352 ms1.8%
QuerySet.__len__django/db/models/query.py:3722 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ModelIterable.__iter__django/db/models/query.py:1272 ms1.8%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15772 ms1.8%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:564 ms3.6%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:794 ms3.6%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2514 ms3.6%
SimpleLazyObject._setupdjango/utils/functional.py:4044 ms3.6%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:404 ms3.6%
get_userdjango/contrib/auth/middleware.py:204 ms3.6%
get_userdjango/contrib/auth/__init__.py:3112 ms1.8%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms1.8%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms1.8%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms1.8%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms1.8%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.getdjango/db/models/query.py:6352 ms1.8%
QuerySet.__len__django/db/models/query.py:3722 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ModelIterable.__iter__django/db/models/query.py:952 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.8%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.8%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.8%
get_userdjango/contrib/auth/__init__.py:3182 ms1.8%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.getdjango/db/models/query.py:6352 ms1.8%
QuerySet.__len__django/db/models/query.py:3722 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ModelIterable.__iter__django/db/models/query.py:952 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms1.8%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms1.8%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.8%
Model.savedjango/db/models/base.py:8742 ms1.8%
Model.save_basedjango/db/models/base.py:9662 ms1.8%
Model._save_tabledjango/db/models/base.py:10862 ms1.8%
AccessTest.test_members_see_every_project_of_the_organizationapps/orgs/tests.py:63 self.client.force_login(self.member)12 ms10.7%
ClientMixin.force_logindjango/test/client.py:85512 ms10.7%
ClientMixin._logindjango/test/client.py:8818 ms7.1%
logindjango/contrib/auth/__init__.py:1874 ms3.6%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms1.8%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms1.8%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms1.8%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms1.8%
QuerySet.existsdjango/db/models/query.py:13372 ms1.8%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.8%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms1.8%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms1.8%
Model.deletedjango/db/models/base.py:12982 ms1.8%
Collector.deletedjango/db/models/deletion.py:4502 ms1.8%
logindjango/contrib/auth/__init__.py:1752 ms1.8%
SessionBase.__contains__django/contrib/sessions/backends/base.py:522 ms1.8%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms1.8%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms1.8%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.getdjango/db/models/query.py:6352 ms1.8%
QuerySet.__len__django/db/models/query.py:3722 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ModelIterable.__iter__django/db/models/query.py:952 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
logindjango/contrib/auth/__init__.py:1972 ms1.8%
Signal.senddjango/dispatch/dispatcher.py:2092 ms1.8%
update_last_logindjango/contrib/auth/models.py:242 ms1.8%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms1.8%
Model.savedjango/db/models/base.py:8742 ms1.8%
Model.save_basedjango/db/models/base.py:9662 ms1.8%
Model._save_tabledjango/db/models/base.py:11102 ms1.8%
Model._do_updatedjango/db/models/base.py:12112 ms1.8%
QuerySet._updatedjango/db/models/query.py:13272 ms1.8%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.8%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
ClientMixin._logindjango/test/client.py:8764 ms3.6%
ClientMixin.sessiondjango/test/client.py:8124 ms3.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms3.6%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms1.8%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms1.8%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms1.8%
QuerySet.existsdjango/db/models/query.py:13372 ms1.8%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.8%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.8%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.8%
Model.savedjango/db/models/base.py:8742 ms1.8%
Model.save_basedjango/db/models/base.py:9662 ms1.8%
Model._save_tabledjango/db/models/base.py:11672 ms1.8%
Model._do_insertdjango/db/models/base.py:12182 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet._insertdjango/db/models/query.py:19182 ms1.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()2 ms1.8%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms1.8%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4842 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
Estimated from 63 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/orgs/tests.py:64
self.assertEqual(self.client.get(self.project.url()).status_code, 200)
AccessTest.test_members_see_every_project_of_the_organization · Libraries
26 ms
apps/projects/urls.py:138
return render(request, "project_setup.html", context)
project_dashboard · Templates
24 ms
apps/orgs/tests.py:63
self.client.force_login(self.member)
AccessTest.test_members_see_every_project_of_the_organization · Database
12 ms
apps/orgs/views.py:97
return render(request, "org.html", {**org_shell(request, organization, "projects"), "cards": cards})
org_projects · Templates
8 ms
apps/orgs/tests.py:65
response = self.client.get(reverse("org_projects", args=["acme"]))
AccessTest.test_members_see_every_project_of_the_organization · Database
6 ms
apps/orgs/views.py:96
cards = [{"project": project, **analytics.project_card(project)} for project in projects]
org_projects · Database
4 ms
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell · 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/urls.py:49
project = get_object_or_404(
find_project · Database
2 ms
apps/projects/urls.py:38
if not user.is_authenticated:
can_manage_project · Database
2 ms

Fixtures

Exact setup time
_unittest_setUpClass_fixture_AccessTest class 16 ms
_django_setup_unittest class 0.30 ms
_dj_autoclear_mailbox function 0.06 ms
_django_db_marker function 0.05 ms
_template_string_if_invalid_marker function 0.05 ms
_django_set_urlconf function 0.03 ms
_live_server_helper function 0.03 ms
_django_clear_site_cache function 0.03 ms
monkeypatch function 0.02 ms

Database

54 queries · 23 ms

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

3×
INSERT INTO "auth_user" ("password", "last_login", "is_superuser", "username", "first_name", "last_name", "email", "is_staff", "is_active", "date_joined") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "auth_user"."id"
3×
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×
UPDATE "django_session" SET "session_data" = %s, "expire_date" = %s WHERE "django_session"."session_key" = %s
3×
SELECT %s AS "a" FROM "orgs_membership" WHERE ("orgs_membership"."organization_id" = %s AND "orgs_membership"."user_id" = %s) LIMIT ?

Biggest pieces of work

call test body
apps/orgs/tests.py:64
93 ms
setup setUpClass
django/test/testcases.py:1423
16 ms
call _post_teardown
django/test/testcases.py:1240
2 ms
setup __init__
__init__:-1
1 ms
setup pytest internals 1 ms

Reliability

5 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 5 results, oldest first in the strip
When Environment Outcome Duration Commit
16 minutes ago CI github-actions:test passed 113 ms 9caa567 main Profile
41 minutes ago CI github-actions:test passed 110 ms ec75501 main Profile
7 hours ago CI github-actions:test passed 138 ms d2c12e5 main Profile
7 hours ago CI github-actions:test passed 67 ms 0b902f6 main Profile
7 hours ago CI github-actions:test passed 117 ms 78a4357 main Profile