Tests / starter_packs/tests.py
TestOwnerManagement::test_accept_invitation_makes_owner
First seen 3 weeks ago in 0c23747
CI
github-actions:test
11 runs
Average
134 ms
median 112 ms
max 221 ms
max 221 ms
Phases
Setup 2 ms
Call 132 ms
Teardown 0.46 ms
Categories
Database 37 ms
Other (Libraries, pytest, Unsampled, Deep copies, ...) 97 ms
30 database queries per run
Needs 340 KB of memory (max 1 MB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 7 hours ago ·
open run
setup2 ms1.2%
__init____init__:-12 ms1.2%
signature<stdlib>/inspect.py:33432 ms1.2%
Signature.from_callable<stdlib>/inspect.py:30580.81 ms0.6%
_signature_from_callable<stdlib>/inspect.py:24770.81 ms0.6%
Signature.from_callable<stdlib>/inspect.py:30590.81 ms0.6%
call138 ms98.6%
TestOwnerManagement.test_accept_invitation_makes_ownerstarter_packs/tests.py:567 response = self.client.post(reverse("accept_invitation", args=[self.pack.slug]))113 ms80.7%
Client.postdjango/test/client.py:1162113 ms80.7%
RequestFactory.postdjango/test/client.py:499113 ms80.7%
RequestFactory.genericdjango/test/client.py:671113 ms80.7%
Client.requestdjango/test/client.py:1091113 ms80.7%
ClientHandler.__call__django/test/client.py:17398 ms70.2%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6398 ms70.2%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10495 ms68.0%
WhiteNoise.add_fileswhitenoise/base.py:10895 ms68.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12083 ms59.0%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13183 ms59.0%
WhiteNoise.get_static_filewhitenoise/base.py:21761 ms43.3%
StaticFile.__init__whitenoise/responders.py:7330 ms21.7%
StaticFile.get_headerswhitenoise/responders.py:17619 ms13.4%
formatdate<stdlib>/email/utils.py:2668 ms6.0%
format_datetime<stdlib>/email/utils.py:2846 ms4.5%
_format_timetuple_and_zone<stdlib>/email/utils.py:2315 ms3.7%
_format_timetuple_and_zone<stdlib>/email/utils.py:2321 ms0.7%
format_datetime<stdlib>/email/utils.py:2752 ms1.5%
formatdate<stdlib>/email/utils.py:2593 ms2.2%
Headers.__setitem__<stdlib>/wsgiref/headers.py:643 ms2.2%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:503 ms2.2%
Headers.__setitem__<stdlib>/wsgiref/headers.py:623 ms2.2%
Headers.__delitem__<stdlib>/wsgiref/headers.py:723 ms2.2%
StaticFile.get_headerswhitenoise/responders.py:1789 ms6.7%
Headers.__getitem__<stdlib>/wsgiref/headers.py:835 ms3.7%
Headers.get<stdlib>/wsgiref/headers.py:1064 ms3.0%
parsedate<stdlib>/email/_parseaddr.py:1854 ms3.0%
parsedate_tz<stdlib>/email/_parseaddr.py:504 ms3.0%
_parsedate_tz<stdlib>/email/_parseaddr.py:1803 ms2.2%
_parsedate_tz<stdlib>/email/_parseaddr.py:1401 ms0.7%
StaticFile.get_headerswhitenoise/responders.py:1712 ms1.5%
Headers.__contains__<stdlib>/wsgiref/headers.py:872 ms1.5%
StaticFile.__init__whitenoise/responders.py:7714 ms9.7%
StaticFile.get_alternativeswhitenoise/responders.py:2006 ms4.5%
__init____init__:-15 ms3.7%
Headers.__init__<stdlib>/wsgiref/headers.py:444 ms3.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:503 ms2.2%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:491 ms0.7%
Headers.__init__<stdlib>/wsgiref/headers.py:431 ms0.7%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms0.7%
StaticFile.get_alternativeswhitenoise/responders.py:2016 ms4.5%
Headers.__setitem__<stdlib>/wsgiref/headers.py:643 ms2.2%
Headers.__setitem__<stdlib>/wsgiref/headers.py:622 ms1.5%
Headers.__delitem__<stdlib>/wsgiref/headers.py:722 ms1.5%
Headers.__setitem__<stdlib>/wsgiref/headers.py:631 ms0.7%
StaticFile.get_alternativeswhitenoise/responders.py:2031 ms0.7%
Headers.__setitem__<stdlib>/wsgiref/headers.py:621 ms0.7%
Headers.__delitem__<stdlib>/wsgiref/headers.py:661 ms0.7%
StaticFile.__init__whitenoise/responders.py:745 ms3.7%
parsedate<stdlib>/email/_parseaddr.py:1855 ms3.7%
parsedate_tz<stdlib>/email/_parseaddr.py:505 ms3.7%
_parsedate_tz<stdlib>/email/_parseaddr.py:1212 ms1.5%
_parsedate_tz<stdlib>/email/_parseaddr.py:1132 ms1.5%
_parsedate_tz<stdlib>/email/_parseaddr.py:1631 ms0.7%
StaticFile.__init__whitenoise/responders.py:765 ms3.7%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1883 ms2.2%
Headers.__contains__<stdlib>/wsgiref/headers.py:873 ms2.2%
Headers.get<stdlib>/wsgiref/headers.py:1041 ms0.7%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:481 ms0.7%
Headers.get<stdlib>/wsgiref/headers.py:1081 ms0.7%
Headers.get<stdlib>/wsgiref/headers.py:1061 ms0.7%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1892 ms1.5%
StaticFile.__init__whitenoise/responders.py:725 ms3.7%
StaticFile.get_file_statswhitenoise/responders.py:1613 ms2.2%
__init____init__:-13 ms2.2%
FileEntry.__init__whitenoise/responders.py:2632 ms1.5%
FileEntry.stat_regular_filewhitenoise/responders.py:2741 ms0.7%
FileEntry.stat_regular_filewhitenoise/responders.py:2761 ms0.7%
<GC>~1 ms0.7%
FileEntry.__init__whitenoise/responders.py:2621 ms0.7%
StaticFile.get_file_statswhitenoise/responders.py:1571 ms0.7%
__init____init__:-11 ms0.7%
FileEntry.__init__whitenoise/responders.py:2631 ms0.7%
FileEntry.stat_regular_filewhitenoise/responders.py:2821 ms0.7%
StaticFile.get_file_statswhitenoise/responders.py:1631 ms0.7%
WhiteNoise.get_static_filewhitenoise/base.py:21219 ms13.4%
WhiteNoise.add_cache_headerswhitenoise/base.py:23319 ms13.4%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:17619 ms13.4%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:19719 ms13.4%
URLMixin.urldebug_toolbar/panels/staticfiles.py:2018 ms12.7%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:23518 ms12.7%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2086 ms4.5%
urlsplit<stdlib>/urllib/parse.py:5793 ms2.2%
_coerce_args<stdlib>/urllib/parse.py:1283 ms2.2%
urlsplit<stdlib>/urllib/parse.py:5881 ms0.7%
urlsplit<stdlib>/urllib/parse.py:5861 ms0.7%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2145 ms3.7%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5953 ms2.2%
unquote<stdlib>/urllib/parse.py:8362 ms1.5%
unquote<stdlib>/urllib/parse.py:8481 ms0.7%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5961 ms0.7%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5981 ms0.7%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2164 ms3.0%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2073 ms2.2%
urljoin<stdlib>/urllib/parse.py:7401 ms0.7%
urljoin<stdlib>/urllib/parse.py:7071 ms0.7%
_urlsplit<stdlib>/urllib/parse.py:5971 ms0.7%
urljoin<stdlib>/urllib/parse.py:7651 ms0.7%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2041 ms0.7%
filepath_to_uridjango/utils/encoding.py:2451 ms0.7%
quote<stdlib>/urllib/parse.py:10721 ms0.7%
quote_from_bytes<stdlib>/urllib/parse.py:11111 ms0.7%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2531 ms0.7%
WhiteNoise.get_static_filewhitenoise/base.py:2142 ms1.5%
Headers.__setitem__<stdlib>/wsgiref/headers.py:622 ms1.5%
Headers.__delitem__<stdlib>/wsgiref/headers.py:712 ms1.5%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms1.5%
WhiteNoise.get_static_filewhitenoise/base.py:2211 ms0.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:11510 ms7.5%
scantreewhitenoise/base.py:2718 ms6.0%
scantreewhitenoise/base.py:2718 ms6.0%
scantreewhitenoise/base.py:2716 ms4.5%
scantreewhitenoise/base.py:2716 ms4.5%
scantreewhitenoise/base.py:2716 ms4.5%
scantreewhitenoise/base.py:2736 ms4.5%
<GC>~1 ms0.7%
scantreewhitenoise/base.py:2732 ms1.5%
scantreewhitenoise/base.py:2731 ms0.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1181 ms0.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1171 ms0.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1113 ms2.2%
WhiteNoise.add_fileswhitenoise/base.py:1083 ms2.2%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1203 ms2.2%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1313 ms2.2%
WhiteNoise.get_static_filewhitenoise/base.py:2173 ms2.2%
StaticFile.__init__whitenoise/responders.py:732 ms1.5%
StaticFile.get_headerswhitenoise/responders.py:1762 ms1.5%
formatdate<stdlib>/email/utils.py:2662 ms1.5%
format_datetime<stdlib>/email/utils.py:2752 ms1.5%
StaticFile.__init__whitenoise/responders.py:751 ms0.7%
Headers.__getitem__<stdlib>/wsgiref/headers.py:831 ms0.7%
Headers.get<stdlib>/wsgiref/headers.py:1051 ms0.7%
ClientHandler.__call__django/test/client.py:18615 ms10.5%
BaseHandler.get_responsedjango/core/handlers/base.py:14215 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5615 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38015 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5615 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38015 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5615 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38015 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5615 ms10.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12315 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5615 ms10.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:14515 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5615 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38015 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5615 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38015 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5615 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38015 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5615 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38015 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5615 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38015 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5615 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38015 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5615 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38015 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5615 ms10.5%
BaseHandler._get_responsedjango/core/handlers/base.py:19915 ms10.5%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6315 ms10.5%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:629 ms6.7%
accept_invitationstarter_packs/views.py:526 starter_pack = get_object_or_404(StarterPack, slug=starter_pack_slug, deleted_at__isnull=True)3 ms2.2%
get_object_or_404django/shortcuts.py:1003 ms2.2%
QuerySet.getdjango/db/models/query.py:7022 ms1.5%
QuerySet.__len__django/db/models/query.py:4212 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:22622 ms1.5%
ModelIterable.__iter__django/db/models/query.py:1032 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16252 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
QuerySet.getdjango/db/models/query.py:6921 ms0.7%
QuerySet.filterdjango/db/models/query.py:16761 ms0.7%
QuerySet._filter_or_excludedjango/db/models/query.py:16941 ms0.7%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:17041 ms0.7%
Query.add_qdjango/db/models/sql/query.py:16811 ms0.7%
Query._add_qdjango/db/models/sql/query.py:17131 ms0.7%
Query.build_filterdjango/db/models/sql/query.py:16131 ms0.7%
accept_invitationstarter_packs/views.py:527 invitation = get_object_or_404(StarterPackInvitation, starter_pack=starter_pack, invited_user=request.user)3 ms2.2%
get_object_or_404django/shortcuts.py:1003 ms2.2%
QuerySet.getdjango/db/models/query.py:7023 ms2.2%
QuerySet.__len__django/db/models/query.py:4213 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:22623 ms2.2%
ModelIterable.__iter__django/db/models/query.py:1033 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16253 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms2.2%
Cursor.executepsycopg/cursor.py:1133 ms2.2%
Connection.waitpsycopg/connection.py:4953 ms2.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms0.7%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms0.7%
PostgresClientQuery.convertpsycopg/_queries.py:2841 ms0.7%
accept_invitationstarter_packs/views.py:528 if starter_pack.owners.count() >= MAX_OWNERS:1 ms0.7%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager.countdjango/db/models/fields/related_descriptors.py:12961 ms0.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.7%
QuerySet.countdjango/db/models/query.py:6771 ms0.7%
Query.get_countdjango/db/models/sql/query.py:6571 ms0.7%
Query.get_aggregationdjango/db/models/sql/query.py:6391 ms0.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 ms0.7%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.7%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.7%
Cursor.executepsycopg/cursor.py:1131 ms0.7%
Connection.waitpsycopg/connection.py:4951 ms0.7%
accept_invitationstarter_packs/views.py:531 starter_pack.owners.add(request.user)1 ms0.7%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager.adddjango/db/models/fields/related_descriptors.py:13241 ms0.7%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager._add_basedjango/db/models/fields/related_descriptors.py:13011 ms0.7%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager._add_itemsdjango/db/models/fields/related_descriptors.py:16031 ms0.7%
QuerySet.bulk_createdjango/db/models/query.py:9001 ms0.7%
QuerySet._batched_insertdjango/db/models/query.py:21791 ms0.7%
QuerySet._insertdjango/db/models/query.py:21411 ms0.7%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19351 ms0.7%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18241 ms0.7%
SQLInsertCompiler.prepare_valuedjango/db/models/sql/compiler.py:17471 ms0.7%
ForeignKey.get_db_prep_savedjango/db/models/fields/related.py:12751 ms0.7%
ForeignKey.target_fielddjango/db/models/fields/related.py:12051 ms0.7%
accept_invitationstarter_packs/views.py:534 return redirect("share_starter_pack", starter_pack_slug=starter_pack.slug)1 ms0.7%
redirectdjango/shortcuts.py:591 ms0.7%
HttpResponseRedirectBase.__init__django/http/response.py:6561 ms0.7%
urlsplit<stdlib>/urllib/parse.py:5881 ms0.7%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:595 ms3.7%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:825 ms3.7%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2515 ms3.7%
SimpleLazyObject._setupdjango/utils/functional.py:4045 ms3.7%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:395 ms3.7%
get_userdjango/contrib/auth/middleware.py:195 ms3.7%
get_userdjango/contrib/auth/__init__.py:2873 ms2.2%
_get_user_session_keydjango/contrib/auth/__init__.py:1113 ms2.2%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:553 ms2.2%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2543 ms2.2%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms1.5%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
QuerySet.getdjango/db/models/query.py:7022 ms1.5%
QuerySet.__len__django/db/models/query.py:4212 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:22622 ms1.5%
ModelIterable.__iter__django/db/models/query.py:1032 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16252 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.5%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.5%
SessionStore.loaddjango/contrib/sessions/backends/db.py:561 ms0.7%
SessionBase.decodedjango/contrib/sessions/backends/base.py:1381 ms0.7%
loadsdjango/core/signing.py:2111 ms0.7%
Signer.unsign_objectdjango/core/signing.py:2841 ms0.7%
TimestampSigner.unsigndjango/core/signing.py:3081 ms0.7%
Signer.unsigndjango/core/signing.py:2521 ms0.7%
Signer.signaturedjango/core/signing.py:2421 ms0.7%
base64_hmacdjango/core/signing.py:1141 ms0.7%
salted_hmacdjango/utils/crypto.py:561 ms0.7%
get_userdjango/contrib/auth/__init__.py:2942 ms1.5%
ModelBackend.get_userdjango/contrib/auth/backends.py:2372 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
QuerySet.getdjango/db/models/query.py:7022 ms1.5%
QuerySet.__len__django/db/models/query.py:4212 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:22622 ms1.5%
ModelIterable.__iter__django/db/models/query.py:1032 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16121 ms0.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7731 ms0.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 ms0.7%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.7%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.7%
Cursor.executepsycopg/cursor.py:1131 ms0.7%
Connection.waitpsycopg/connection.py:4951 ms0.7%
TestOwnerManagement.test_accept_invitation_makes_ownerstarter_packs/tests.py:566 self.client.force_login(self.friend)15 ms10.5%
ClientMixin.force_logindjango/test/client.py:85815 ms10.5%
ClientMixin._logindjango/test/client.py:8898 ms6.0%
logindjango/contrib/auth/__init__.py:1895 ms3.7%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4403 ms2.2%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1753 ms2.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
QuerySet.getdjango/db/models/query.py:6921 ms0.7%
QuerySet.filterdjango/db/models/query.py:16761 ms0.7%
QuerySet._filter_or_excludedjango/db/models/query.py:16941 ms0.7%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:17041 ms0.7%
Query.add_qdjango/db/models/sql/query.py:16811 ms0.7%
Query._add_qdjango/db/models/sql/query.py:17131 ms0.7%
Query.build_filterdjango/db/models/sql/query.py:16111 ms0.7%
Query._get_coldjango/db/models/sql/query.py:4561 ms0.7%
Field.get_coldjango/db/models/fields/__init__.py:5771 ms0.7%
Field.__eq__django/db/models/fields/__init__.py:7181 ms0.7%
QuerySet.getdjango/db/models/query.py:7021 ms0.7%
QuerySet.__len__django/db/models/query.py:4211 ms0.7%
QuerySet._fetch_alldjango/db/models/query.py:22621 ms0.7%
ModelIterable.__iter__django/db/models/query.py:1031 ms0.7%
Model.deletedjango/db/models/base.py:13311 ms0.7%
Collector.deletedjango/db/models/deletion.py:4831 ms0.7%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:431 ms0.7%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:251 ms0.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 ms0.7%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.7%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.7%
Cursor.executepsycopg/cursor.py:1131 ms0.7%
Connection.waitpsycopg/connection.py:4951 ms0.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms0.7%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms0.7%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms0.7%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms1.5%
SessionStore.createdjango/contrib/sessions/backends/db.py:701 ms0.7%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:2011 ms0.7%
SessionStore.existsdjango/contrib/sessions/backends/db.py:631 ms0.7%
QuerySet.existsdjango/db/models/query.py:14581 ms0.7%
Query.has_resultsdjango/db/models/sql/query.py:6871 ms0.7%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15931 ms0.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 ms0.7%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.7%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.7%
Cursor.executepsycopg/cursor.py:1131 ms0.7%
Connection.waitpsycopg/connection.py:4951 ms0.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms0.7%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms0.7%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms0.7%
SessionStore.createdjango/contrib/sessions/backends/db.py:741 ms0.7%
SessionStore.savedjango/contrib/sessions/backends/db.py:1271 ms0.7%
Model.savedjango/db/models/base.py:9041 ms0.7%
Model.save_basedjango/db/models/base.py:9961 ms0.7%
Model._save_tabledjango/db/models/base.py:11811 ms0.7%
BaseConnectionHandler.__getitem__django/utils/connection.py:581 ms0.7%
Local.__getattr__asgiref/local.py:1571 ms0.7%
logindjango/contrib/auth/__init__.py:1772 ms1.5%
SessionBase.__contains__django/contrib/sessions/backends/base.py:522 ms1.5%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2542 ms1.5%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms1.5%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
QuerySet.getdjango/db/models/query.py:6921 ms0.7%
QuerySet.filterdjango/db/models/query.py:16761 ms0.7%
QuerySet._filter_or_excludedjango/db/models/query.py:16941 ms0.7%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:17041 ms0.7%
Query.add_qdjango/db/models/sql/query.py:16811 ms0.7%
Query._add_qdjango/db/models/sql/query.py:17241 ms0.7%
JoinPromoter.add_votesdjango/db/models/sql/query.py:28411 ms0.7%
Counter.update<stdlib>/collections/__init__.py:7071 ms0.7%
QuerySet.getdjango/db/models/query.py:7021 ms0.7%
QuerySet.__len__django/db/models/query.py:4211 ms0.7%
QuerySet._fetch_alldjango/db/models/query.py:22621 ms0.7%
ModelIterable.__iter__django/db/models/query.py:1351 ms0.7%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15781 ms0.7%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15191 ms0.7%
logindjango/contrib/auth/__init__.py:1981 ms0.7%
Signal.senddjango/dispatch/dispatcher.py:2491 ms0.7%
update_last_logindjango/contrib/auth/models.py:241 ms0.7%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:621 ms0.7%
Model.savedjango/db/models/base.py:9041 ms0.7%
Model.save_basedjango/db/models/base.py:9961 ms0.7%
Model._save_tabledjango/db/models/base.py:11401 ms0.7%
Model._do_updatedjango/db/models/base.py:12441 ms0.7%
QuerySet._updatedjango/db/models/query.py:14481 ms0.7%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21501 ms0.7%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21211 ms0.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 ms0.7%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.7%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.7%
Cursor.executepsycopg/cursor.py:1131 ms0.7%
Connection.waitpsycopg/connection.py:4951 ms0.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms0.7%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms0.7%
PostgresClientQuery.convertpsycopg/_queries.py:2891 ms0.7%
PostgresClientQuery.dumppsycopg/_queries.py:2991 ms0.7%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3001 ms0.7%
ClientMixin._logindjango/test/client.py:8844 ms3.0%
ClientMixin.sessiondjango/test/client.py:8154 ms3.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms3.0%
SessionStore.createdjango/contrib/sessions/backends/db.py:703 ms2.2%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:2012 ms1.5%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms1.5%
QuerySet.existsdjango/db/models/query.py:14582 ms1.5%
Query.has_resultsdjango/db/models/sql/query.py:6872 ms1.5%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15932 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16252 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:2001 ms0.7%
get_random_stringdjango/utils/crypto.py:781 ms0.7%
get_random_string.<locals>.<genexpr>django/utils/crypto.py:781 ms0.7%
Random.choice<stdlib>/random.py:3541 ms0.7%
Random._randbelow_with_getrandbits<stdlib>/random.py:2491 ms0.7%
SystemRandom.getrandbits<stdlib>/random.py:9151 ms0.7%
SessionStore.createdjango/contrib/sessions/backends/db.py:741 ms0.7%
SessionStore.savedjango/contrib/sessions/backends/db.py:1261 ms0.7%
Atomic.__exit__django/db/transaction.py:2591 ms0.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms0.7%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4311 ms0.7%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3751 ms0.7%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.7%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms0.7%
Cursor.executepsycopg/cursor.py:1131 ms0.7%
Connection.waitpsycopg/connection.py:4951 ms0.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms0.7%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms0.7%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms0.7%
ClientMixin._logindjango/test/client.py:8912 ms1.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1261 ms0.7%
Atomic.__enter__django/db/transaction.py:2231 ms0.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms0.7%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms0.7%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms0.7%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.7%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms0.7%
Cursor.executepsycopg/cursor.py:1131 ms0.7%
Connection.waitpsycopg/connection.py:4951 ms0.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms0.7%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms0.7%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms0.7%
SessionStore.savedjango/contrib/sessions/backends/db.py:1271 ms0.7%
Model.savedjango/db/models/base.py:9041 ms0.7%
Model.save_basedjango/db/models/base.py:9961 ms0.7%
Model._save_tabledjango/db/models/base.py:11401 ms0.7%
Model._do_updatedjango/db/models/base.py:12441 ms0.7%
QuerySet._updatedjango/db/models/query.py:14481 ms0.7%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21501 ms0.7%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21211 ms0.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 ms0.7%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.7%
TestOwnerManagement.test_accept_invitation_makes_ownerstarter_packs/tests.py:571 self.assertTrue(self.pack.owners.filter(pk=self.friend.pk).exists())4 ms3.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms2.2%
QuerySet.filterdjango/db/models/query.py:16753 ms2.2%
QuerySet._not_support_combined_queriesdjango/db/models/query.py:23363 ms2.2%
QuerySet.querydjango/db/models/query.py:3553 ms2.2%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:17043 ms2.2%
Query.add_qdjango/db/models/sql/query.py:16813 ms2.2%
Query._add_qdjango/db/models/sql/query.py:17133 ms2.2%
Query.build_filterdjango/db/models/sql/query.py:16113 ms2.2%
Query._get_coldjango/db/models/sql/query.py:4563 ms2.2%
ForeignKey.get_coldjango/db/models/fields/related.py:13403 ms2.2%
Field.get_coldjango/db/models/fields/__init__.py:5823 ms2.2%
deconstructible.<locals>.decorator.<locals>.__new__django/utils/deconstruct.py:-13 ms2.2%
QuerySet.existsdjango/db/models/query.py:14581 ms0.7%
Query.has_resultsdjango/db/models/sql/query.py:6871 ms0.7%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15931 ms0.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16121 ms0.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7961 ms0.7%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5791 ms0.7%
WhereNode.as_sqldjango/db/models/sql/where.py:1511 ms0.7%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5791 ms0.7%
Exact.as_sqldjango/db/models/lookups.py:4071 ms0.7%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2431 ms0.7%
BuiltinLookup.process_lhsdjango/db/models/lookups.py:2351 ms0.7%
Lookup.process_lhsdjango/db/models/lookups.py:1101 ms0.7%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5791 ms0.7%
Col.as_sqldjango/db/models/expressions.py:13691 ms0.7%
SQLCompiler.quote_namedjango/db/models/sql/compiler.py:5571 ms0.7%
TestOwnerManagement.test_accept_invitation_makes_ownerstarter_packs/tests.py:565 StarterPackInvitation.objects.create(starter_pack=self.pack, invited_user=self.friend, invited_by=self.owner)2 ms1.5%
TestData.__get__django/test/testcases.py:13701 ms0.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.7%
QuerySet.createdjango/db/models/query.py:7361 ms0.7%
Model.savedjango/db/models/base.py:9041 ms0.7%
Model.save_basedjango/db/models/base.py:9961 ms0.7%
Model._save_tabledjango/db/models/base.py:11991 ms0.7%
Model._do_insertdjango/db/models/base.py:12511 ms0.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.7%
QuerySet._insertdjango/db/models/query.py:21411 ms0.7%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19361 ms0.7%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.7%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.7%
Cursor.executepsycopg/cursor.py:1131 ms0.7%
Connection.waitpsycopg/connection.py:4951 ms0.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms0.7%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms0.7%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms0.7%
TestOwnerManagement.test_accept_invitation_makes_ownerstarter_packs/tests.py:572 self.assertFalse(self.pack.invitations.filter(invited_user=self.friend).exists())2 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.7%
QuerySet.filterdjango/db/models/query.py:16761 ms0.7%
QuerySet._filter_or_excludedjango/db/models/query.py:16941 ms0.7%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:17041 ms0.7%
Query.add_qdjango/db/models/sql/query.py:16811 ms0.7%
Query._add_qdjango/db/models/sql/query.py:17131 ms0.7%
Query.build_filterdjango/db/models/sql/query.py:15661 ms0.7%
Query.check_filterabledjango/db/models/sql/query.py:14111 ms0.7%
QuerySet.existsdjango/db/models/query.py:14581 ms0.7%
Query.has_resultsdjango/db/models/sql/query.py:6871 ms0.7%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15931 ms0.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 ms0.7%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.7%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.7%
Cursor.executepsycopg/cursor.py:1131 ms0.7%
Connection.waitpsycopg/connection.py:4951 ms0.7%
TransactionTestCase._post_teardowndjango/test/testcases.py:1243 self._fixture_teardown()2 ms1.5%
TestCase._fixture_teardowndjango/test/testcases.py:14981 ms0.7%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4951 ms0.7%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.7%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms0.7%
Cursor.executepsycopg/cursor.py:1131 ms0.7%
Connection.waitpsycopg/connection.py:4951 ms0.7%
TestCase._fixture_teardowndjango/test/testcases.py:15001 ms0.7%
TestCase._rollback_atomicsdjango/test/testcases.py:14081 ms0.7%
Atomic.__exit__django/db/transaction.py:2951 ms0.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms0.7%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4131 ms0.7%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3711 ms0.7%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.7%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms0.7%
Cursor.executepsycopg/cursor.py:1131 ms0.7%
Connection.waitpsycopg/connection.py:4951 ms0.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms0.7%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms0.7%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms0.7%
Estimated from 134 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
starter_packs/tests.py:567
response = self.client.post(reverse("accept_invitation", args=[self.pack.slug]))
TestOwnerManagement.test_accept_invitation_makes_owner
· Libraries
|
104 ms |
|
starter_packs/tests.py:566
self.client.force_login(self.friend)
TestOwnerManagement.test_accept_invitation_makes_owner
· Database
|
15 ms |
|
starter_packs/tests.py:571
self.assertTrue(self.pack.owners.filter(pk=self.friend.pk).exists())
TestOwnerManagement.test_accept_invitation_makes_owner
· Database
|
4 ms |
|
starter_packs/views.py:526
starter_pack = get_object_or_404(StarterPack, slug=starter_pack_slug, deleted_at__isnull=True)
accept_invitation
· Database
|
3 ms |
|
starter_packs/views.py:527
invitation = get_object_or_404(StarterPackInvitation, starter_pack=starter_pack, invited_user=request.user)
accept_invitation
· Database
|
3 ms |
|
starter_packs/tests.py:565
StarterPackInvitation.objects.create(starter_pack=self.pack, invited_user=self.friend, invited_by=self.owner)
TestOwnerManagement.test_accept_invitation_makes_owner
· Libraries
|
2 ms |
|
starter_packs/tests.py:572
self.assertFalse(self.pack.invitations.filter(invited_user=self.friend).exists())
TestOwnerManagement.test_accept_invitation_makes_owner
· Database
|
2 ms |
|
starter_packs/views.py:528
if starter_pack.owners.count() >= MAX_OWNERS:
accept_invitation
· Database
|
1 ms |
|
starter_packs/views.py:531
starter_pack.owners.add(request.user)
accept_invitation
· Database
|
1 ms |
|
starter_packs/views.py:534
return redirect("share_starter_pack", starter_pack_slug=starter_pack.slug)
accept_invitation
· Libraries
|
1 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.16 ms |
| _dj_autoclear_mailbox function | 0.06 ms |
| _django_db_marker function | 0.05 ms |
| _django_isolate_apps function | 0.05 ms |
| _live_server_helper function | 0.05 ms |
| _django_set_urlconf function | 0.05 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.03 ms |
Database
30 queries · 21 msNo repeated queries.
Biggest pieces of work
|
call test body
starter_packs/tests.py:567
|
136 ms |
|
call _post_teardown
django/test/testcases.py:1243
|
2 ms |
|
setup __init__
__init__:-1
|
2 ms |
Reliability
12 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 12 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 7 hours ago | CI github-actions:test | passed | 140 ms | Profile |
| 16 hours ago | CI github-actions:test | passed | 73 ms | Profile |
| 22 hours ago | CI github-actions:test | passed | 110 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 173 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 107 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 112 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 105 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 63 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 205 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 221 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 165 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 82 ms | Run |