flakytest.dev anze3db fedidevs
Tests / starter_packs/tests.py

TestOwnerManagement::test_invite_blocked_when_owners_plus_invitations_at_max

First seen 12 hours ago in 0c23747
CI github-actions:test 4 runs
Average
415 ms
median 469 ms
max 560 ms
Phases
Setup 58 ms Call 357 ms Teardown 0.36 ms
Categories
Database 185 ms Factories 42 ms Test code 0.75 ms App code 0.50 ms Other (Libraries, pytest, Templates, Unsampled) 186 ms

84 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, 7 hours ago · open run
Show pytest frames
call160 ms99.1%
TestOwnerManagement.test_invite_blocked_when_owners_plus_invitations_at_maxstarter_packs/tests.py:537 response = self.client.post(reverse("invite_owner", args=[self.pack.slug, self.friend.id]))84 ms51.9%
Client.postdjango/test/client.py:116284 ms51.9%
RequestFactory.postdjango/test/client.py:49984 ms51.9%
RequestFactory.genericdjango/test/client.py:67184 ms51.9%
Client.requestdjango/test/client.py:109184 ms51.9%
ClientHandler.__call__django/test/client.py:17362 ms38.5%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6362 ms38.5%
__init____init__:-162 ms38.5%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10462 ms38.5%
WhiteNoise.add_fileswhitenoise/base.py:10862 ms38.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12054 ms33.7%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13154 ms33.7%
WhiteNoise.get_static_filewhitenoise/base.py:21733 ms20.2%
StaticFile.__init__whitenoise/responders.py:7214 ms8.7%
StaticFile.get_file_statswhitenoise/responders.py:16314 ms8.7%
<GC>~14 ms8.7%
StaticFile.__init__whitenoise/responders.py:768 ms4.8%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1885 ms2.9%
Headers.__contains__<stdlib>/wsgiref/headers.py:875 ms2.9%
Headers.get<stdlib>/wsgiref/headers.py:1043 ms1.9%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:503 ms1.9%
Headers.get<stdlib>/wsgiref/headers.py:1062 ms1.0%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1903 ms1.9%
StaticFile.__init__whitenoise/responders.py:776 ms3.8%
StaticFile.get_alternativeswhitenoise/responders.py:1982 ms1.0%
StaticFile.get_alternatives.<locals>.<lambda>whitenoise/responders.py:1982 ms1.0%
<GC>~2 ms1.0%
StaticFile.get_alternativeswhitenoise/responders.py:2072 ms1.0%
StaticFile.get_alternativeswhitenoise/responders.py:2032 ms1.0%
Headers.__setitem__<stdlib>/wsgiref/headers.py:622 ms1.0%
Headers.__delitem__<stdlib>/wsgiref/headers.py:712 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:492 ms1.0%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms1.0%
StaticFile.__init__whitenoise/responders.py:735 ms2.9%
StaticFile.get_headerswhitenoise/responders.py:1782 ms1.0%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1772 ms1.0%
Headers.__contains__<stdlib>/wsgiref/headers.py:872 ms1.0%
Headers.get<stdlib>/wsgiref/headers.py:1042 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1672 ms1.0%
__init____init__:-12 ms1.0%
Headers.__init__<stdlib>/wsgiref/headers.py:442 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:21217 ms10.6%
WhiteNoise.add_cache_headerswhitenoise/base.py:23317 ms10.6%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:17614 ms8.7%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:19714 ms8.7%
URLMixin.urldebug_toolbar/panels/staticfiles.py:2012 ms7.7%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2359 ms5.8%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2166 ms3.8%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2075 ms2.9%
urljoin<stdlib>/urllib/parse.py:7052 ms1.0%
_coerce_args<stdlib>/urllib/parse.py:1302 ms1.0%
urljoin<stdlib>/urllib/parse.py:7072 ms1.0%
_urlsplit<stdlib>/urllib/parse.py:6252 ms1.0%
urljoin<stdlib>/urllib/parse.py:7432 ms1.0%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2022 ms1.0%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2082 ms1.0%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2142 ms1.0%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:6112 ms1.0%
LazyObject.__getattribute__django/utils/functional.py:2802 ms1.0%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1733 ms1.9%
WhiteNoiseMiddleware.get_name_without_hashwhitenoise/middleware.py:1922 ms1.0%
splitext<frozen posixpath>:1262 ms1.0%
_splitext<frozen genericpath>:1742 ms1.0%
WhiteNoiseMiddleware.get_name_without_hashwhitenoise/middleware.py:1912 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:2113 ms1.9%
WhiteNoise.add_mime_headerswhitenoise/base.py:2302 ms1.0%
Headers.add_header<stdlib>/wsgiref/headers.py:1832 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms1.0%
WhiteNoise.add_mime_headerswhitenoise/base.py:2252 ms1.0%
MediaTypes.get_typewhitenoise/media_types.py:202 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:2192 ms1.0%
Headers.items<stdlib>/wsgiref/headers.py:1392 ms1.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1158 ms4.8%
scantreewhitenoise/base.py:2715 ms2.9%
scantreewhitenoise/base.py:2715 ms2.9%
scantreewhitenoise/base.py:2713 ms1.9%
scantreewhitenoise/base.py:2713 ms1.9%
scantreewhitenoise/base.py:2713 ms1.9%
scantreewhitenoise/base.py:2692 ms1.0%
scantreewhitenoise/base.py:2732 ms1.0%
scantreewhitenoise/base.py:2732 ms1.0%
scantreewhitenoise/base.py:2732 ms1.0%
scantreewhitenoise/base.py:2732 ms1.0%
ClientHandler.__call__django/test/client.py:18622 ms13.5%
BaseHandler.get_responsedjango/core/handlers/base.py:14222 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5622 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38022 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5622 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38022 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5622 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38022 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5622 ms13.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12322 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5622 ms13.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:14522 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5622 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38022 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5622 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38022 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5622 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38022 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5622 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38022 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5622 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38022 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5622 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38022 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5622 ms13.5%
MiddlewareMixin.__call__django/utils/deprecation.py:38022 ms13.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5622 ms13.5%
BaseHandler._get_responsedjango/core/handlers/base.py:19922 ms13.5%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6322 ms13.5%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:6220 ms12.5%
invite_ownerstarter_packs/views.py:490 return render(request, "owners_updated.html", owners_manager_context(starter_pack, q, error))9 ms5.8%
owners_manager_contextstarter_packs/views.py:418 invitations = list(6 ms3.8%
QuerySet.__iter__django/db/models/query.py:4396 ms3.8%
QuerySet._fetch_alldjango/db/models/query.py:22626 ms3.8%
ModelIterable.__iter__django/db/models/query.py:1036 ms3.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16255 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:795 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms1.9%
Cursor.executepsycopg/cursor.py:1133 ms1.9%
Connection.waitpsycopg/connection.py:4953 ms1.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms1.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms1.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16122 ms1.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7682 ms1.0%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:902 ms1.0%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.0%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3642 ms1.0%
Expression.__hash__django/db/models/expressions.py:5622 ms1.0%
cached_property.__get__django/utils/functional.py:472 ms1.0%
Expression.identitydjango/db/models/expressions.py:5432 ms1.0%
Signature.bind_partial<stdlib>/inspect.py:32602 ms1.0%
Signature._bind<stdlib>/inspect.py:31222 ms1.0%
owners_manager_contextstarter_packs/views.py:417 owners = list(starter_pack.owners.select_related("accountaccess__account").order_by("username"))3 ms1.9%
QuerySet.__iter__django/db/models/query.py:4393 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:22623 ms1.9%
ModelIterable.__iter__django/db/models/query.py:1032 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16252 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.0%
ModelIterable.__iter__django/db/models/query.py:1172 ms1.0%
get_related_populatorsdjango/db/models/query.py:30612 ms1.0%
__init____init__:-12 ms1.0%
RelatedPopulator.__init__django/db/models/query.py:30072 ms1.0%
invite_ownerstarter_packs/views.py:4743 ms1.9%
get_editable_packstarter_packs/views.py:60 return get_object_or_404(StarterPack, slug=slug, owners=request.user, **extra)3 ms1.9%
get_object_or_404django/shortcuts.py:1003 ms1.9%
QuerySet.getdjango/db/models/query.py:7023 ms1.9%
QuerySet.__len__django/db/models/query.py:4213 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:22623 ms1.9%
ModelIterable.__iter__django/db/models/query.py:1032 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16252 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.0%
ModelIterable.__iter__django/db/models/query.py:1182 ms1.0%
invite_ownerstarter_packs/views.py:477 if not AccountAccess.objects.filter(user_id=user_id).exists():3 ms1.9%
QuerySet.existsdjango/db/models/query.py:14583 ms1.9%
Query.has_resultsdjango/db/models/sql/query.py:6873 ms1.9%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15933 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16253 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms1.9%
Cursor.executepsycopg/cursor.py:1133 ms1.9%
Connection.waitpsycopg/connection.py:4953 ms1.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms1.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3122 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.0%
invite_ownerstarter_packs/views.py:483 elif starter_pack.owners.count() + starter_pack.invitations.count() >= MAX_OWNERS:3 ms1.9%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager.countdjango/db/models/fields/related_descriptors.py:12962 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet.countdjango/db/models/query.py:6772 ms1.0%
Query.get_countdjango/db/models/sql/query.py:6572 ms1.0%
Query.get_aggregationdjango/db/models/sql/query.py:6392 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16252 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet.countdjango/db/models/query.py:6772 ms1.0%
Query.get_countdjango/db/models/sql/query.py:6572 ms1.0%
Query.get_aggregationdjango/db/models/sql/query.py:6392 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16252 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
invite_ownerstarter_packs/views.py:481 elif starter_pack.invitations.filter(invited_user_id=user_id).exists():2 ms1.0%
QuerySet.existsdjango/db/models/query.py:14582 ms1.0%
Query.has_resultsdjango/db/models/sql/query.py:6872 ms1.0%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15932 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16252 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:592 ms1.0%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:822 ms1.0%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms1.0%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms1.0%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:392 ms1.0%
get_userdjango/contrib/auth/middleware.py:192 ms1.0%
get_userdjango/contrib/auth/__init__.py:2872 ms1.0%
_get_user_session_keydjango/contrib/auth/__init__.py:1112 ms1.0%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms1.0%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2542 ms1.0%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms1.0%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet.getdjango/db/models/query.py:7022 ms1.0%
QuerySet.__len__django/db/models/query.py:4212 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:22622 ms1.0%
ModelIterable.__iter__django/db/models/query.py:1032 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16122 ms1.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7682 ms1.0%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:912 ms1.0%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.0%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3192 ms1.0%
Col.as_sqldjango/db/models/expressions.py:13672 ms1.0%
TestOwnerManagement.test_invite_blocked_when_owners_plus_invitations_at_maxstarter_packs/tests.py:534 baker.make("mastodon_auth.AccountAccess", user=invitee)45 ms27.9%
makemodel_bakery/baker.py:17545 ms27.9%
Baker.makemodel_bakery/baker.py:45445 ms27.9%
Baker._makemodel_bakery/baker.py:52936 ms22.1%
Baker.generate_valuemodel_bakery/baker.py:101934 ms21.2%
gen_relatedmodel_bakery/random_gen.py:45434 ms21.2%
makemodel_bakery/baker.py:17534 ms21.2%
Baker.makemodel_bakery/baker.py:45434 ms21.2%
Baker._makemodel_bakery/baker.py:54225 ms15.4%
Baker.instancemodel_bakery/baker.py:65922 ms13.5%
Model.savedjango/db/models/base.py:90419 ms11.5%
Model.save_basedjango/db/models/base.py:99619 ms11.5%
Model._save_tabledjango/db/models/base.py:119916 ms9.6%
Model._do_insertdjango/db/models/base.py:125116 ms9.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:8716 ms9.6%
QuerySet._insertdjango/db/models/query.py:214116 ms9.6%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:193614 ms8.7%
CursorWrapper.executedjango/db/backends/utils.py:7914 ms8.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9214 ms8.7%
CursorWrapper._executedjango/db/backends/utils.py:10514 ms8.7%
Cursor.executepsycopg/cursor.py:11314 ms8.7%
Connection.waitpsycopg/connection.py:49514 ms8.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2066 ms3.8%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2866 ms3.8%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:786 ms3.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19352 ms1.0%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18592 ms1.0%
<GC>~2 ms1.0%
Model._save_tabledjango/db/models/base.py:11812 ms1.0%
BaseConnectionHandler.__getitem__django/utils/connection.py:582 ms1.0%
Model._save_tabledjango/db/models/base.py:11772 ms1.0%
Model.savedjango/db/models/base.py:8672 ms1.0%
Model.savedjango/db/models/base.py:8582 ms1.0%
Baker.instancemodel_bakery/baker.py:6292 ms1.0%
Baker._classify_attrsmodel_bakery/baker.py:5982 ms1.0%
Baker.instancemodel_bakery/baker.py:6312 ms1.0%
Baker._makemodel_bakery/baker.py:5298 ms4.8%
Baker.generate_valuemodel_bakery/baker.py:10198 ms4.8%
gen_stringmodel_bakery/random_gen.py:2705 ms2.9%
gen_string.<locals>.<genexpr>model_bakery/random_gen.py:2703 ms1.9%
Random.choice<stdlib>/random.py:3542 ms1.0%
gen_urlmodel_bakery/random_gen.py:3202 ms1.0%
gen_stringmodel_bakery/random_gen.py:2702 ms1.0%
Baker._makemodel_bakery/baker.py:5012 ms1.0%
Baker.generate_valuemodel_bakery/baker.py:9702 ms1.0%
Baker._makemodel_bakery/baker.py:5429 ms5.8%
Baker.instancemodel_bakery/baker.py:6598 ms4.8%
Model.savedjango/db/models/base.py:9048 ms4.8%
Model.save_basedjango/db/models/base.py:9968 ms4.8%
Model._save_tabledjango/db/models/base.py:11998 ms4.8%
Model._do_insertdjango/db/models/base.py:12518 ms4.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:878 ms4.8%
QuerySet._insertdjango/db/models/query.py:21418 ms4.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19368 ms4.8%
CursorWrapper.executedjango/db/backends/utils.py:798 ms4.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:928 ms4.8%
CursorWrapper._executedjango/db/backends/utils.py:1058 ms4.8%
Cursor.executepsycopg/cursor.py:1138 ms4.8%
Connection.waitpsycopg/connection.py:4958 ms4.8%
BaseCursor._execute_genpsycopg/_cursor_base.py:2068 ms4.8%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2868 ms4.8%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:788 ms4.8%
Baker.instancemodel_bakery/baker.py:6312 ms1.0%
Model.__init__django/db/models/base.py:5202 ms1.0%
TestOwnerManagement.test_invite_blocked_when_owners_plus_invitations_at_maxstarter_packs/tests.py:533 invitee = baker.make("auth.User")11 ms6.7%
makemodel_bakery/baker.py:17511 ms6.7%
Baker.makemodel_bakery/baker.py:45411 ms6.7%
Baker._makemodel_bakery/baker.py:5429 ms5.8%
Baker.instancemodel_bakery/baker.py:6599 ms5.8%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:629 ms5.8%
Model.savedjango/db/models/base.py:9049 ms5.8%
Model.save_basedjango/db/models/base.py:9969 ms5.8%
Model._save_tabledjango/db/models/base.py:11998 ms4.8%
Model._do_insertdjango/db/models/base.py:12518 ms4.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:878 ms4.8%
QuerySet._insertdjango/db/models/query.py:21418 ms4.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19365 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:795 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms1.9%
Cursor.executepsycopg/cursor.py:1133 ms1.9%
Connection.waitpsycopg/connection.py:4953 ms1.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19352 ms1.0%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18222 ms1.0%
SQLInsertCompiler.pre_save_valdjango/db/models/sql/compiler.py:17562 ms1.0%
Field.pre_savedjango/db/models/fields/__init__.py:10292 ms1.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19672 ms1.0%
Baker._makemodel_bakery/baker.py:5292 ms1.0%
Baker.generate_valuemodel_bakery/baker.py:10192 ms1.0%
gen_stringmodel_bakery/random_gen.py:2702 ms1.0%
gen_string.<locals>.<genexpr>model_bakery/random_gen.py:2702 ms1.0%
Random.choice<stdlib>/random.py:3542 ms1.0%
Random._randbelow_with_getrandbits<stdlib>/random.py:2502 ms1.0%
TestOwnerManagement.test_invite_blocked_when_owners_plus_invitations_at_maxstarter_packs/tests.py:536 self.client.force_login(self.owner)9 ms5.8%
ClientMixin.force_logindjango/test/client.py:8589 ms5.8%
ClientMixin._logindjango/test/client.py:8843 ms1.9%
ClientMixin.sessiondjango/test/client.py:8153 ms1.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1213 ms1.9%
SessionStore.createdjango/contrib/sessions/backends/db.py:743 ms1.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1232 ms1.0%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1022 ms1.0%
SessionBase.encodedjango/contrib/sessions/backends/base.py:1292 ms1.0%
dumpsdjango/core/signing.py:1912 ms1.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.0%
Atomic.__exit__django/db/transaction.py:2592 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.0%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.0%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.0%
ClientMixin._logindjango/test/client.py:8893 ms1.9%
logindjango/contrib/auth/__init__.py:1893 ms1.9%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms1.0%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.0%
Atomic.__enter__django/db/transaction.py:2232 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.0%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.0%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.0%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4402 ms1.0%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet.getdjango/db/models/query.py:6872 ms1.0%
ClientMixin._logindjango/test/client.py:8913 ms1.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1232 ms1.0%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1022 ms1.0%
SessionBase.encodedjango/contrib/sessions/backends/base.py:1292 ms1.0%
dumpsdjango/core/signing.py:1912 ms1.0%
Signer.__init__django/core/signing.py:2342 ms1.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.0%
Atomic.__exit__django/db/transaction.py:2592 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.0%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.0%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms1.0%
TransactionTestCase._post_teardowndjango/test/testcases.py:1243 self._fixture_teardown()8 ms4.8%
TestCase._fixture_teardowndjango/test/testcases.py:14985 ms2.9%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4955 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:795 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:1035 ms2.9%
Cursor.executepsycopg/cursor.py:1135 ms2.9%
Connection.waitpsycopg/connection.py:4955 ms2.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2065 ms2.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2865 ms2.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:785 ms2.9%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms1.0%
TestCase._should_check_constraintsdjango/test/testcases.py:15062 ms1.0%
DatabaseWrapper.is_usabledjango/db/backends/postgresql/base.py:5042 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.0%
TestCase._fixture_teardowndjango/test/testcases.py:15002 ms1.0%
TestCase._rollback_atomicsdjango/test/testcases.py:14082 ms1.0%
Atomic.__exit__django/db/transaction.py:2952 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.0%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4132 ms1.0%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3712 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.0%
TestOwnerManagement.test_invite_blocked_when_owners_plus_invitations_at_maxstarter_packs/tests.py:535 StarterPackInvitation.objects.create(starter_pack=self.pack, invited_user=invitee, invited_by=self.owner)3 ms1.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms1.9%
QuerySet.createdjango/db/models/query.py:7342 ms1.0%
Model.__init__django/db/models/base.py:5862 ms1.0%
QuerySet.createdjango/db/models/query.py:7362 ms1.0%
Model.savedjango/db/models/base.py:9042 ms1.0%
Model.save_basedjango/db/models/base.py:9962 ms1.0%
Model._save_tabledjango/db/models/base.py:11992 ms1.0%
Model._do_insertdjango/db/models/base.py:12512 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet._insertdjango/db/models/query.py:21412 ms1.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19672 ms1.0%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15272 ms1.0%
Estimated from 103 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

starter_packs/tests.py:537
response = self.client.post(reverse("invite_owner", args=[self.pack.slug, self.friend.id]))
TestOwnerManagement.test_invite_blocked_when_owners_plus_invitations_at_max · Libraries
64 ms
starter_packs/tests.py:534
baker.make("mastodon_auth.AccountAccess", user=invitee)
TestOwnerManagement.test_invite_blocked_when_owners_plus_invitations_at_max · Database
45 ms
starter_packs/tests.py:533
invitee = baker.make("auth.User")
TestOwnerManagement.test_invite_blocked_when_owners_plus_invitations_at_max · Database
11 ms
starter_packs/tests.py:536
self.client.force_login(self.owner)
TestOwnerManagement.test_invite_blocked_when_owners_plus_invitations_at_max · Database
9 ms
starter_packs/views.py:418
invitations = list(
owners_manager_context · Database
6 ms
starter_packs/tests.py:535
StarterPackInvitation.objects.create(starter_pack=self.pack, invited_user=invitee, invited_by=self.owner)
TestOwnerManagement.test_invite_blocked_when_owners_plus_invitations_at_max · Database
3 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:477
if not AccountAccess.objects.filter(user_id=user_id).exists():
invite_owner · Database
3 ms
starter_packs/views.py:483
elif starter_pack.owners.count() + starter_pack.invitations.count() >= MAX_OWNERS:
invite_owner · 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

Fixtures

Exact setup time
_dj_autoclear_mailbox function 0.07 ms
_template_string_if_invalid_marker function 0.06 ms
_django_db_marker function 0.06 ms
_django_isolate_apps function 0.05 ms
_django_set_urlconf function 0.05 ms
_live_server_helper function 0.05 ms
_django_clear_site_cache function 0.03 ms
monkeypatch function 0.02 ms

Database

76 queries · 41 ms

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

9×
INSERT INTO "auth_user" ("password", "last_login", "is_superuser", "username", "first_name", "last_name", "email", "is_staff", "is_active", "date_joined") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "auth_user"."id"
9×
INSERT INTO "accounts_account" ("account_id", "instance", "instance_model_id", "username_at_instance", "search", "username", "acct", "display_name", "locked", "bot", "discoverable", "group", "noindex", "created_at", "last_status_at", "last_sync_at", "followers_count", "following_count", "statuses_c…
9×
INSERT INTO "mastodon_auth_instance" ("url", "client_id", "client_secret", "scopes", "software", "created_at", "updated_at") VALUES (%s, %s, %s, %s, %s, %s, %s) RETURNING "mastodon_auth_instance"."id"
9×
INSERT INTO "mastodon_auth_accountaccess" ("user_id", "account_id", "instance_id", "access_token", "created_at", "updated_at") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "mastodon_auth_accountaccess"."id"
9×
INSERT INTO "starter_packs_starterpackinvitation" ("starter_pack_id", "invited_user_id", "invited_by_id", "created_at") VALUES (%s, %s, %s, %s) RETURNING "starter_packs_starterpackinvitation"."id"

Biggest pieces of work

call test body
starter_packs/tests.py:537
152 ms
call _post_teardown
django/test/testcases.py:1243
8 ms

Reliability

5 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 5 results, oldest first in the strip
When Environment Outcome Duration Commit
7 hours ago CI github-actions:test passed 162 ms d923a46 main Profile
7 hours ago CI github-actions:test passed 560 ms 82997f8 main Profile
7 hours ago CI github-actions:test passed 464 ms 623aa3e main Profile
12 hours ago CI github-actions:test passed 474 ms ab6465a main Profile
12 hours ago CI github-actions:test passed 153 ms 0c23747 main Run