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

MastodonAuthCallbackTests::test_pleroma_granular_scope_mismatch_still_logs_in

First seen 4 months, 2 weeks ago in fcb1b79
CI github-actions:test 11 runs
Average
138 ms
median 140 ms
max 242 ms
Phases
Setup 2 ms Call 136 ms Teardown 0.33 ms
Categories
Database 21 ms Other (Mocking, Cache, Unsampled, pytest, ...) 117 ms

32 database queries per run

Needs 175 KB of memory (max 740 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 7 hours ago · open run
Show pytest frames
call111 ms98.9%
MastodonAuthCallbackTests.test_pleroma_granular_scope_mismatch_still_logs_inmastodon_auth/tests.py:411 response = self.client.get("/mastodon_auth/", {"code": "abc", "state": state})107 ms95.6%
Client.getdjango/test/client.py:1133107 ms95.6%
RequestFactory.getdjango/test/client.py:475107 ms95.6%
RequestFactory.genericdjango/test/client.py:671107 ms95.6%
Client.requestdjango/test/client.py:1091107 ms95.6%
ClientHandler.__call__django/test/client.py:17390 ms80.0%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6390 ms80.0%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10490 ms80.0%
WhiteNoise.add_fileswhitenoise/base.py:10890 ms80.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12081 ms72.3%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13180 ms71.1%
WhiteNoise.get_static_filewhitenoise/base.py:21755 ms48.9%
StaticFile.__init__whitenoise/responders.py:7321 ms18.9%
StaticFile.get_headerswhitenoise/responders.py:1766 ms5.6%
formatdate<stdlib>/email/utils.py:2592 ms2.2%
Headers.__setitem__<stdlib>/wsgiref/headers.py:621 ms1.1%
Headers.__delitem__<stdlib>/wsgiref/headers.py:711 ms1.1%
Headers.__setitem__<stdlib>/wsgiref/headers.py:641 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:481 ms1.1%
formatdate<stdlib>/email/utils.py:2661 ms1.1%
format_datetime<stdlib>/email/utils.py:2751 ms1.1%
StaticFile.get_headerswhitenoise/responders.py:1714 ms3.3%
Headers.__contains__<stdlib>/wsgiref/headers.py:874 ms3.3%
Headers.get<stdlib>/wsgiref/headers.py:1062 ms2.2%
Headers.get<stdlib>/wsgiref/headers.py:1041 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.1%
StaticFile.get_headerswhitenoise/responders.py:1814 ms3.3%
Headers.__setitem__<stdlib>/wsgiref/headers.py:622 ms2.2%
Headers.__delitem__<stdlib>/wsgiref/headers.py:712 ms2.2%
Headers.__setitem__<stdlib>/wsgiref/headers.py:641 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.1%
StaticFile.get_headerswhitenoise/responders.py:1784 ms3.3%
Headers.__getitem__<stdlib>/wsgiref/headers.py:831 ms1.1%
Headers.get<stdlib>/wsgiref/headers.py:1041 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.1%
parsedate<stdlib>/email/_parseaddr.py:1851 ms1.1%
parsedate_tz<stdlib>/email/_parseaddr.py:501 ms1.1%
_parsedate_tz<stdlib>/email/_parseaddr.py:1621 ms1.1%
StaticFile.get_headerswhitenoise/responders.py:1801 ms1.1%
StaticFile.get_headerswhitenoise/responders.py:1701 ms1.1%
Headers.__setitem__<stdlib>/wsgiref/headers.py:641 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.1%
StaticFile.get_headerswhitenoise/responders.py:1671 ms1.1%
__init____init__:-11 ms1.1%
Headers.__init__<stdlib>/wsgiref/headers.py:441 ms1.1%
StaticFile.__init__whitenoise/responders.py:7714 ms12.2%
StaticFile.get_alternativeswhitenoise/responders.py:2005 ms4.4%
__init____init__:-15 ms4.4%
Headers.__init__<stdlib>/wsgiref/headers.py:442 ms2.2%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms2.2%
Headers.__init__<stdlib>/wsgiref/headers.py:432 ms2.2%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:491 ms1.1%
StaticFile.get_alternativeswhitenoise/responders.py:2015 ms4.4%
Headers.__setitem__<stdlib>/wsgiref/headers.py:624 ms3.3%
Headers.__delitem__<stdlib>/wsgiref/headers.py:722 ms2.2%
Headers.__delitem__<stdlib>/wsgiref/headers.py:711 ms1.1%
StaticFile.get_alternativeswhitenoise/responders.py:1981 ms1.1%
StaticFile.get_alternativeswhitenoise/responders.py:2061 ms1.1%
compile<stdlib>/re/__init__.py:2911 ms1.1%
_compile<stdlib>/re/__init__.py:3341 ms1.1%
StaticFile.__init__whitenoise/responders.py:7610 ms8.9%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1886 ms5.6%
Headers.__contains__<stdlib>/wsgiref/headers.py:876 ms5.6%
Headers.get<stdlib>/wsgiref/headers.py:1064 ms3.3%
Headers.get<stdlib>/wsgiref/headers.py:1041 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.1%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1892 ms2.2%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms2.2%
Headers.get<stdlib>/wsgiref/headers.py:1061 ms1.1%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1901 ms1.1%
StaticFile.__init__whitenoise/responders.py:727 ms6.7%
StaticFile.get_file_statswhitenoise/responders.py:1614 ms3.3%
__init____init__:-14 ms3.3%
FileEntry.__init__whitenoise/responders.py:2634 ms3.3%
FileEntry.stat_regular_filewhitenoise/responders.py:2742 ms2.2%
FileEntry.stat_regular_filewhitenoise/responders.py:2761 ms1.1%
StaticFile.get_file_statswhitenoise/responders.py:1572 ms2.2%
__init____init__:-12 ms2.2%
FileEntry.__init__whitenoise/responders.py:2631 ms1.1%
FileEntry.__init__whitenoise/responders.py:2641 ms1.1%
StaticFile.get_file_statswhitenoise/responders.py:1631 ms1.1%
StaticFile.__init__whitenoise/responders.py:751 ms1.1%
Headers.__getitem__<stdlib>/wsgiref/headers.py:831 ms1.1%
Headers.get<stdlib>/wsgiref/headers.py:1041 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.1%
WhiteNoise.get_static_filewhitenoise/base.py:21221 ms18.9%
WhiteNoise.add_cache_headerswhitenoise/base.py:23317 ms15.6%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:17615 ms13.3%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:19715 ms13.3%
URLMixin.urldebug_toolbar/panels/staticfiles.py:2011 ms10.0%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:23511 ms10.0%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2084 ms3.3%
urlsplit<stdlib>/urllib/parse.py:5791 ms1.1%
_coerce_args<stdlib>/urllib/parse.py:1281 ms1.1%
urlsplit<stdlib>/urllib/parse.py:5821 ms1.1%
_urlsplit<stdlib>/urllib/parse.py:6241 ms1.1%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2144 ms3.3%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:6112 ms2.2%
urlunsplit<stdlib>/urllib/parse.py:6651 ms1.1%
_coerce_args<stdlib>/urllib/parse.py:1401 ms1.1%
urlunsplit<stdlib>/urllib/parse.py:6811 ms1.1%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5951 ms1.1%
unquote<stdlib>/urllib/parse.py:8461 ms1.1%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2164 ms3.3%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2074 ms3.3%
urljoin<stdlib>/urllib/parse.py:7051 ms1.1%
_coerce_args<stdlib>/urllib/parse.py:1271 ms1.1%
urljoin<stdlib>/urllib/parse.py:7091 ms1.1%
_urlsplit<stdlib>/urllib/parse.py:6131 ms1.1%
urljoin<stdlib>/urllib/parse.py:7071 ms1.1%
_urlsplit<stdlib>/urllib/parse.py:5981 ms1.1%
URLMixin.urldebug_toolbar/panels/staticfiles.py:211 ms1.1%
LazyObject.__getattribute__django/utils/functional.py:2801 ms1.1%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1732 ms2.2%
WhiteNoiseMiddleware.get_name_without_hashwhitenoise/middleware.py:1921 ms1.1%
splitext<frozen posixpath>:1261 ms1.1%
_splitext<frozen genericpath>:1881 ms1.1%
WhiteNoise.add_cache_headerswhitenoise/base.py:2344 ms3.3%
Headers.__setitem__<stdlib>/wsgiref/headers.py:621 ms1.1%
Headers.__delitem__<stdlib>/wsgiref/headers.py:711 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:491 ms1.1%
WhiteNoise.get_static_filewhitenoise/base.py:2142 ms2.2%
Headers.__setitem__<stdlib>/wsgiref/headers.py:641 ms1.1%
Headers.__setitem__<stdlib>/wsgiref/headers.py:621 ms1.1%
Headers.__delitem__<stdlib>/wsgiref/headers.py:721 ms1.1%
WhiteNoise.get_static_filewhitenoise/base.py:2111 ms1.1%
WhiteNoise.add_mime_headerswhitenoise/base.py:2251 ms1.1%
MediaTypes.get_typewhitenoise/media_types.py:151 ms1.1%
basename<frozen posixpath>:1711 ms1.1%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1321 ms1.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1159 ms7.8%
scantreewhitenoise/base.py:2716 ms5.6%
scantreewhitenoise/base.py:2715 ms4.4%
scantreewhitenoise/base.py:2714 ms3.3%
scantreewhitenoise/base.py:2712 ms2.2%
scantreewhitenoise/base.py:2712 ms2.2%
scantreewhitenoise/base.py:2732 ms2.2%
scantreewhitenoise/base.py:2731 ms1.1%
scantreewhitenoise/base.py:2731 ms1.1%
scantreewhitenoise/base.py:2731 ms1.1%
scantreewhitenoise/base.py:2691 ms1.1%
ClientHandler.__call__django/test/client.py:18617 ms15.6%
BaseHandler.get_responsedjango/core/handlers/base.py:14217 ms15.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5617 ms15.6%
MiddlewareMixin.__call__django/utils/deprecation.py:38017 ms15.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5617 ms15.6%
MiddlewareMixin.__call__django/utils/deprecation.py:38017 ms15.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5617 ms15.6%
MiddlewareMixin.__call__django/utils/deprecation.py:38017 ms15.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5617 ms15.6%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12317 ms15.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5617 ms15.6%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:14517 ms15.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5617 ms15.6%
MiddlewareMixin.__call__django/utils/deprecation.py:38017 ms15.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5617 ms15.6%
MiddlewareMixin.__call__django/utils/deprecation.py:38017 ms15.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5617 ms15.6%
MiddlewareMixin.__call__django/utils/deprecation.py:38017 ms15.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5617 ms15.6%
MiddlewareMixin.__call__django/utils/deprecation.py:38017 ms15.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5617 ms15.6%
MiddlewareMixin.__call__django/utils/deprecation.py:38017 ms15.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5617 ms15.6%
MiddlewareMixin.__call__django/utils/deprecation.py:38017 ms15.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5617 ms15.6%
MiddlewareMixin.__call__django/utils/deprecation.py:38017 ms15.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5617 ms15.6%
BaseHandler._get_responsedjango/core/handlers/base.py:19917 ms15.6%
authmastodon_auth/views.py:333 account, __ = Account.objects.update_or_create(4 ms3.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms3.3%
QuerySet.update_or_createdjango/db/models/query.py:10964 ms3.3%
QuerySet.get_or_createdjango/db/models/query.py:10614 ms3.3%
QuerySet.createdjango/db/models/query.py:7364 ms3.3%
Model.savedjango/db/models/base.py:9044 ms3.3%
Model.save_basedjango/db/models/base.py:9964 ms3.3%
Model._save_tabledjango/db/models/base.py:11994 ms3.3%
Model._do_insertdjango/db/models/base.py:12514 ms3.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms3.3%
QuerySet._insertdjango/db/models/query.py:21414 ms3.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19364 ms3.3%
CursorWrapper.executedjango/db/backends/utils.py:794 ms3.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms3.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms2.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms2.2%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms2.2%
authmastodon_auth/views.py:307 logger.info("login scope check bypassed for %s", instance.url)4 ms3.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.2%
QuerySet.update_or_createdjango/db/models/query.py:10962 ms2.2%
QuerySet.get_or_createdjango/db/models/query.py:10542 ms2.2%
QuerySet.getdjango/db/models/query.py:7022 ms2.2%
QuerySet.__len__django/db/models/query.py:4212 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:22622 ms2.2%
ModelIterable.__iter__django/db/models/query.py:1032 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
Logger.info<stdlib>/logging/__init__.py:15181 ms1.1%
SysMonitor.sysmon_py_startcoverage/sysmon.py:3711 ms1.1%
authmastodon_auth/views.py:369 AccountAccess.objects.update_or_create(4 ms3.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms3.3%
QuerySet.update_or_createdjango/db/models/query.py:10964 ms3.3%
QuerySet.get_or_createdjango/db/models/query.py:10541 ms1.1%
QuerySet.getdjango/db/models/query.py:7021 ms1.1%
QuerySet.__len__django/db/models/query.py:4211 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:22621 ms1.1%
ModelIterable.__iter__django/db/models/query.py:1351 ms1.1%
QuerySet.get_or_createdjango/db/models/query.py:10611 ms1.1%
QuerySet.createdjango/db/models/query.py:7361 ms1.1%
Model.savedjango/db/models/base.py:9041 ms1.1%
Model.save_basedjango/db/models/base.py:9961 ms1.1%
Model._save_tabledjango/db/models/base.py:11991 ms1.1%
Model._do_insertdjango/db/models/base.py:12511 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet._insertdjango/db/models/query.py:21411 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19361 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
QuerySet.get_or_createdjango/db/models/query.py:10591 ms1.1%
Atomic.__exit__django/db/transaction.py:2371 ms1.1%
get_connectiondjango/db/transaction.py:281 ms1.1%
BaseConnectionHandler.__getitem__django/utils/connection.py:581 ms1.1%
Local.__getattr__asgiref/local.py:1571 ms1.1%
authmastodon_auth/views.py:378 auth_login(request, user, backend=settings.AUTHENTICATION_BACKENDS[0])2 ms2.2%
logindjango/contrib/auth/__init__.py:1892 ms2.2%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms2.2%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms2.2%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:2012 ms2.2%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms2.2%
QuerySet.existsdjango/db/models/query.py:14582 ms2.2%
Query.has_resultsdjango/db/models/sql/query.py:6872 ms2.2%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15932 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16252 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms2.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms2.2%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms2.2%
authmastodon_auth/views.py:367 user, __ = User.objects.get_or_create(username=account.username_at_instance)2 ms2.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.2%
QuerySet.get_or_createdjango/db/models/query.py:10592 ms2.2%
Atomic.__enter__django/db/transaction.py:2231 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.1%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms1.1%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
Atomic.__exit__django/db/transaction.py:2591 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.1%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4311 ms1.1%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3751 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
authmastodon_auth/views.py:258 instance = Instance.objects.get(id=instance_id)1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.getdjango/db/models/query.py:7021 ms1.1%
QuerySet.__len__django/db/models/query.py:4211 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:22621 ms1.1%
ModelIterable.__iter__django/db/models/query.py:1031 ms1.1%
QuerySet.dbdjango/db/models/query.py:21101 ms1.1%
TransactionTestCase._pre_setupdjango/test/testcases.py:1167 cls._fixture_setup()1 ms1.1%
TestCase._fixture_setupdjango/test/testcases.py:14811 ms1.1%
TestCase._enter_atomicsdjango/test/testcases.py:13991 ms1.1%
Atomic.__enter__django/db/transaction.py:2231 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.1%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms1.1%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
MastodonAuthCallbackTests.test_pleroma_granular_scope_mismatch_still_logs_inmastodon_auth/tests.py:371 instance = Instance.objects.create(1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.createdjango/db/models/query.py:7361 ms1.1%
Model.savedjango/db/models/base.py:9041 ms1.1%
Model.save_basedjango/db/models/base.py:9961 ms1.1%
Model._save_tabledjango/db/models/base.py:11991 ms1.1%
Model._do_insertdjango/db/models/base.py:12511 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet._insertdjango/db/models/query.py:21411 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19361 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
MastodonAuthCallbackTests.test_pleroma_granular_scope_mismatch_still_logs_inmastodon_auth/tests.py:378 cache.set(f"oauth:{state}", instance.id)1 ms1.1%
FileBasedCache.setdjango/core/cache/backends/filebased.py:571 ms1.1%
file_move_safedjango/core/files/move.py:421 ms1.1%
Estimated from 89 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

mastodon_auth/tests.py:411
response = self.client.get("/mastodon_auth/", {"code": "abc", "state": state})
MastodonAuthCallbackTests.test_pleroma_granular_scope_mismatch_still_logs_in · Mocking
90 ms
mastodon_auth/views.py:333
account, __ = Account.objects.update_or_create(
auth · Database
4 ms
mastodon_auth/views.py:307
logger.info("login scope check bypassed for %s", instance.url)
auth · Database
4 ms
mastodon_auth/views.py:369
AccountAccess.objects.update_or_create(
auth · Database
4 ms
mastodon_auth/views.py:378
auth_login(request, user, backend=settings.AUTHENTICATION_BACKENDS[0])
auth · Database
2 ms
mastodon_auth/views.py:367
user, __ = User.objects.get_or_create(username=account.username_at_instance)
auth · Database
2 ms
mastodon_auth/tests.py:371
instance = Instance.objects.create(
MastodonAuthCallbackTests.test_pleroma_granular_scope_mismatch_still_logs_in · Database
1 ms
mastodon_auth/tests.py:378
cache.set(f"oauth:{state}", instance.id)
MastodonAuthCallbackTests.test_pleroma_granular_scope_mismatch_still_logs_in · Cache
1 ms
mastodon_auth/views.py:258
instance = Instance.objects.get(id=instance_id)
auth · Database
1 ms

Fixtures

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

Database

32 queries · 20 ms
No repeated queries.

Biggest pieces of work

call test body
mastodon_auth/tests.py:411
110 ms
call _pre_setup
django/test/testcases.py:1167
1 ms

Reliability

12 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 12 results, oldest first in the strip
When Environment Outcome Duration Commit
7 hours ago CI github-actions:test passed 112 ms c28a326 main Profile
16 hours ago CI github-actions:test passed 48 ms 9b8826a main Profile
22 hours ago CI github-actions:test passed 143 ms 4f01055 main Profile
1 week, 5 days ago CI github-actions:test passed 147 ms 8ab642e main Profile
2 weeks, 2 days ago CI github-actions:test passed 140 ms 9b75244 main Profile
2 weeks, 2 days ago CI github-actions:test passed 94 ms 9603516 main Profile
2 weeks, 4 days ago CI github-actions:test passed 92 ms 615a272 main Profile
3 weeks ago CI github-actions:test passed 74 ms d923a46 main Profile
3 weeks ago CI github-actions:test passed 204 ms 82997f8 main Profile
3 weeks ago CI github-actions:test passed 216 ms 623aa3e main Profile
3 weeks ago CI github-actions:test passed 242 ms ab6465a main Profile
3 weeks ago CI github-actions:test passed 97 ms 0c23747 main Run