Tests / starter_packs/tests.py
TestOwnerManagement::test_invite_existing_owner_is_noop
First seen 13 hours ago in 0c23747
CI
github-actions:test
4 runs
Average
244 ms
median 277 ms
max 306 ms
max 306 ms
Phases
Setup 3 ms
Call 241 ms
Teardown 0.52 ms
Categories
Database 45 ms
Other (Libraries, Unsampled, pytest, Deep copies, ...) 199 ms
29 database queries per run
Needs 2 KB of memory (max 8 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 7 hours ago ·
open run
call114 ms98.2%
TestOwnerManagement.test_invite_existing_owner_is_noopstarter_packs/tests.py:508 response = self.client.post(reverse("invite_owner", args=[self.pack.slug, self.friend.id]))97 ms83.9%
Client.postdjango/test/client.py:116297 ms83.9%
RequestFactory.postdjango/test/client.py:49997 ms83.9%
RequestFactory.genericdjango/test/client.py:67197 ms83.9%
Client.requestdjango/test/client.py:109197 ms83.9%
ClientHandler.__call__django/test/client.py:17378 ms67.5%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6378 ms67.5%
__init____init__:-178 ms67.5%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10476 ms65.5%
WhiteNoise.add_fileswhitenoise/base.py:10876 ms65.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12066 ms57.3%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13164 ms55.3%
WhiteNoise.get_static_filewhitenoise/base.py:21743 ms36.8%
StaticFile.__init__whitenoise/responders.py:7317 ms14.3%
StaticFile.get_headerswhitenoise/responders.py:1768 ms7.2%
formatdate<stdlib>/email/utils.py:2664 ms3.1%
format_datetime<stdlib>/email/utils.py:2754 ms3.1%
Headers.__setitem__<stdlib>/wsgiref/headers.py:621 ms1.0%
Headers.__delitem__<stdlib>/wsgiref/headers.py:711 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
Headers.__setitem__<stdlib>/wsgiref/headers.py:641 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1812 ms2.0%
Headers.__setitem__<stdlib>/wsgiref/headers.py:641 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:481 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1782 ms2.0%
parsedate<stdlib>/email/_parseaddr.py:1852 ms2.0%
parsedate_tz<stdlib>/email/_parseaddr.py:551 ms1.0%
parsedate_tz<stdlib>/email/_parseaddr.py:501 ms1.0%
_parsedate_tz<stdlib>/email/_parseaddr.py:1011 ms1.0%
parsedate<stdlib>/email/_parseaddr.py:1851 ms1.0%
parsedate_tz<stdlib>/email/_parseaddr.py:501 ms1.0%
_parsedate_tz<stdlib>/email/_parseaddr.py:1051 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1821 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1671 ms1.0%
__init____init__:-11 ms1.0%
Headers.__init__<stdlib>/wsgiref/headers.py:441 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
StaticFile.__init__whitenoise/responders.py:769 ms8.2%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1886 ms5.1%
Headers.__contains__<stdlib>/wsgiref/headers.py:874 ms3.1%
Headers.get<stdlib>/wsgiref/headers.py:1041 ms1.0%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1892 ms2.0%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1901 ms1.0%
StaticFile.__init__whitenoise/responders.py:779 ms8.2%
StaticFile.get_alternativeswhitenoise/responders.py:2004 ms3.1%
__init____init__:-12 ms2.0%
Headers.__init__<stdlib>/wsgiref/headers.py:432 ms2.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
StaticFile.get_alternativeswhitenoise/responders.py:2032 ms2.0%
Headers.__setitem__<stdlib>/wsgiref/headers.py:622 ms2.0%
Headers.__delitem__<stdlib>/wsgiref/headers.py:721 ms1.0%
Headers.__delitem__<stdlib>/wsgiref/headers.py:711 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
StaticFile.get_alternativeswhitenoise/responders.py:2011 ms1.0%
StaticFile.get_alternativeswhitenoise/responders.py:1981 ms1.0%
StaticFile.get_alternativeswhitenoise/responders.py:2041 ms1.0%
StaticFile.__init__whitenoise/responders.py:745 ms4.1%
parsedate<stdlib>/email/_parseaddr.py:1855 ms4.1%
parsedate_tz<stdlib>/email/_parseaddr.py:504 ms3.1%
_parsedate_tz<stdlib>/email/_parseaddr.py:691 ms1.0%
_parsedate_tz<stdlib>/email/_parseaddr.py:1721 ms1.0%
_parsedate_tz<stdlib>/email/_parseaddr.py:961 ms1.0%
StaticFile.__init__whitenoise/responders.py:722 ms2.0%
StaticFile.get_file_statswhitenoise/responders.py:1611 ms1.0%
StaticFile.get_file_statswhitenoise/responders.py:1631 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:21215 ms13.3%
WhiteNoise.add_cache_headerswhitenoise/base.py:23314 ms12.3%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1769 ms8.2%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1979 ms8.2%
URLMixin.urldebug_toolbar/panels/staticfiles.py:209 ms8.2%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2359 ms8.2%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2085 ms4.1%
urlsplit<stdlib>/urllib/parse.py:5881 ms1.0%
urlsplit<stdlib>/urllib/parse.py:5891 ms1.0%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2142 ms2.0%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5951 ms1.0%
unquote<stdlib>/urllib/parse.py:8501 ms1.0%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:6111 ms1.0%
urlunsplit<stdlib>/urllib/parse.py:6651 ms1.0%
_coerce_args<stdlib>/urllib/parse.py:1281 ms1.0%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2162 ms2.0%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2072 ms2.0%
urljoin<stdlib>/urllib/parse.py:7091 ms1.0%
_urlsplit<stdlib>/urllib/parse.py:6131 ms1.0%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1734 ms3.1%
WhiteNoiseMiddleware.get_name_without_hashwhitenoise/middleware.py:1922 ms2.0%
splitext<frozen posixpath>:1261 ms1.0%
_splitext<frozen genericpath>:1851 ms1.0%
WhiteNoiseMiddleware.get_name_without_hashwhitenoise/middleware.py:1911 ms1.0%
splitext<frozen posixpath>:1261 ms1.0%
_splitext<frozen genericpath>:1821 ms1.0%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1801 ms1.0%
basename<frozen posixpath>:1701 ms1.0%
_get_sep<frozen posixpath>:441 ms1.0%
WhiteNoise.add_cache_headerswhitenoise/base.py:2341 ms1.0%
Headers.__setitem__<stdlib>/wsgiref/headers.py:641 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:2114 ms3.1%
WhiteNoise.add_mime_headerswhitenoise/base.py:2252 ms2.0%
MediaTypes.get_typewhitenoise/media_types.py:191 ms1.0%
splitext<frozen posixpath>:1261 ms1.0%
_splitext<frozen genericpath>:1851 ms1.0%
MediaTypes.get_typewhitenoise/media_types.py:161 ms1.0%
WhiteNoise.add_mime_headerswhitenoise/base.py:2301 ms1.0%
Headers.add_header<stdlib>/wsgiref/headers.py:1921 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:2142 ms2.0%
Headers.__setitem__<stdlib>/wsgiref/headers.py:622 ms2.0%
Headers.__delitem__<stdlib>/wsgiref/headers.py:721 ms1.0%
Headers.__delitem__<stdlib>/wsgiref/headers.py:711 ms1.0%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1321 ms1.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1157 ms6.1%
scantreewhitenoise/base.py:2715 ms4.1%
scantreewhitenoise/base.py:2715 ms4.1%
scantreewhitenoise/base.py:2714 ms3.1%
scantreewhitenoise/base.py:2714 ms3.1%
scantreewhitenoise/base.py:2712 ms2.0%
scantreewhitenoise/base.py:2732 ms2.0%
scantreewhitenoise/base.py:2731 ms1.0%
scantreewhitenoise/base.py:2731 ms1.0%
scantreewhitenoise/base.py:2732 ms2.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1171 ms1.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1181 ms1.0%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1112 ms2.0%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms2.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1202 ms2.0%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1312 ms2.0%
WhiteNoise.get_static_filewhitenoise/base.py:2172 ms2.0%
StaticFile.__init__whitenoise/responders.py:732 ms2.0%
StaticFile.get_headerswhitenoise/responders.py:1762 ms2.0%
formatdate<stdlib>/email/utils.py:2662 ms2.0%
format_datetime<stdlib>/email/utils.py:2751 ms1.0%
format_datetime<stdlib>/email/utils.py:2841 ms1.0%
_format_timetuple_and_zone<stdlib>/email/utils.py:2321 ms1.0%
ClientHandler.__call__django/test/client.py:18619 ms16.4%
BaseHandler.get_responsedjango/core/handlers/base.py:14219 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms16.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12319 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms16.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:14519 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms16.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms16.4%
MiddlewareMixin.__call__django/utils/deprecation.py:38018 ms15.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5618 ms15.4%
MiddlewareMixin.__call__django/utils/deprecation.py:38018 ms15.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5618 ms15.4%
BaseHandler._get_responsedjango/core/handlers/base.py:19918 ms15.4%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6318 ms15.4%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:6214 ms12.3%
invite_ownerstarter_packs/views.py:490 return render(request, "owners_updated.html", owners_manager_context(starter_pack, q, error))9 ms8.2%
owners_manager_contextstarter_packs/views.py:418 invitations = list(5 ms4.1%
QuerySet.__iter__django/db/models/query.py:4395 ms4.1%
QuerySet._fetch_alldjango/db/models/query.py:22625 ms4.1%
ModelIterable.__iter__django/db/models/query.py:1035 ms4.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16122 ms2.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7932 ms2.0%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11602 ms2.0%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5752 ms2.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16252 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%
owners_manager_contextstarter_packs/views.py:417 owners = list(starter_pack.owners.select_related("accountaccess__account").order_by("username"))4 ms3.1%
QuerySet.__iter__django/db/models/query.py:4392 ms2.0%
QuerySet._fetch_alldjango/db/models/query.py:22622 ms2.0%
ModelIterable.__iter__django/db/models/query.py:1032 ms2.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16121 ms1.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7681 ms1.0%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:901 ms1.0%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4911 ms1.0%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:4741 ms1.0%
SQLCompiler.find_ordering_namedjango/db/models/sql/compiler.py:11201 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 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%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet.select_relateddjango/db/models/query.py:17881 ms1.0%
QuerySet._not_support_combined_queriesdjango/db/models/query.py:23361 ms1.0%
QuerySet.querydjango/db/models/query.py:3551 ms1.0%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:17041 ms1.0%
Query.add_qdjango/db/models/sql/query.py:16811 ms1.0%
Query._add_qdjango/db/models/sql/query.py:17131 ms1.0%
Query.build_filterdjango/db/models/sql/query.py:16111 ms1.0%
Query._get_coldjango/db/models/sql/query.py:4561 ms1.0%
ForeignKey.get_coldjango/db/models/fields/related.py:13401 ms1.0%
Field.get_coldjango/db/models/fields/__init__.py:5821 ms1.0%
renderdjango/shortcuts.py:271 ms1.0%
render_to_stringdjango/template/loader.py:621 ms1.0%
Template.renderdjango/template/backends/django.py:1071 ms1.0%
Template.renderdjango/template/base.py:1731 ms1.0%
_request_context_bind_templatedebug_toolbar/panels/templates/panel.py:491 ms1.0%
invite_ownerstarter_packs/views.py:477 if not AccountAccess.objects.filter(user_id=user_id).exists():2 ms2.0%
QuerySet.existsdjango/db/models/query.py:14582 ms2.0%
Query.has_resultsdjango/db/models/sql/query.py:6872 ms2.0%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15932 ms2.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16252 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%
invite_ownerstarter_packs/views.py:4741 ms1.0%
get_editable_packstarter_packs/views.py:60 return get_object_or_404(StarterPack, slug=slug, owners=request.user, **extra)1 ms1.0%
get_object_or_404django/shortcuts.py:1001 ms1.0%
QuerySet.getdjango/db/models/query.py:7021 ms1.0%
QuerySet.__len__django/db/models/query.py:4211 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:22621 ms1.0%
ModelIterable.__iter__django/db/models/query.py:1031 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16121 ms1.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7931 ms1.0%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11601 ms1.0%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5791 ms1.0%
Join.as_sqldjango/db/models/sql/datastructures.py:881 ms1.0%
DatabaseOperations.prepare_join_on_clausedjango/db/backends/postgresql/operations.py:4021 ms1.0%
invite_ownerstarter_packs/views.py:479 elif starter_pack.owners.filter(pk=user_id).exists():1 ms1.0%
QuerySet.existsdjango/db/models/query.py:14581 ms1.0%
Query.has_resultsdjango/db/models/sql/query.py:6871 ms1.0%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15931 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16121 ms1.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:9821 ms1.0%
Query.reset_refcountsdjango/db/models/sql/query.py:9971 ms1.0%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:594 ms3.1%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:824 ms3.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2514 ms3.1%
SimpleLazyObject._setupdjango/utils/functional.py:4044 ms3.1%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:394 ms3.1%
get_userdjango/contrib/auth/middleware.py:194 ms3.1%
get_userdjango/contrib/auth/__init__.py:2872 ms2.0%
_get_user_session_keydjango/contrib/auth/__init__.py:1112 ms2.0%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms2.0%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2542 ms2.0%
SessionStore.loaddjango/contrib/sessions/backends/db.py:551 ms1.0%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:341 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet.getdjango/db/models/query.py:7021 ms1.0%
QuerySet.__len__django/db/models/query.py:4211 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:22621 ms1.0%
ModelIterable.__iter__django/db/models/query.py:1031 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 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%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.0%
SessionStore.loaddjango/contrib/sessions/backends/db.py:561 ms1.0%
SessionBase.decodedjango/contrib/sessions/backends/base.py:1391 ms1.0%
get_userdjango/contrib/auth/__init__.py:2941 ms1.0%
ModelBackend.get_userdjango/contrib/auth/backends.py:2371 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet.getdjango/db/models/query.py:7021 ms1.0%
QuerySet.__len__django/db/models/query.py:4211 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:22621 ms1.0%
ModelIterable.__iter__django/db/models/query.py:1031 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 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%
MiddlewareMixin.__call__django/utils/deprecation.py:3791 ms1.0%
MessageMiddleware.process_requestdjango/contrib/messages/middleware.py:121 ms1.0%
default_storagedjango/contrib/messages/storage/__init__.py:121 ms1.0%
TestOwnerManagement.test_invite_existing_owner_is_noopstarter_packs/tests.py:507 self.client.force_login(self.owner)9 ms8.2%
ClientMixin.force_logindjango/test/client.py:8589 ms8.2%
ClientMixin._logindjango/test/client.py:8896 ms5.1%
logindjango/contrib/auth/__init__.py:1895 ms4.1%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4404 ms3.1%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1754 ms3.1%
Model.deletedjango/db/models/base.py:13314 ms3.1%
Collector.deletedjango/db/models/deletion.py:4834 ms3.1%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:434 ms3.1%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:254 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16254 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:794 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms3.1%
Cursor.executepsycopg/cursor.py:1134 ms3.1%
Connection.waitpsycopg/connection.py:4954 ms3.1%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4371 ms1.0%
SessionStore.createdjango/contrib/sessions/backends/db.py:701 ms1.0%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:2011 ms1.0%
SessionStore.existsdjango/contrib/sessions/backends/db.py:631 ms1.0%
QuerySet.existsdjango/db/models/query.py:14581 ms1.0%
Query.has_resultsdjango/db/models/sql/query.py:6871 ms1.0%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15931 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.0%
logindjango/contrib/auth/__init__.py:1771 ms1.0%
SessionBase.__contains__django/contrib/sessions/backends/base.py:521 ms1.0%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2541 ms1.0%
SessionStore.loaddjango/contrib/sessions/backends/db.py:551 ms1.0%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:341 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
ClientMixin._logindjango/test/client.py:8842 ms2.0%
ClientMixin.sessiondjango/test/client.py:8152 ms2.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms2.0%
SessionStore.createdjango/contrib/sessions/backends/db.py:701 ms1.0%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:2011 ms1.0%
SessionStore.existsdjango/contrib/sessions/backends/db.py:631 ms1.0%
QuerySet.existsdjango/db/models/query.py:14581 ms1.0%
Query.has_resultsdjango/db/models/sql/query.py:6871 ms1.0%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15931 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 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%
SessionStore.createdjango/contrib/sessions/backends/db.py:741 ms1.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1231 ms1.0%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1021 ms1.0%
SessionBase.encodedjango/contrib/sessions/backends/base.py:1291 ms1.0%
dumpsdjango/core/signing.py:1911 ms1.0%
Signer.sign_objectdjango/core/signing.py:2721 ms1.0%
ClientMixin._logindjango/test/client.py:8911 ms1.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1271 ms1.0%
Model.savedjango/db/models/base.py:9041 ms1.0%
Model.save_basedjango/db/models/base.py:9961 ms1.0%
Model._save_tabledjango/db/models/base.py:11401 ms1.0%
Model._do_updatedjango/db/models/base.py:12441 ms1.0%
QuerySet._updatedjango/db/models/query.py:14481 ms1.0%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21501 ms1.0%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21211 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 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%
TransactionTestCase._post_teardowndjango/test/testcases.py:1243 self._fixture_teardown()4 ms3.1%
TestCase._fixture_teardowndjango/test/testcases.py:14971 ms1.0%
TestCase._should_check_constraintsdjango/test/testcases.py:15061 ms1.0%
DatabaseWrapper.is_usabledjango/db/backends/postgresql/base.py:5041 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.0%
TestCase._fixture_teardowndjango/test/testcases.py:14981 ms1.0%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4961 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:1031 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
TestCase._fixture_teardowndjango/test/testcases.py:15001 ms1.0%
TestCase._rollback_atomicsdjango/test/testcases.py:14081 ms1.0%
Atomic.__exit__django/db/transaction.py:2981 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.0%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4311 ms1.0%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3751 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:1031 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
TransactionTestCase._pre_setupdjango/test/testcases.py:1167 cls._fixture_setup()1 ms1.0%
TestCase._fixture_setupdjango/test/testcases.py:14811 ms1.0%
TestCase._enter_atomicsdjango/test/testcases.py:13991 ms1.0%
Atomic.__enter__django/db/transaction.py:2231 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.0%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms1.0%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 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:1031 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.0%
TestOwnerManagement.test_invite_existing_owner_is_noopstarter_packs/tests.py:506 self.pack.owners.add(self.friend)1 ms1.0%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager.adddjango/db/models/fields/related_descriptors.py:13241 ms1.0%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager._add_basedjango/db/models/fields/related_descriptors.py:13011 ms1.0%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager._add_itemsdjango/db/models/fields/related_descriptors.py:16031 ms1.0%
QuerySet.bulk_createdjango/db/models/query.py:9001 ms1.0%
QuerySet._batched_insertdjango/db/models/query.py:21791 ms1.0%
QuerySet._insertdjango/db/models/query.py:21411 ms1.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19361 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%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.0%
TestOwnerManagement.test_invite_existing_owner_is_noopstarter_packs/tests.py:510 self.assertFalse(self.pack.invitations.filter(invited_user=self.friend).exists())1 ms1.0%
QuerySet.existsdjango/db/models/query.py:14581 ms1.0%
Query.has_resultsdjango/db/models/sql/query.py:6871 ms1.0%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15931 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 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%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.0%
teardown0.98 ms0.8%
Estimated from 97 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
starter_packs/tests.py:508
response = self.client.post(reverse("invite_owner", args=[self.pack.slug, self.friend.id]))
TestOwnerManagement.test_invite_existing_owner_is_noop
· Libraries
|
83 ms |
|
starter_packs/tests.py:507
self.client.force_login(self.owner)
TestOwnerManagement.test_invite_existing_owner_is_noop
· Database
|
9 ms |
|
starter_packs/views.py:418
invitations = list(
owners_manager_context
· Database
|
5 ms |
|
starter_packs/views.py:417
owners = list(starter_pack.owners.select_related("accountaccess__account").order_by("username"))
owners_manager_context
· Database
|
4 ms |
|
starter_packs/views.py:477
if not AccountAccess.objects.filter(user_id=user_id).exists():
invite_owner
· Database
|
2 ms |
|
starter_packs/tests.py:506
self.pack.owners.add(self.friend)
TestOwnerManagement.test_invite_existing_owner_is_noop
· Database
|
1 ms |
|
starter_packs/views.py:60
return get_object_or_404(StarterPack, slug=slug, owners=request.user, **extra)
get_editable_pack
· Database
|
1 ms |
|
starter_packs/views.py:479
elif starter_pack.owners.filter(pk=user_id).exists():
invite_owner
· Database
|
1 ms |
|
starter_packs/views.py:490
return render(request, "owners_updated.html", owners_manager_context(starter_pack, q, error))
invite_owner
· Templates
|
1 ms |
|
starter_packs/tests.py:510
self.assertFalse(self.pack.invitations.filter(invited_user=self.friend).exists())
TestOwnerManagement.test_invite_existing_owner_is_noop
· Database
|
1 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.05 ms |
| _template_string_if_invalid_marker function | 0.05 ms |
| _django_db_marker function | 0.04 ms |
| _django_isolate_apps function | 0.03 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
29 queries · 15 msNo repeated queries.
Biggest pieces of work
|
call test body
starter_packs/tests.py:507
|
109 ms |
|
call _post_teardown
django/test/testcases.py:1243
|
4 ms |
|
call _pre_setup
django/test/testcases.py:1167
|
1 ms |
| teardown pytest internals | 0.98 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 5 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 7 hours ago | CI github-actions:test | passed | 116 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 294 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 306 ms | Profile |
| 13 hours ago | CI github-actions:test | passed | 261 ms | Profile |
| 13 hours ago | CI github-actions:test | passed | 94 ms | Run |