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

MembersTest::test_roles_and_the_last_owner

First seen 8 hours ago in 78a4357
CI github-actions:test 5 runs
Average
63 ms
median 67 ms
max 72 ms
Phases
Setup 0.71 ms Call 62 ms Teardown 0.99 ms
Categories
Database 35 ms Other (Libraries, Unsampled) 28 ms

45 database queries per run

Needs 106 KB of memory (max 148 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, an hour ago · open run
Show pytest frames
call66 ms96.3%
MembersTest.test_roles_and_the_last_ownerapps/orgs/tests.py:150 self.client.post(url, {"user": "owner", "action": "member"})28 ms40.7%
Client.postdjango/test/client.py:115328 ms40.7%
RequestFactory.postdjango/test/client.py:49928 ms40.7%
RequestFactory.genericdjango/test/client.py:67128 ms40.7%
Client.requestdjango/test/client.py:108228 ms40.7%
ClientHandler.__call__django/test/client.py:17323 ms33.3%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6223 ms33.3%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10420 ms29.6%
WhiteNoise.add_fileswhitenoise/base.py:10820 ms29.6%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12018 ms25.9%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13118 ms25.9%
WhiteNoise.get_static_filewhitenoise/base.py:20813 ms18.5%
StaticFile.__init__whitenoise/responders.py:735 ms7.4%
StaticFile.get_headerswhitenoise/responders.py:1765 ms7.4%
formatdate<stdlib>/email/utils.py:2665 ms7.4%
StaticFile.__init__whitenoise/responders.py:773 ms3.7%
StaticFile.get_alternativeswhitenoise/responders.py:2073 ms3.7%
StaticFile.__init__whitenoise/responders.py:723 ms3.7%
StaticFile.get_file_statswhitenoise/responders.py:1613 ms3.7%
StaticFile.__init__whitenoise/responders.py:743 ms3.7%
parsedate<stdlib>/email/_parseaddr.py:1853 ms3.7%
WhiteNoise.get_static_filewhitenoise/base.py:2033 ms3.7%
WhiteNoise.add_cache_headerswhitenoise/base.py:2243 ms3.7%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1763 ms3.7%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1973 ms3.7%
URLMixin.urldebug_toolbar/panels/staticfiles.py:203 ms3.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1153 ms3.7%
scantreewhitenoise/base.py:2623 ms3.7%
scantreewhitenoise/base.py:2623 ms3.7%
scantreewhitenoise/base.py:2603 ms3.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1113 ms3.7%
WhiteNoise.add_fileswhitenoise/base.py:1083 ms3.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1153 ms3.7%
scantreewhitenoise/base.py:2603 ms3.7%
ClientHandler.__call__django/test/client.py:1863 ms3.7%
BaseHandler.get_responsedjango/core/handlers/base.py:1413 ms3.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms3.7%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1303 ms3.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms3.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3093 ms3.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms3.7%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1233 ms3.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms3.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3093 ms3.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms3.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3093 ms3.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms3.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3093 ms3.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms3.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3093 ms3.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms3.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3093 ms3.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms3.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3093 ms3.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms3.7%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:343 ms3.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms3.7%
BaseHandler._get_responsedjango/core/handlers/base.py:1983 ms3.7%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:563 ms3.7%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:793 ms3.7%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2513 ms3.7%
SimpleLazyObject._setupdjango/utils/functional.py:4043 ms3.7%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:403 ms3.7%
get_userdjango/contrib/auth/middleware.py:203 ms3.7%
get_userdjango/contrib/auth/__init__.py:3113 ms3.7%
_get_user_session_keydjango/contrib/auth/__init__.py:953 ms3.7%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:553 ms3.7%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2513 ms3.7%
SessionStore.loaddjango/contrib/sessions/backends/db.py:553 ms3.7%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:343 ms3.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms3.7%
QuerySet.getdjango/db/models/query.py:6253 ms3.7%
QuerySet.filterdjango/db/models/query.py:15423 ms3.7%
QuerySet._filter_or_excludedjango/db/models/query.py:15603 ms3.7%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15703 ms3.7%
Query.add_qdjango/db/models/sql/query.py:16713 ms3.7%
Query._add_qdjango/db/models/sql/query.py:17033 ms3.7%
Query.build_filterdjango/db/models/sql/query.py:15993 ms3.7%
ClientHandler.__call__django/test/client.py:2083 ms3.7%
Signal.connectdjango/dispatch/dispatcher.py:1103 ms3.7%
iscoroutinefunction<stdlib>/inspect.py:3343 ms3.7%
MembersTest.test_roles_and_the_last_ownerapps/orgs/tests.py:153 self.client.post(url, {"user": "member", "action": "owner"})15 ms22.2%
Client.postdjango/test/client.py:115315 ms22.2%
RequestFactory.postdjango/test/client.py:49915 ms22.2%
RequestFactory.genericdjango/test/client.py:67115 ms22.2%
Client.requestdjango/test/client.py:108215 ms22.2%
ClientHandler.__call__django/test/client.py:18615 ms22.2%
BaseHandler.get_responsedjango/core/handlers/base.py:14115 ms22.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms22.2%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13015 ms22.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms22.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms22.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms22.2%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12315 ms22.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms22.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms22.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms22.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms18.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms18.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms18.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms18.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms18.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms18.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms18.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms18.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms18.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms18.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3413 ms18.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms18.5%
BaseHandler._get_responsedjango/core/handlers/base.py:19813 ms18.5%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5913 ms18.5%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6413 ms18.5%
membership_updateapps/orgs/views.py:2095 ms7.4%
member_organizationapps/orgs/views.py:59 organization = get_object_or_404(Organization, slug=org_slug)3 ms3.7%
get_object_or_404django/shortcuts.py:903 ms3.7%
QuerySet.getdjango/db/models/query.py:6353 ms3.7%
QuerySet.__len__django/db/models/query.py:3723 ms3.7%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms3.7%
ModelIterable.__iter__django/db/models/query.py:953 ms3.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms3.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.7%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.7%
Cursor.executepsycopg/cursor.py:1133 ms3.7%
Connection.waitpsycopg/connection.py:4953 ms3.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms3.7%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms3.7%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms3.7%
member_organizationapps/orgs/views.py:623 ms3.7%
Organization.is_memberapps/orgs/models.py:62 return user.is_authenticated and self.membership_set.filter(user=user).exists()3 ms3.7%
QuerySet.existsdjango/db/models/query.py:13373 ms3.7%
Query.has_resultsdjango/db/models/sql/query.py:6813 ms3.7%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15923 ms3.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms3.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.7%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.7%
Cursor.executepsycopg/cursor.py:1133 ms3.7%
Connection.waitpsycopg/connection.py:4953 ms3.7%
membership_updateapps/orgs/views.py:210 membership = get_object_or_404(Membership, organization=organization, user__username=request.POST.get("user") or "")3 ms3.7%
get_object_or_404django/shortcuts.py:903 ms3.7%
QuerySet.getdjango/db/models/query.py:6353 ms3.7%
QuerySet.__len__django/db/models/query.py:3723 ms3.7%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms3.7%
ModelIterable.__iter__django/db/models/query.py:953 ms3.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms3.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.7%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.7%
Cursor.executepsycopg/cursor.py:1133 ms3.7%
Connection.waitpsycopg/connection.py:4953 ms3.7%
membership_updateapps/orgs/views.py:2113 ms3.7%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()3 ms3.7%
QuerySet.existsdjango/db/models/query.py:13373 ms3.7%
Query.has_resultsdjango/db/models/sql/query.py:6813 ms3.7%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15923 ms3.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms3.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.7%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.7%
Cursor.executepsycopg/cursor.py:1133 ms3.7%
Connection.waitpsycopg/connection.py:4953 ms3.7%
membership_updateapps/orgs/views.py:231 membership.save(update_fields=["role"])3 ms3.7%
Model.savedjango/db/models/base.py:8743 ms3.7%
Model.save_basedjango/db/models/base.py:9663 ms3.7%
Model._save_tabledjango/db/models/base.py:11103 ms3.7%
Model._do_updatedjango/db/models/base.py:12113 ms3.7%
QuerySet._updatedjango/db/models/query.py:13273 ms3.7%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21403 ms3.7%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21113 ms3.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms3.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.7%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.7%
Cursor.executepsycopg/cursor.py:1133 ms3.7%
Connection.waitpsycopg/connection.py:4953 ms3.7%
MembersTest.test_roles_and_the_last_ownerapps/orgs/tests.py:147 self.client.force_login(self.owner)10 ms14.8%
ClientMixin.force_logindjango/test/client.py:85510 ms14.8%
ClientMixin._logindjango/test/client.py:8765 ms7.4%
ClientMixin.sessiondjango/test/client.py:8125 ms7.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1215 ms7.4%
SessionStore.createdjango/contrib/sessions/backends/db.py:703 ms3.7%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1983 ms3.7%
SessionStore.existsdjango/contrib/sessions/backends/db.py:633 ms3.7%
QuerySet.existsdjango/db/models/query.py:13373 ms3.7%
Query.has_resultsdjango/db/models/sql/query.py:6813 ms3.7%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15923 ms3.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms3.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.7%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.7%
Cursor.executepsycopg/cursor.py:1133 ms3.7%
Connection.waitpsycopg/connection.py:4953 ms3.7%
SessionStore.createdjango/contrib/sessions/backends/db.py:743 ms3.7%
SessionStore.savedjango/contrib/sessions/backends/db.py:1273 ms3.7%
Model.savedjango/db/models/base.py:8743 ms3.7%
Model.save_basedjango/db/models/base.py:9663 ms3.7%
Model._save_tabledjango/db/models/base.py:11673 ms3.7%
Model._do_insertdjango/db/models/base.py:12183 ms3.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms3.7%
QuerySet._insertdjango/db/models/query.py:19183 ms3.7%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19253 ms3.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.7%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.7%
Cursor.executepsycopg/cursor.py:1133 ms3.7%
Connection.waitpsycopg/connection.py:4953 ms3.7%
ClientMixin._logindjango/test/client.py:8813 ms3.7%
logindjango/contrib/auth/__init__.py:1873 ms3.7%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4343 ms3.7%
SessionStore.createdjango/contrib/sessions/backends/db.py:743 ms3.7%
SessionStore.savedjango/contrib/sessions/backends/db.py:1263 ms3.7%
Atomic.__enter__django/db/transaction.py:2113 ms3.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:263 ms3.7%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4003 ms3.7%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3673 ms3.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.7%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms3.7%
Cursor.executepsycopg/cursor.py:1133 ms3.7%
Connection.waitpsycopg/connection.py:4953 ms3.7%
ClientMixin._logindjango/test/client.py:8833 ms3.7%
SessionStore.savedjango/contrib/sessions/backends/db.py:1263 ms3.7%
Atomic.__enter__django/db/transaction.py:2113 ms3.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:263 ms3.7%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4003 ms3.7%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3673 ms3.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.7%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms3.7%
Cursor.executepsycopg/cursor.py:1133 ms3.7%
Connection.waitpsycopg/connection.py:4953 ms3.7%
MembersTest.test_roles_and_the_last_ownerapps/orgs/tests.py:154 self.client.post(url, {"user": "owner", "action": "member"})5 ms7.4%
Client.postdjango/test/client.py:11535 ms7.4%
RequestFactory.postdjango/test/client.py:4995 ms7.4%
RequestFactory.genericdjango/test/client.py:6715 ms7.4%
Client.requestdjango/test/client.py:10825 ms7.4%
ClientHandler.__call__django/test/client.py:1865 ms7.4%
BaseHandler.get_responsedjango/core/handlers/base.py:1415 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms7.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1305 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms7.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms7.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1235 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms7.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms7.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms7.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms7.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms7.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms7.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms7.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:345 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms7.4%
BaseHandler._get_responsedjango/core/handlers/base.py:1985 ms7.4%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:565 ms7.4%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:795 ms7.4%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2515 ms7.4%
SimpleLazyObject._setupdjango/utils/functional.py:4045 ms7.4%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:405 ms7.4%
get_userdjango/contrib/auth/middleware.py:205 ms7.4%
get_userdjango/contrib/auth/__init__.py:3113 ms3.7%
_get_user_session_keydjango/contrib/auth/__init__.py:953 ms3.7%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:553 ms3.7%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2513 ms3.7%
SessionStore.loaddjango/contrib/sessions/backends/db.py:553 ms3.7%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:343 ms3.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms3.7%
QuerySet.getdjango/db/models/query.py:6353 ms3.7%
QuerySet.__len__django/db/models/query.py:3723 ms3.7%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms3.7%
ModelIterable.__iter__django/db/models/query.py:953 ms3.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16113 ms3.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:8333 ms3.7%
get_userdjango/contrib/auth/__init__.py:3183 ms3.7%
ModelBackend.get_userdjango/contrib/auth/backends.py:2323 ms3.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms3.7%
QuerySet.getdjango/db/models/query.py:6353 ms3.7%
QuerySet.__len__django/db/models/query.py:3723 ms3.7%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms3.7%
ModelIterable.__iter__django/db/models/query.py:953 ms3.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms3.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.7%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.7%
Cursor.executepsycopg/cursor.py:1133 ms3.7%
Connection.waitpsycopg/connection.py:4953 ms3.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms3.7%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms3.7%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms3.7%
MembersTest.test_roles_and_the_last_ownerapps/orgs/tests.py:148 owner = Membership.objects.get(user=self.owner)3 ms3.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms3.7%
QuerySet.getdjango/db/models/query.py:6353 ms3.7%
QuerySet.__len__django/db/models/query.py:3723 ms3.7%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms3.7%
ModelIterable.__iter__django/db/models/query.py:953 ms3.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms3.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.7%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.7%
Cursor.executepsycopg/cursor.py:1133 ms3.7%
Connection.waitpsycopg/connection.py:4953 ms3.7%
MembersTest.test_roles_and_the_last_ownerapps/orgs/tests.py:155 owner.refresh_from_db()3 ms3.7%
Model.refresh_from_dbdjango/db/models/base.py:7583 ms3.7%
QuerySet.getdjango/db/models/query.py:6353 ms3.7%
QuerySet.__len__django/db/models/query.py:3723 ms3.7%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms3.7%
ModelIterable.__iter__django/db/models/query.py:953 ms3.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms3.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.7%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.7%
Cursor.executepsycopg/cursor.py:1133 ms3.7%
Connection.waitpsycopg/connection.py:4953 ms3.7%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()3 ms3.7%
TestCase._fixture_teardowndjango/test/testcases.py:14953 ms3.7%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4843 ms3.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.7%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms3.7%
Cursor.executepsycopg/cursor.py:1133 ms3.7%
Connection.waitpsycopg/connection.py:4953 ms3.7%
teardown2 ms2.4%
TestCase.tearDownClassdjango/test/testcases.py:1455 conn.close()2 ms2.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.4%
BaseDatabaseWrapper.closedjango/db/backends/base/base.py:3552 ms2.4%
DatabaseWrapper._closedjango/db/backends/postgresql/base.py:3962 ms2.4%
Connection.closepsycopg/connection.py:2012 ms2.4%
Estimated from 27 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/orgs/tests.py:150
self.client.post(url, {"user": "owner", "action": "member"})
MembersTest.test_roles_and_the_last_owner · Libraries
28 ms
apps/orgs/tests.py:147
self.client.force_login(self.owner)
MembersTest.test_roles_and_the_last_owner · Database
10 ms
apps/orgs/tests.py:154
self.client.post(url, {"user": "owner", "action": "member"})
MembersTest.test_roles_and_the_last_owner · Database
5 ms
apps/orgs/tests.py:148
owner = Membership.objects.get(user=self.owner)
MembersTest.test_roles_and_the_last_owner · Database
3 ms
apps/orgs/tests.py:153
self.client.post(url, {"user": "member", "action": "owner"})
MembersTest.test_roles_and_the_last_owner · Libraries
3 ms
apps/orgs/views.py:59
organization = get_object_or_404(Organization, slug=org_slug)
member_organization · Database
3 ms
apps/orgs/models.py:62
return user.is_authenticated and self.membership_set.filter(user=user).exists()
Organization.is_member · Database
3 ms
apps/orgs/views.py:210
membership = get_object_or_404(Membership, organization=organization, user__username=request.POST.get("user") or "")
membership_update · Database
3 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
3 ms
apps/orgs/views.py:231
membership.save(update_fields=["role"])
membership_update · Database
3 ms

Fixtures

Exact setup time
_template_string_if_invalid_marker function 0.06 ms
_django_db_marker function 0.05 ms
_dj_autoclear_mailbox function 0.05 ms
_django_set_urlconf function 0.05 ms
_live_server_helper function 0.04 ms
_django_clear_site_cache function 0.04 ms
monkeypatch function 0.02 ms

Database

45 queries · 15 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 "orgs_organization"."id", "orgs_organization"."name", "orgs_organization"."slug", "orgs_organization"."created_by_id", "orgs_organization"."date_created" FROM "orgs_organization" WHERE "orgs_organization"."slug" = %s LIMIT ?
3×
SELECT %s AS "a" FROM "orgs_membership" WHERE ("orgs_membership"."organization_id" = %s AND "orgs_membership"."user_id" = %s) LIMIT ?
3×
SELECT "orgs_membership"."id", "orgs_membership"."organization_id", "orgs_membership"."user_id", "orgs_membership"."role", "orgs_membership"."date_created" FROM "orgs_membership" INNER JOIN "auth_user" ON ("orgs_membership"."user_id" = "auth_user"."id") WHERE ("orgs_membership"."organization_id" = …

Biggest pieces of work

call test body
apps/orgs/tests.py:150
63 ms
call _post_teardown
django/test/testcases.py:1240
3 ms
teardown tearDownClass
django/test/testcases.py:1455
2 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
an hour ago CI github-actions:test passed 68 ms 9caa567 main Profile
an hour ago CI github-actions:test passed 67 ms ec75501 main Profile
8 hours ago CI github-actions:test passed 72 ms d2c12e5 main Profile
8 hours ago CI github-actions:test passed 43 ms 0b902f6 main Profile
9 hours ago CI github-actions:test passed 67 ms 78a4357 main Profile