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

TestPinAccountInStarterPack::test_toggle_pin_and_unpin

First seen 3 weeks ago in 0c23747
CI github-actions:test 11 runs
Average
142 ms
median 105 ms
max 361 ms
Phases
Setup 2 ms Call 139 ms Teardown 0.85 ms
Categories
Database 44 ms Other (Libraries, pytest, Templates, Deep copies, ...) 98 ms

33 database queries per run

Needs 137 KB of memory (max 856 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 7 hours ago · open run
Show pytest frames
setup1 ms0.9%
call126 ms94.7%
TestPinAccountInStarterPack.test_toggle_pin_and_unpinstarter_packs/tests.py:1043 response = self.client.post(self.pin_url(self.niche))80 ms60.3%
Client.postdjango/test/client.py:116280 ms60.3%
RequestFactory.postdjango/test/client.py:49980 ms60.3%
RequestFactory.genericdjango/test/client.py:67180 ms60.3%
Client.requestdjango/test/client.py:109180 ms60.3%
ClientHandler.__call__django/test/client.py:17380 ms60.3%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6380 ms60.3%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10480 ms60.3%
WhiteNoise.add_fileswhitenoise/base.py:10880 ms60.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12075 ms56.4%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13175 ms56.4%
WhiteNoise.get_static_filewhitenoise/base.py:21156 ms42.1%
WhiteNoise.add_mime_headerswhitenoise/base.py:22556 ms42.1%
MediaTypes.get_typewhitenoise/media_types.py:163 ms1.9%
WhiteNoise.get_static_filewhitenoise/base.py:21718 ms13.4%
StaticFile.__init__whitenoise/responders.py:7313 ms9.6%
StaticFile.get_headerswhitenoise/responders.py:1765 ms3.8%
formatdate<stdlib>/email/utils.py:2663 ms1.9%
format_datetime<stdlib>/email/utils.py:2843 ms1.9%
_format_timetuple_and_zone<stdlib>/email/utils.py:2323 ms1.9%
Headers.__setitem__<stdlib>/wsgiref/headers.py:621 ms1.0%
Headers.__delitem__<stdlib>/wsgiref/headers.py:711 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:521 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1714 ms2.9%
Headers.__contains__<stdlib>/wsgiref/headers.py:874 ms2.9%
Headers.get<stdlib>/wsgiref/headers.py:1041 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1783 ms1.9%
parsedate<stdlib>/email/_parseaddr.py:1851 ms1.0%
parsedate_tz<stdlib>/email/_parseaddr.py:501 ms1.0%
_parsedate_tz<stdlib>/email/_parseaddr.py:1421 ms1.0%
Headers.__getitem__<stdlib>/wsgiref/headers.py:831 ms1.0%
Headers.get<stdlib>/wsgiref/headers.py:1071 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1671 ms1.0%
__init____init__:-11 ms1.0%
Headers.__init__<stdlib>/wsgiref/headers.py:431 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
StaticFile.__init__whitenoise/responders.py:774 ms2.9%
StaticFile.get_alternativeswhitenoise/responders.py:2033 ms1.9%
Headers.__setitem__<stdlib>/wsgiref/headers.py:641 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
Headers.__setitem__<stdlib>/wsgiref/headers.py:621 ms1.0%
Headers.__init__<stdlib>/wsgiref/headers.py:441 ms1.0%
StaticFile.get_alternativeswhitenoise/responders.py:1981 ms1.0%
StaticFile.__init__whitenoise/responders.py:721 ms1.0%
StaticFile.get_file_statswhitenoise/responders.py:1611 ms1.0%
__init____init__:-11 ms1.0%
FileEntry.__init__whitenoise/responders.py:2631 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:2141 ms1.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1155 ms3.8%
scantreewhitenoise/base.py:2713 ms1.9%
scantreewhitenoise/base.py:2691 ms1.0%
scantreewhitenoise/base.py:2711 ms1.0%
scantreewhitenoise/base.py:2731 ms1.0%
scantreewhitenoise/base.py:2731 ms1.0%
scantreewhitenoise/base.py:2691 ms1.0%
TestPinAccountInStarterPack.test_toggle_pin_and_unpinstarter_packs/tests.py:104832 ms23.9%
Client.postdjango/test/client.py:116232 ms23.9%
RequestFactory.postdjango/test/client.py:49932 ms23.9%
RequestFactory.genericdjango/test/client.py:67132 ms23.9%
Client.requestdjango/test/client.py:109132 ms23.9%
ClientHandler.__call__django/test/client.py:18632 ms23.9%
BaseHandler.get_responsedjango/core/handlers/base.py:14232 ms23.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5632 ms23.9%
MiddlewareMixin.__call__django/utils/deprecation.py:38032 ms23.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5632 ms23.9%
MiddlewareMixin.__call__django/utils/deprecation.py:38032 ms23.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5632 ms23.9%
MiddlewareMixin.__call__django/utils/deprecation.py:38032 ms23.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5632 ms23.9%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12332 ms23.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5632 ms23.9%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:14532 ms23.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5632 ms23.9%
MiddlewareMixin.__call__django/utils/deprecation.py:38032 ms23.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5632 ms23.9%
MiddlewareMixin.__call__django/utils/deprecation.py:38032 ms23.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5632 ms23.9%
MiddlewareMixin.__call__django/utils/deprecation.py:38032 ms23.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5632 ms23.9%
MiddlewareMixin.__call__django/utils/deprecation.py:38032 ms23.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5632 ms23.9%
MiddlewareMixin.__call__django/utils/deprecation.py:38032 ms23.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5632 ms23.9%
MiddlewareMixin.__call__django/utils/deprecation.py:38032 ms23.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5632 ms23.9%
MiddlewareMixin.__call__django/utils/deprecation.py:38032 ms23.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5632 ms23.9%
BaseHandler._get_responsedjango/core/handlers/base.py:19932 ms23.9%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:6232 ms23.9%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6332 ms23.9%
toggle_pin_in_starter_packstarter_packs/views.py:899 .first()19 ms14.3%
QuerySet.firstdjango/db/models/query.py:121219 ms14.3%
QuerySet.__iter__django/db/models/query.py:43919 ms14.3%
QuerySet._fetch_alldjango/db/models/query.py:226219 ms14.3%
ModelIterable.__iter__django/db/models/query.py:10318 ms13.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162518 ms13.4%
CursorWrapper.executedjango/db/backends/utils.py:7918 ms13.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9218 ms13.4%
CursorWrapper._executedjango/db/backends/utils.py:10516 ms12.4%
Cursor.executepsycopg/cursor.py:11316 ms12.4%
Connection.waitpsycopg/connection.py:49516 ms12.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:20616 ms12.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:28616 ms12.4%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:7816 ms12.4%
ModelIterable.__iter__django/db/models/query.py:1461 ms1.0%
RelatedPopulator.populatedjango/db/models/query.py:30441 ms1.0%
Model.from_dbdjango/db/models/base.py:6251 ms1.0%
toggle_pin_in_starter_packstarter_packs/views.py:916 starter_pack_account.save(update_fields=["pinned"])13 ms9.6%
Model.savedjango/db/models/base.py:90413 ms9.6%
Model.save_basedjango/db/models/base.py:99613 ms9.6%
Model._save_tabledjango/db/models/base.py:111613 ms9.6%
Model._do_updatedjango/db/models/base.py:124411 ms8.6%
QuerySet._updatedjango/db/models/query.py:144811 ms8.6%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:215011 ms8.6%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:212111 ms8.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162511 ms8.6%
CursorWrapper.executedjango/db/backends/utils.py:7911 ms8.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9211 ms8.6%
CursorWrapper._executedjango/db/backends/utils.py:10511 ms8.6%
Cursor.executepsycopg/cursor.py:11311 ms8.6%
Connection.waitpsycopg/connection.py:49511 ms8.6%
BaseCursor._execute_genpsycopg/_cursor_base.py:20611 ms8.6%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:28611 ms8.6%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:7811 ms8.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
TestPinAccountInStarterPack.test_toggle_pin_and_unpinstarter_packs/tests.py:1041 self.client.force_login(self.owner)10 ms7.7%
ClientMixin.force_logindjango/test/client.py:85810 ms7.7%
ClientMixin._logindjango/test/client.py:8899 ms6.7%
logindjango/contrib/auth/__init__.py:1775 ms3.8%
SessionBase.__contains__django/contrib/sessions/backends/base.py:525 ms3.8%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2545 ms3.8%
SessionStore.loaddjango/contrib/sessions/backends/db.py:555 ms3.8%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:345 ms3.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:875 ms3.8%
QuerySet.getdjango/db/models/query.py:7025 ms3.8%
QuerySet.__len__django/db/models/query.py:4215 ms3.8%
QuerySet._fetch_alldjango/db/models/query.py:22625 ms3.8%
ModelIterable.__iter__django/db/models/query.py:1035 ms3.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16255 ms3.8%
CursorWrapper.executedjango/db/backends/utils.py:795 ms3.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms3.8%
CursorWrapper._executedjango/db/backends/utils.py:1055 ms3.8%
Cursor.executepsycopg/cursor.py:1135 ms3.8%
Connection.waitpsycopg/connection.py:4955 ms3.8%
BaseCursor._execute_genpsycopg/_cursor_base.py:2065 ms3.8%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2865 ms3.8%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:785 ms3.8%
logindjango/contrib/auth/__init__.py:1893 ms1.9%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4371 ms1.0%
SessionStore.createdjango/contrib/sessions/backends/db.py:741 ms1.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1271 ms1.0%
Model.savedjango/db/models/base.py:9041 ms1.0%
Model.save_basedjango/db/models/base.py:9961 ms1.0%
Model._save_tabledjango/db/models/base.py:11991 ms1.0%
Model._do_insertdjango/db/models/base.py:12511 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet._insertdjango/db/models/query.py:21411 ms1.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19351 ms1.0%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18801 ms1.0%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4401 ms1.0%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1751 ms1.0%
Model.deletedjango/db/models/base.py:13311 ms1.0%
Collector.deletedjango/db/models/deletion.py:4831 ms1.0%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:431 ms1.0%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:251 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 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:1051 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%
logindjango/contrib/auth/__init__.py:1981 ms1.0%
Signal.senddjango/dispatch/dispatcher.py:2491 ms1.0%
update_last_logindjango/contrib/auth/models.py:241 ms1.0%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:621 ms1.0%
Model.savedjango/db/models/base.py:9041 ms1.0%
Model.save_basedjango/db/models/base.py:9961 ms1.0%
Model._save_tabledjango/db/models/base.py:11401 ms1.0%
Model._do_updatedjango/db/models/base.py:12441 ms1.0%
QuerySet._updatedjango/db/models/query.py:14481 ms1.0%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21501 ms1.0%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21211 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 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:1051 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%
ClientMixin._logindjango/test/client.py:8911 ms1.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1271 ms1.0%
Model.savedjango/db/models/base.py:9041 ms1.0%
Model.save_basedjango/db/models/base.py:9961 ms1.0%
Model._save_tabledjango/db/models/base.py:11401 ms1.0%
Model._do_updatedjango/db/models/base.py:12441 ms1.0%
QuerySet._updatedjango/db/models/query.py:14481 ms1.0%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21501 ms1.0%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21211 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 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:1051 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._post_teardowndjango/test/testcases.py:1243 self._fixture_teardown()4 ms2.9%
TestCase._fixture_teardowndjango/test/testcases.py:14973 ms1.9%
TestCase._should_check_constraintsdjango/test/testcases.py:15063 ms1.9%
DatabaseWrapper.is_usabledjango/db/backends/postgresql/base.py:5043 ms1.9%
Cursor.executepsycopg/cursor.py:1133 ms1.9%
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%
TestCase._fixture_teardowndjango/test/testcases.py:15001 ms1.0%
TestCase._rollback_atomicsdjango/test/testcases.py:14071 ms1.0%
teardown6 ms4.4%
TestCase.tearDownClassdjango/test/testcases.py:1458 conn.close()6 ms4.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:266 ms4.4%
BaseDatabaseWrapper.closedjango/db/backends/base/base.py:3556 ms4.4%
DatabaseWrapper._closedjango/db/backends/postgresql/base.py:4086 ms4.4%
Connection.closepsycopg/connection.py:2016 ms4.4%
Estimated from 106 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

starter_packs/tests.py:1043
response = self.client.post(self.pin_url(self.niche))
TestPinAccountInStarterPack.test_toggle_pin_and_unpin · Libraries
80 ms
starter_packs/views.py:899
.first()
toggle_pin_in_starter_pack · Database
19 ms
starter_packs/views.py:916
starter_pack_account.save(update_fields=["pinned"])
toggle_pin_in_starter_pack · Database
13 ms
starter_packs/tests.py:1041
self.client.force_login(self.owner)
TestPinAccountInStarterPack.test_toggle_pin_and_unpin · Database
10 ms

Fixtures

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

Database

33 queries · 23 ms

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

3×
SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."expire_date" > %s AND "django_session"."session_key" = %s) LIMIT ?

Biggest pieces of work

call test body
starter_packs/tests.py:1043
122 ms
teardown tearDownClass
django/test/testcases.py:1458
6 ms
call _post_teardown
django/test/testcases.py:1243
4 ms
setup pytest internals 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 133 ms c28a326 main Profile
16 hours ago CI github-actions:test passed 98 ms 9b8826a main Profile
22 hours ago CI github-actions:test passed 119 ms 4f01055 main Profile
1 week, 5 days ago CI github-actions:test passed 105 ms 8ab642e main Profile
2 weeks, 2 days ago CI github-actions:test passed 89 ms 9b75244 main Profile
2 weeks, 2 days ago CI github-actions:test passed 100 ms 9603516 main Profile
2 weeks, 4 days ago CI github-actions:test passed 88 ms 615a272 main Profile
3 weeks ago CI github-actions:test passed 67 ms d923a46 main Profile
3 weeks ago CI github-actions:test passed 361 ms 82997f8 main Profile
3 weeks ago CI github-actions:test passed 114 ms 623aa3e main Profile
3 weeks ago CI github-actions:test passed 289 ms ab6465a main Profile
3 weeks ago CI github-actions:test passed 105 ms 0c23747 main Run