Tests / starter_packs/tests.py
TestOwnerManagement::test_invite_creates_pending_invitation_not_owner
First seen 14 hours ago in 0c23747
CI
github-actions:test
4 runs
Average
260 ms
median 307 ms
max 322 ms
max 322 ms
Phases
Setup 3 ms
Call 256 ms
Teardown 0.38 ms
Categories
Database 53 ms
Test code 0.47 ms
Other (Libraries, pytest, Unsampled, Templates) 206 ms
33 database queries per run
Needs 0 KB of memory (max 0 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 8 hours ago ·
open run
call101 ms98.5%
CallInfo.from_call_pytest/runner.py:361101 ms98.5%
call_and_report.<locals>.<lambda>_pytest/runner.py:250101 ms98.5%
HookCaller.__call__pluggy/_hooks.py:512101 ms98.5%
PluginManager._hookexecpluggy/_manager.py:120101 ms98.5%
_multicallpluggy/_callers.py:121101 ms98.5%
pytest_runtest_call_pytest/runner.py:184101 ms98.5%
_django_setup_unittest.<locals>.non_debugging_runtestpytest_django/plugin.py:614101 ms98.5%
SimpleTestCase.__call__django/test/testcases.py:314101 ms98.5%
SimpleTestCase._setup_and_calldjango/test/testcases.py:36999 ms97.0%
TestCase.__call__<stdlib>/unittest/case.py:74799 ms97.0%
TestCase.run<stdlib>/unittest/case.py:69199 ms97.0%
TestCase._callTestMethod<stdlib>/unittest/case.py:63799 ms97.0%
TestOwnerManagement.test_invite_creates_pending_invitation_not_ownerstarter_packs/tests.py:491 response = self.client.post(reverse("invite_owner", args=[self.pack.slug, self.friend.id]))85 ms83.4%
Client.postdjango/test/client.py:116285 ms83.4%
RequestFactory.postdjango/test/client.py:49985 ms83.4%
RequestFactory.genericdjango/test/client.py:67185 ms83.4%
Client.requestdjango/test/client.py:109185 ms83.4%
ClientHandler.__call__django/test/client.py:17365 ms63.7%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6365 ms63.7%
__init____init__:-165 ms63.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10465 ms63.7%
WhiteNoise.add_fileswhitenoise/base.py:10865 ms63.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12054 ms53.1%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13151 ms50.0%
WhiteNoise.get_static_filewhitenoise/base.py:21736 ms34.9%
StaticFile.__init__whitenoise/responders.py:7314 ms13.6%
StaticFile.get_headerswhitenoise/responders.py:1765 ms4.5%
formatdate<stdlib>/email/utils.py:2612 ms1.5%
formatdate<stdlib>/email/utils.py:2662 ms1.5%
format_datetime<stdlib>/email/utils.py:2752 ms1.5%
formatdate<stdlib>/email/utils.py:2592 ms1.5%
StaticFile.get_headerswhitenoise/responders.py:1672 ms1.5%
__init____init__:-12 ms1.5%
Headers.__init__<stdlib>/wsgiref/headers.py:442 ms1.5%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms1.5%
StaticFile.get_headerswhitenoise/responders.py:1812 ms1.5%
Headers.__setitem__<stdlib>/wsgiref/headers.py:622 ms1.5%
Headers.__delitem__<stdlib>/wsgiref/headers.py:722 ms1.5%
StaticFile.get_headerswhitenoise/responders.py:1712 ms1.5%
StaticFile.get_headerswhitenoise/responders.py:1772 ms1.5%
StaticFile.get_headerswhitenoise/responders.py:1802 ms1.5%
StaticFile.__init__whitenoise/responders.py:778 ms7.6%
StaticFile.get_alternativeswhitenoise/responders.py:2005 ms4.5%
__init____init__:-15 ms4.5%
Headers.__init__<stdlib>/wsgiref/headers.py:433 ms3.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:503 ms3.0%
Headers.__init__<stdlib>/wsgiref/headers.py:442 ms1.5%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms1.5%
StaticFile.get_alternativeswhitenoise/responders.py:2013 ms3.0%
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%
StaticFile.__init__whitenoise/responders.py:745 ms4.5%
parsedate<stdlib>/email/_parseaddr.py:1855 ms4.5%
parsedate_tz<stdlib>/email/_parseaddr.py:502 ms1.5%
_parsedate_tz<stdlib>/email/_parseaddr.py:692 ms1.5%
StaticFile.__init__whitenoise/responders.py:765 ms4.5%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1883 ms3.0%
Headers.__contains__<stdlib>/wsgiref/headers.py:873 ms3.0%
Headers.get<stdlib>/wsgiref/headers.py:1052 ms1.5%
Headers.get<stdlib>/wsgiref/headers.py:1062 ms1.5%
StaticFile.__init__whitenoise/responders.py:723 ms3.0%
StaticFile.get_file_statswhitenoise/responders.py:1613 ms3.0%
__init____init__:-13 ms3.0%
FileEntry.__init__whitenoise/responders.py:2622 ms1.5%
FileEntry.__init__whitenoise/responders.py:2632 ms1.5%
FileEntry.stat_regular_filewhitenoise/responders.py:2762 ms1.5%
StaticFile.__init__whitenoise/responders.py:752 ms1.5%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms1.5%
Headers.get<stdlib>/wsgiref/headers.py:1042 ms1.5%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms1.5%
WhiteNoise.get_static_filewhitenoise/base.py:21212 ms12.1%
WhiteNoise.add_cache_headerswhitenoise/base.py:23312 ms12.1%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:17612 ms12.1%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:19712 ms12.1%
URLMixin.urldebug_toolbar/panels/staticfiles.py:2011 ms10.6%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2359 ms9.1%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2168 ms7.6%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2075 ms4.5%
urljoin<stdlib>/urllib/parse.py:7402 ms1.5%
urljoin<stdlib>/urllib/parse.py:7432 ms1.5%
urljoin<stdlib>/urllib/parse.py:7092 ms1.5%
_urlsplit<stdlib>/urllib/parse.py:5982 ms1.5%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2042 ms1.5%
filepath_to_uridjango/utils/encoding.py:2452 ms1.5%
quote<stdlib>/urllib/parse.py:10722 ms1.5%
quote_from_bytes<stdlib>/urllib/parse.py:11012 ms1.5%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2042 ms1.5%
LazyObject.__getattribute__django/utils/functional.py:2802 ms1.5%
WhiteNoise.get_static_filewhitenoise/base.py:2113 ms3.0%
WhiteNoise.add_mime_headerswhitenoise/base.py:2302 ms1.5%
WhiteNoise.add_mime_headerswhitenoise/base.py:2252 ms1.5%
MediaTypes.get_typewhitenoise/media_types.py:192 ms1.5%
splitext<frozen posixpath>:1192 ms1.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1159 ms9.1%
scantreewhitenoise/base.py:2693 ms3.0%
scantreewhitenoise/base.py:2733 ms3.0%
scantreewhitenoise/base.py:2713 ms3.0%
scantreewhitenoise/base.py:2713 ms3.0%
scantreewhitenoise/base.py:2713 ms3.0%
scantreewhitenoise/base.py:2713 ms3.0%
scantreewhitenoise/base.py:2713 ms3.0%
scantreewhitenoise/base.py:2692 ms1.5%
scantreewhitenoise/base.py:2732 ms1.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1172 ms1.5%
ClientHandler.__call__django/test/client.py:18620 ms19.7%
BaseHandler.get_responsedjango/core/handlers/base.py:14220 ms19.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5620 ms19.7%
MiddlewareMixin.__call__django/utils/deprecation.py:38020 ms19.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5620 ms19.7%
MiddlewareMixin.__call__django/utils/deprecation.py:38020 ms19.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5620 ms19.7%
MiddlewareMixin.__call__django/utils/deprecation.py:38020 ms19.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5620 ms19.7%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12320 ms19.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5620 ms19.7%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:14520 ms19.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5620 ms19.7%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms18.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms18.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms18.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms18.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms18.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms18.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms18.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms18.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms18.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms18.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms18.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms18.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38019 ms18.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5619 ms18.2%
BaseHandler._get_responsedjango/core/handlers/base.py:19919 ms18.2%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6319 ms18.2%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:6216 ms15.2%
invite_ownerstarter_packs/views.py:490 return render(request, "owners_updated.html", owners_manager_context(starter_pack, q, error))6 ms6.1%
owners_manager_contextstarter_packs/views.py:417 owners = list(starter_pack.owners.select_related("accountaccess__account").order_by("username"))3 ms3.0%
QuerySet.__iter__django/db/models/query.py:4393 ms3.0%
QuerySet._fetch_alldjango/db/models/query.py:22623 ms3.0%
ModelIterable.__iter__django/db/models/query.py:1033 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16253 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.0%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1023 ms3.0%
QueryStats.addflakytest/profiling/dbtrack.py:383 ms3.0%
normalize_sqlflakytest/profiling/dbtrack.py:232 ms1.5%
normalize_sqlflakytest/profiling/dbtrack.py:242 ms1.5%
owners_manager_contextstarter_packs/views.py:418 invitations = list(3 ms3.0%
QuerySet.__iter__django/db/models/query.py:4393 ms3.0%
QuerySet._fetch_alldjango/db/models/query.py:22623 ms3.0%
ModelIterable.__iter__django/db/models/query.py:1033 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16253 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.0%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1003 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.0%
Cursor.executepsycopg/cursor.py:1133 ms3.0%
Connection.waitpsycopg/connection.py:4953 ms3.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3182 ms1.5%
BaseCursor._set_resultspsycopg/_cursor_base.py:5352 ms1.5%
invite_ownerstarter_packs/views.py:4743 ms3.0%
get_editable_packstarter_packs/views.py:60 return get_object_or_404(StarterPack, slug=slug, owners=request.user, **extra)3 ms3.0%
get_object_or_404django/shortcuts.py:1003 ms3.0%
QuerySet.getdjango/db/models/query.py:7023 ms3.0%
QuerySet.__len__django/db/models/query.py:4213 ms3.0%
QuerySet._fetch_alldjango/db/models/query.py:22623 ms3.0%
ModelIterable.__iter__django/db/models/query.py:1033 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16122 ms1.5%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7932 ms1.5%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11602 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%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 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%
invite_ownerstarter_packs/views.py:477 if not AccountAccess.objects.filter(user_id=user_id).exists():2 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%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 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._convert_querypsycopg/_cursor_base.py:4652 ms1.5%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms1.5%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms1.5%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms1.5%
invite_ownerstarter_packs/views.py:479 elif starter_pack.owners.filter(pk=user_id).exists():2 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%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 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%
invite_ownerstarter_packs/views.py:481 elif starter_pack.invitations.filter(invited_user_id=user_id).exists():2 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%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 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%
invite_ownerstarter_packs/views.py:486 StarterPackInvitation.objects.create(2 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:593 ms3.0%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:823 ms3.0%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2513 ms3.0%
SimpleLazyObject._setupdjango/utils/functional.py:4043 ms3.0%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:393 ms3.0%
get_userdjango/contrib/auth/middleware.py:193 ms3.0%
get_userdjango/contrib/auth/__init__.py:2873 ms3.0%
_get_user_session_keydjango/contrib/auth/__init__.py:1113 ms3.0%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:553 ms3.0%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2543 ms3.0%
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%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 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:562 ms1.5%
SessionBase.decodedjango/contrib/sessions/backends/base.py:1382 ms1.5%
loadsdjango/core/signing.py:2112 ms1.5%
Signer.unsign_objectdjango/core/signing.py:2842 ms1.5%
TimestampSigner.unsigndjango/core/signing.py:3082 ms1.5%
Signer.unsigndjango/core/signing.py:2522 ms1.5%
Signer.signaturedjango/core/signing.py:2422 ms1.5%
base64_hmacdjango/core/signing.py:1142 ms1.5%
salted_hmacdjango/utils/crypto.py:612 ms1.5%
TestOwnerManagement.test_invite_creates_pending_invitation_not_ownerstarter_packs/tests.py:490 self.client.force_login(self.owner)11 ms10.6%
ClientMixin.force_logindjango/test/client.py:85811 ms10.6%
ClientMixin._logindjango/test/client.py:8845 ms4.5%
ClientMixin.sessiondjango/test/client.py:8155 ms4.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1215 ms4.5%
SessionStore.createdjango/contrib/sessions/backends/db.py:745 ms4.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1263 ms3.0%
Atomic.__enter__django/db/transaction.py:2232 ms1.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.5%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.5%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1032 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%
Atomic.__exit__django/db/transaction.py:2592 ms1.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.5%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.5%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1032 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.savedjango/contrib/sessions/backends/db.py:1232 ms1.5%
ClientMixin._logindjango/test/client.py:8895 ms4.5%
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: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:16662 ms1.5%
logindjango/contrib/auth/__init__.py:1892 ms1.5%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms1.5%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.5%
Atomic.__enter__django/db/transaction.py:2232 ms1.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.5%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.5%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1032 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%
logindjango/contrib/auth/__init__.py:1982 ms1.5%
Signal.senddjango/dispatch/dispatcher.py:2492 ms1.5%
update_last_logindjango/contrib/auth/models.py:242 ms1.5%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms1.5%
Model.savedjango/db/models/base.py:9042 ms1.5%
Model.save_basedjango/db/models/base.py:9962 ms1.5%
Model._save_tabledjango/db/models/base.py:11402 ms1.5%
Model._do_updatedjango/db/models/base.py:12442 ms1.5%
QuerySet._updatedjango/db/models/query.py:14482 ms1.5%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21502 ms1.5%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21212 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%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 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%
ClientMixin._logindjango/test/client.py:8912 ms1.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1232 ms1.5%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1022 ms1.5%
SessionBase.encodedjango/contrib/sessions/backends/base.py:1292 ms1.5%
dumpsdjango/core/signing.py:1912 ms1.5%
Signer.sign_objectdjango/core/signing.py:2762 ms1.5%
TestOwnerManagement.test_invite_creates_pending_invitation_not_ownerstarter_packs/tests.py:494 self.assertFalse(self.pack.owners.filter(pk=self.friend.pk).exists())2 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%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 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%
TestOwnerManagement.test_invite_creates_pending_invitation_not_ownerstarter_packs/tests.py:495 self.assertTrue(self.pack.invitations.filter(invited_user=self.friend, invited_by=self.owner).exists())2 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%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 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%
SimpleTestCase._setup_and_calldjango/test/testcases.py:3722 ms1.5%
TransactionTestCase._post_teardowndjango/test/testcases.py:1243 self._fixture_teardown()2 ms1.5%
TestCase._fixture_teardowndjango/test/testcases.py:14982 ms1.5%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4952 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1032 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%
Estimated from 65 samples; phase durations are exact. Frames from pytest and pluggy are
shown
.
Hot lines in your code
|
starter_packs/tests.py:491
response = self.client.post(reverse("invite_owner", args=[self.pack.slug, self.friend.id]))
TestOwnerManagement.test_invite_creates_pending_invitation_not_owner
· Libraries
|
70 ms |
|
starter_packs/tests.py:490
self.client.force_login(self.owner)
TestOwnerManagement.test_invite_creates_pending_invitation_not_owner
· Database
|
11 ms |
|
starter_packs/views.py:60
return get_object_or_404(StarterPack, slug=slug, owners=request.user, **extra)
get_editable_pack
· Database
|
3 ms |
|
starter_packs/views.py:417
owners = list(starter_pack.owners.select_related("accountaccess__account").order_by("username"))
owners_manager_context
· Database
|
3 ms |
|
starter_packs/views.py:418
invitations = list(
owners_manager_context
· Database
|
3 ms |
|
starter_packs/views.py:477
if not AccountAccess.objects.filter(user_id=user_id).exists():
invite_owner
· Database
|
2 ms |
|
starter_packs/views.py:479
elif starter_pack.owners.filter(pk=user_id).exists():
invite_owner
· Database
|
2 ms |
|
starter_packs/views.py:481
elif starter_pack.invitations.filter(invited_user_id=user_id).exists():
invite_owner
· Database
|
2 ms |
|
starter_packs/views.py:486
StarterPackInvitation.objects.create(
invite_owner
· Database
|
2 ms |
|
starter_packs/tests.py:494
self.assertFalse(self.pack.owners.filter(pk=self.friend.pk).exists())
TestOwnerManagement.test_invite_creates_pending_invitation_not_owner
· Database
|
2 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.05 ms |
| _template_string_if_invalid_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
33 queries · 13 msNo repeated queries.
Biggest pieces of work
|
call test body
starter_packs/tests.py:491
|
99 ms |
|
call _post_teardown
django/test/testcases.py:1243
|
2 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 | |
|---|---|---|---|---|
| 8 hours ago | CI github-actions:test | passed | 102 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 322 ms | Profile |
| 9 hours ago | CI github-actions:test | passed | 299 ms | Profile |
| 13 hours ago | CI github-actions:test | passed | 315 ms | Profile |
| 14 hours ago | CI github-actions:test | passed | 101 ms | Run |