Tests / fedidevs/tests.py
TestPotatoqDashboard::test_anonymous_is_sent_to_login
First seen 2 weeks, 2 days ago in 9b75244
CI
github-actions:test
5 runs
Average
75 ms
median 63 ms
max 104 ms
max 104 ms
Phases
Setup 2 ms
Call 73 ms
Teardown 0.32 ms
Categories
Database 4 ms
Other (Libraries, Unsampled, pytest) 71 ms
5 database queries per run
Needs 17 KB of memory (max 20 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 7 hours ago ·
open run
setup2 ms1.7%
call102 ms98.0%
TestPotatoqDashboard.test_anonymous_is_sent_to_loginfedidevs/tests.py:124 response = self.client.get("/potatoq/")98 ms94.0%
Client.getdjango/test/client.py:113398 ms94.0%
RequestFactory.getdjango/test/client.py:47598 ms94.0%
RequestFactory.genericdjango/test/client.py:67198 ms94.0%
Client.requestdjango/test/client.py:109198 ms94.0%
ClientHandler.__call__django/test/client.py:17397 ms93.0%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6397 ms93.0%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10496 ms92.1%
WhiteNoise.add_fileswhitenoise/base.py:10896 ms92.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12084 ms80.2%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13181 ms77.2%
WhiteNoise.get_static_filewhitenoise/base.py:21759 ms56.4%
StaticFile.__init__whitenoise/responders.py:7321 ms19.8%
StaticFile.get_headerswhitenoise/responders.py:1788 ms7.9%
parsedate<stdlib>/email/_parseaddr.py:1855 ms4.9%
parsedate_tz<stdlib>/email/_parseaddr.py:505 ms4.9%
_parsedate_tz<stdlib>/email/_parseaddr.py:813 ms3.0%
_parsedate_tz<stdlib>/email/_parseaddr.py:672 ms2.0%
parsedate<stdlib>/email/_parseaddr.py:1871 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1767 ms6.9%
formatdate<stdlib>/email/utils.py:2666 ms5.9%
format_datetime<stdlib>/email/utils.py:2844 ms4.0%
_format_timetuple_and_zone<stdlib>/email/utils.py:2352 ms2.0%
_format_timetuple_and_zone<stdlib>/email/utils.py:2332 ms2.0%
formatdate<stdlib>/email/utils.py:2591 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1673 ms3.0%
__init____init__:-13 ms3.0%
Headers.__init__<stdlib>/wsgiref/headers.py:432 ms2.0%
Headers.__init__<stdlib>/wsgiref/headers.py:441 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1812 ms2.0%
Headers.__setitem__<stdlib>/wsgiref/headers.py:642 ms2.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms2.0%
StaticFile.__init__whitenoise/responders.py:7717 ms15.8%
StaticFile.get_alternativeswhitenoise/responders.py:20011 ms10.9%
__init____init__:-110 ms9.9%
Headers.__init__<stdlib>/wsgiref/headers.py:448 ms7.9%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:505 ms4.9%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:521 ms1.0%
Headers.__init__<stdlib>/wsgiref/headers.py:432 ms2.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms2.0%
Headers.items<stdlib>/wsgiref/headers.py:1391 ms1.0%
StaticFile.get_alternativeswhitenoise/responders.py:2032 ms2.0%
Headers.__setitem__<stdlib>/wsgiref/headers.py:642 ms2.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms2.0%
StaticFile.get_alternativeswhitenoise/responders.py:2011 ms1.0%
Headers.__setitem__<stdlib>/wsgiref/headers.py:641 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
StaticFile.get_alternativeswhitenoise/responders.py:1981 ms1.0%
StaticFile.get_alternativeswhitenoise/responders.py:2041 ms1.0%
compile<stdlib>/re/__init__.py:2891 ms1.0%
StaticFile.__init__whitenoise/responders.py:769 ms8.9%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1884 ms4.0%
Headers.__contains__<stdlib>/wsgiref/headers.py:873 ms3.0%
Headers.get<stdlib>/wsgiref/headers.py:1042 ms2.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms2.0%
Headers.get<stdlib>/wsgiref/headers.py:1061 ms1.0%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1894 ms4.0%
Headers.__getitem__<stdlib>/wsgiref/headers.py:834 ms4.0%
Headers.get<stdlib>/wsgiref/headers.py:1052 ms2.0%
Headers.get<stdlib>/wsgiref/headers.py:1042 ms2.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1871 ms1.0%
StaticFile.__init__whitenoise/responders.py:728 ms7.9%
StaticFile.get_file_statswhitenoise/responders.py:1575 ms4.9%
__init____init__:-15 ms4.9%
FileEntry.__init__whitenoise/responders.py:2642 ms2.0%
FileEntry.__init__whitenoise/responders.py:2612 ms2.0%
FileEntry.__init__whitenoise/responders.py:2621 ms1.0%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms2.0%
__init____init__:-12 ms2.0%
FileEntry.__init__whitenoise/responders.py:2631 ms1.0%
FileEntry.stat_regular_filewhitenoise/responders.py:2761 ms1.0%
<GC>~1 ms1.0%
FileEntry.__init__whitenoise/responders.py:2621 ms1.0%
StaticFile.get_file_statswhitenoise/responders.py:1631 ms1.0%
StaticFile.__init__whitenoise/responders.py:752 ms2.0%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms2.0%
Headers.get<stdlib>/wsgiref/headers.py:1062 ms2.0%
StaticFile.__init__whitenoise/responders.py:742 ms2.0%
parsedate<stdlib>/email/_parseaddr.py:1852 ms2.0%
parsedate_tz<stdlib>/email/_parseaddr.py:502 ms2.0%
_parsedate_tz<stdlib>/email/_parseaddr.py:1211 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:21212 ms11.9%
WhiteNoise.add_cache_headerswhitenoise/base.py:23312 ms11.9%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1769 ms8.9%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1979 ms8.9%
URLMixin.urldebug_toolbar/panels/staticfiles.py:208 ms7.9%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2358 ms7.9%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2166 ms5.9%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2074 ms4.0%
urljoin<stdlib>/urllib/parse.py:7072 ms2.0%
_urlsplit<stdlib>/urllib/parse.py:6202 ms2.0%
urljoin<stdlib>/urllib/parse.py:7481 ms1.0%
urljoin<stdlib>/urllib/parse.py:7051 ms1.0%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2042 ms2.0%
filepath_to_uridjango/utils/encoding.py:2452 ms2.0%
quote<stdlib>/urllib/parse.py:10722 ms2.0%
quote_from_bytes<stdlib>/urllib/parse.py:11112 ms2.0%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2082 ms2.0%
urlsplit<stdlib>/urllib/parse.py:5792 ms2.0%
_coerce_args<stdlib>/urllib/parse.py:1402 ms2.0%
LazyObject.__getattribute__django/utils/functional.py:2801 ms1.0%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1702 ms2.0%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1731 ms1.0%
WhiteNoiseMiddleware.get_name_without_hashwhitenoise/middleware.py:1931 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:2115 ms4.9%
WhiteNoise.add_mime_headerswhitenoise/base.py:2304 ms4.0%
Headers.add_header<stdlib>/wsgiref/headers.py:1922 ms2.0%
Headers.add_header<stdlib>/wsgiref/headers.py:1832 ms2.0%
WhiteNoise.add_mime_headerswhitenoise/base.py:2251 ms1.0%
MediaTypes.get_typewhitenoise/media_types.py:191 ms1.0%
splitext<frozen posixpath>:1261 ms1.0%
_splitext<frozen genericpath>:1841 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:2103 ms3.0%
WhiteNoise.get_static_filewhitenoise/base.py:2141 ms1.0%
Headers.__setitem__<stdlib>/wsgiref/headers.py:641 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:491 ms1.0%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1232 ms2.0%
WhiteNoise.is_compressed_variantwhitenoise/base.py:1982 ms2.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1158 ms7.9%
scantreewhitenoise/base.py:2715 ms4.9%
scantreewhitenoise/base.py:2715 ms4.9%
scantreewhitenoise/base.py:2713 ms3.0%
scantreewhitenoise/base.py:2713 ms3.0%
scantreewhitenoise/base.py:2712 ms2.0%
scantreewhitenoise/base.py:2732 ms2.0%
scantreewhitenoise/base.py:2731 ms1.0%
scantreewhitenoise/base.py:2691 ms1.0%
scantreewhitenoise/base.py:2731 ms1.0%
scantreewhitenoise/base.py:2733 ms3.0%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1111 ms1.0%
WhiteNoise.add_fileswhitenoise/base.py:1081 ms1.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1201 ms1.0%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1311 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:2171 ms1.0%
StaticFile.__init__whitenoise/responders.py:731 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1711 ms1.0%
Headers.__contains__<stdlib>/wsgiref/headers.py:871 ms1.0%
Headers.get<stdlib>/wsgiref/headers.py:1041 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:481 ms1.0%
ClientHandler.__call__django/test/client.py:1861 ms1.0%
BaseHandler.get_responsedjango/core/handlers/base.py:1421 ms1.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:561 ms1.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3801 ms1.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:561 ms1.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3801 ms1.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:561 ms1.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3801 ms1.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:561 ms1.0%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1231 ms1.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:561 ms1.0%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1451 ms1.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:561 ms1.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3801 ms1.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:561 ms1.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3801 ms1.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:561 ms1.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3801 ms1.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:561 ms1.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3801 ms1.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:561 ms1.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3801 ms1.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:561 ms1.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3801 ms1.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:561 ms1.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3801 ms1.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:561 ms1.0%
BaseHandler._get_responsedjango/core/handlers/base.py:1991 ms1.0%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:641 ms1.0%
potatoq_dashboardfedidevs/views.py:54 if not user.is_authenticated:1 ms1.0%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2511 ms1.0%
SimpleLazyObject._setupdjango/utils/functional.py:4041 ms1.0%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:391 ms1.0%
get_userdjango/contrib/auth/middleware.py:191 ms1.0%
get_userdjango/contrib/auth/__init__.py:2871 ms1.0%
_get_user_session_keydjango/contrib/auth/__init__.py:1111 ms1.0%
get_user_modeldjango/contrib/auth/__init__.py:2661 ms1.0%
Apps.get_modeldjango/apps/registry.py:2081 ms1.0%
Apps.get_app_configdjango/apps/registry.py:1581 ms1.0%
TransactionTestCase._post_teardowndjango/test/testcases.py:1243 self._fixture_teardown()2 ms2.0%
TestCase._fixture_teardowndjango/test/testcases.py:14981 ms1.0%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4941 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.0%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3201 ms1.0%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2961 ms1.0%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:3041 ms1.0%
TestCase._fixture_teardowndjango/test/testcases.py:15001 ms1.0%
TestCase._rollback_atomicsdjango/test/testcases.py:14081 ms1.0%
Atomic.__exit__django/db/transaction.py:2951 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.0%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4131 ms1.0%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3711 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.0%
TransactionTestCase._pre_setupdjango/test/testcases.py:1167 cls._fixture_setup()1 ms1.0%
TestCase._fixture_setupdjango/test/testcases.py:14811 ms1.0%
TestCase._enter_atomicsdjango/test/testcases.py:13991 ms1.0%
Atomic.__enter__django/db/transaction.py:2231 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.0%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms1.0%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.0%
TestPotatoqDashboard.test_anonymous_is_sent_to_loginfedidevs/tests.py:125 self.assertRedirects(response, "/login/?next=/potatoq/", fetch_redirect_response=False)1 ms1.0%
SimpleTestCase.assertRedirectsdjango/test/testcases.py:5201 ms1.0%
SimpleTestCase.assertURLEqualdjango/test/testcases.py:5461 ms1.0%
SimpleTestCase.assertURLEqual.<locals>.normalizedjango/test/testcases.py:5411 ms1.0%
urlencode<stdlib>/urllib/parse.py:11691 ms1.0%
quote_plus<stdlib>/urllib/parse.py:10831 ms1.0%
quote<stdlib>/urllib/parse.py:10721 ms1.0%
quote_from_bytes<stdlib>/urllib/parse.py:11131 ms1.0%
Estimated from 101 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
fedidevs/tests.py:124
response = self.client.get("/potatoq/")
TestPotatoqDashboard.test_anonymous_is_sent_to_login
· Libraries
|
97 ms |
|
fedidevs/views.py:54
if not user.is_authenticated:
potatoq_dashboard
· Libraries
|
1 ms |
|
fedidevs/tests.py:125
self.assertRedirects(response, "/login/?next=/potatoq/", fetch_redirect_response=False)
TestPotatoqDashboard.test_anonymous_is_sent_to_login
· Libraries
|
1 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.09 ms |
| _dj_autoclear_mailbox 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.04 ms |
| monkeypatch function | 0.03 ms |
Database
5 queries · 2 msNo repeated queries.
Biggest pieces of work
|
call test body
fedidevs/tests.py:124
|
99 ms |
|
call _post_teardown
django/test/testcases.py:1243
|
2 ms |
| setup pytest internals | 2 ms |
|
call _pre_setup
django/test/testcases.py:1167
|
1 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 5 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 7 hours ago | CI github-actions:test | passed | 104 ms | Profile |
| 16 hours ago | CI github-actions:test | passed | 45 ms | Profile |
| 22 hours ago | CI github-actions:test | passed | 63 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 103 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 58 ms | Profile |