Tests / starter_packs/tests.py
TestPinAccountInStarterPack::test_toggle_pin_and_unpin
First seen 13 hours ago in 0c23747
CI
github-actions:test
4 runs
Average
208 ms
median 201 ms
max 361 ms
max 361 ms
Phases
Setup 4 ms
Call 203 ms
Teardown 0.34 ms
Categories
Database 44 ms
Other (Libraries, pytest, Deep copies, Unsampled, ...) 164 ms
33 database queries per run
Needs 4 KB of memory (max 8 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 8 hours ago ·
open run
call66 ms98.6%
TestPinAccountInStarterPack.test_toggle_pin_and_unpinstarter_packs/tests.py:1043 response = self.client.post(self.pin_url(self.niche))52 ms78.1%
Client.postdjango/test/client.py:116252 ms78.1%
RequestFactory.postdjango/test/client.py:49952 ms78.1%
RequestFactory.genericdjango/test/client.py:67152 ms78.1%
Client.requestdjango/test/client.py:109152 ms78.1%
ClientHandler.__call__django/test/client.py:17347 ms69.9%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6347 ms69.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10444 ms65.8%
WhiteNoise.add_fileswhitenoise/base.py:10844 ms65.8%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12030 ms45.2%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13130 ms45.2%
WhiteNoise.get_static_filewhitenoise/base.py:21727 ms41.1%
StaticFile.__init__whitenoise/responders.py:7714 ms20.6%
StaticFile.get_alternativeswhitenoise/responders.py:20714 ms20.6%
Headers.items<stdlib>/wsgiref/headers.py:13114 ms20.6%
<GC>~14 ms20.6%
StaticFile.__init__whitenoise/responders.py:735 ms8.2%
StaticFile.get_headerswhitenoise/responders.py:1763 ms4.1%
StaticFile.get_headerswhitenoise/responders.py:1673 ms4.1%
StaticFile.__init__whitenoise/responders.py:723 ms4.1%
StaticFile.get_file_statswhitenoise/responders.py:1613 ms4.1%
__init____init__:-13 ms4.1%
FileEntry.__init__whitenoise/responders.py:2633 ms4.1%
FileEntry.stat_regular_filewhitenoise/responders.py:2763 ms4.1%
<GC>~3 ms4.1%
StaticFile.__init__whitenoise/responders.py:763 ms4.1%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1883 ms4.1%
WhiteNoise.get_static_filewhitenoise/base.py:2123 ms4.1%
WhiteNoise.add_cache_headerswhitenoise/base.py:2333 ms4.1%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1763 ms4.1%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1973 ms4.1%
URLMixin.urldebug_toolbar/panels/staticfiles.py:203 ms4.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:11514 ms20.6%
scantreewhitenoise/base.py:27114 ms20.6%
scantreewhitenoise/base.py:27111 ms16.4%
scantreewhitenoise/base.py:2735 ms8.2%
<GC>~3 ms4.1%
scantreewhitenoise/base.py:2713 ms4.1%
scantreewhitenoise/base.py:2713 ms4.1%
scantreewhitenoise/base.py:2713 ms4.1%
scantreewhitenoise/base.py:2733 ms4.1%
scantreewhitenoise/base.py:2693 ms4.1%
scantreewhitenoise/base.py:2693 ms4.1%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1113 ms4.1%
WhiteNoise.add_fileswhitenoise/base.py:1083 ms4.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1153 ms4.1%
scantreewhitenoise/base.py:2733 ms4.1%
ClientHandler.__call__django/test/client.py:1865 ms8.2%
BaseHandler.get_responsedjango/core/handlers/base.py:1425 ms8.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:565 ms8.2%
MiddlewareMixin.__call__django/utils/deprecation.py:3805 ms8.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:565 ms8.2%
MiddlewareMixin.__call__django/utils/deprecation.py:3805 ms8.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:565 ms8.2%
MiddlewareMixin.__call__django/utils/deprecation.py:3805 ms8.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:565 ms8.2%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1235 ms8.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:565 ms8.2%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1455 ms8.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:565 ms8.2%
MiddlewareMixin.__call__django/utils/deprecation.py:3805 ms8.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:565 ms8.2%
MiddlewareMixin.__call__django/utils/deprecation.py:3805 ms8.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:565 ms8.2%
MiddlewareMixin.__call__django/utils/deprecation.py:3805 ms8.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:565 ms8.2%
MiddlewareMixin.__call__django/utils/deprecation.py:3805 ms8.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:565 ms8.2%
MiddlewareMixin.__call__django/utils/deprecation.py:3805 ms8.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:565 ms8.2%
MiddlewareMixin.__call__django/utils/deprecation.py:3805 ms8.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:565 ms8.2%
MiddlewareMixin.__call__django/utils/deprecation.py:3805 ms8.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:565 ms8.2%
BaseHandler._get_responsedjango/core/handlers/base.py:1995 ms8.2%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:593 ms4.1%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:823 ms4.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2513 ms4.1%
SimpleLazyObject._setupdjango/utils/functional.py:4043 ms4.1%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:393 ms4.1%
get_userdjango/contrib/auth/middleware.py:193 ms4.1%
get_userdjango/contrib/auth/__init__.py:2873 ms4.1%
_get_user_session_keydjango/contrib/auth/__init__.py:1113 ms4.1%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:553 ms4.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2543 ms4.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:553 ms4.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:343 ms4.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms4.1%
QuerySet.getdjango/db/models/query.py:6923 ms4.1%
QuerySet.filterdjango/db/models/query.py:16763 ms4.1%
QuerySet._filter_or_excludedjango/db/models/query.py:16943 ms4.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:17043 ms4.1%
Query.add_qdjango/db/models/sql/query.py:16813 ms4.1%
Query._add_qdjango/db/models/sql/query.py:17243 ms4.1%
JoinPromoter.add_votesdjango/db/models/sql/query.py:28413 ms4.1%
Query.resolve_lookup_valuedjango/db/models/sql/query.py:13313 ms4.1%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:623 ms4.1%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:633 ms4.1%
toggle_pin_in_starter_packstarter_packs/views.py:899 .first()3 ms4.1%
QuerySet.firstdjango/db/models/query.py:12123 ms4.1%
QuerySet.__iter__django/db/models/query.py:4393 ms4.1%
QuerySet._fetch_alldjango/db/models/query.py:22623 ms4.1%
ModelIterable.__iter__django/db/models/query.py:1033 ms4.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16123 ms4.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7683 ms4.1%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:903 ms4.1%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4923 ms4.1%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:2973 ms4.1%
BaseExpression.copydjango/db/models/expressions.py:4443 ms4.1%
copy<stdlib>/copy.py:1003 ms4.1%
TestPinAccountInStarterPack.test_toggle_pin_and_unpinstarter_packs/tests.py:10488 ms12.3%
Client.postdjango/test/client.py:11628 ms12.3%
RequestFactory.postdjango/test/client.py:4998 ms12.3%
RequestFactory.genericdjango/test/client.py:6718 ms12.3%
Client.requestdjango/test/client.py:10918 ms12.3%
ClientHandler.__call__django/test/client.py:1868 ms12.3%
BaseHandler.get_responsedjango/core/handlers/base.py:1428 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:568 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3808 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:568 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3808 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:568 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3808 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:568 ms12.3%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1238 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:568 ms12.3%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1458 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:568 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3808 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:568 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3808 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:568 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3808 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:568 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3808 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:568 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3808 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:568 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3808 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:568 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3808 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:568 ms12.3%
BaseHandler._get_responsedjango/core/handlers/base.py:1998 ms12.3%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:628 ms12.3%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:638 ms12.3%
toggle_pin_in_starter_packstarter_packs/views.py:8953 ms4.1%
get_editable_packstarter_packs/views.py:60 return get_object_or_404(StarterPack, slug=slug, owners=request.user, **extra)3 ms4.1%
get_object_or_404django/shortcuts.py:1003 ms4.1%
QuerySet.getdjango/db/models/query.py:7023 ms4.1%
QuerySet.__len__django/db/models/query.py:4213 ms4.1%
QuerySet._fetch_alldjango/db/models/query.py:22623 ms4.1%
ModelIterable.__iter__django/db/models/query.py:1033 ms4.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16253 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms4.1%
Cursor.executepsycopg/cursor.py:1133 ms4.1%
Connection.waitpsycopg/connection.py:4953 ms4.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms4.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms4.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms4.1%
toggle_pin_in_starter_packstarter_packs/views.py:899 .first()3 ms4.1%
QuerySet.firstdjango/db/models/query.py:12123 ms4.1%
QuerySet.__iter__django/db/models/query.py:4393 ms4.1%
QuerySet._fetch_alldjango/db/models/query.py:22623 ms4.1%
ModelIterable.__iter__django/db/models/query.py:1033 ms4.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16123 ms4.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7683 ms4.1%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:893 ms4.1%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:783 ms4.1%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3103 ms4.1%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12603 ms4.1%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10103 ms4.1%
toggle_pin_in_starter_packstarter_packs/views.py:927 return render(3 ms4.1%
renderdjango/shortcuts.py:273 ms4.1%
render_to_stringdjango/template/loader.py:623 ms4.1%
Template.renderdjango/template/backends/django.py:1073 ms4.1%
Template.renderdjango/template/base.py:1733 ms4.1%
_request_context_bind_templatedebug_toolbar/panels/templates/panel.py:513 ms4.1%
TestPinAccountInStarterPack.test_toggle_pin_and_unpinstarter_packs/tests.py:1041 self.client.force_login(self.owner)3 ms4.1%
ClientMixin.force_logindjango/test/client.py:8583 ms4.1%
ClientMixin._logindjango/test/client.py:8893 ms4.1%
logindjango/contrib/auth/__init__.py:1893 ms4.1%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4373 ms4.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:743 ms4.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1273 ms4.1%
Model.savedjango/db/models/base.py:9043 ms4.1%
Model.save_basedjango/db/models/base.py:9963 ms4.1%
Model._save_tabledjango/db/models/base.py:11993 ms4.1%
Model._do_insertdjango/db/models/base.py:12513 ms4.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms4.1%
QuerySet._insertdjango/db/models/query.py:21413 ms4.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19363 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms4.1%
Cursor.executepsycopg/cursor.py:1133 ms4.1%
Connection.waitpsycopg/connection.py:4953 ms4.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms4.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms4.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms4.1%
TransactionTestCase._post_teardowndjango/test/testcases.py:1243 self._fixture_teardown()3 ms4.1%
TestCase._fixture_teardowndjango/test/testcases.py:14983 ms4.1%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4963 ms4.1%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.1%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms4.1%
Cursor.executepsycopg/cursor.py:1133 ms4.1%
Connection.waitpsycopg/connection.py:4953 ms4.1%
Estimated from 24 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
|
49 ms |
|
starter_packs/views.py:899
.first()
toggle_pin_in_starter_pack
· Database
|
5 ms |
|
starter_packs/tests.py:1041
self.client.force_login(self.owner)
TestPinAccountInStarterPack.test_toggle_pin_and_unpin
· 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:927
return render(
toggle_pin_in_starter_pack
· Templates
|
3 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.04 ms |
| _template_string_if_invalid_marker function | 0.03 ms |
| _django_db_marker function | 0.03 ms |
| _django_isolate_apps function | 0.03 ms |
| _live_server_helper function | 0.02 ms |
| _django_clear_site_cache function | 0.02 ms |
| _django_set_urlconf function | 0.02 ms |
| monkeypatch function | 0.01 ms |
Database
33 queries · 10 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
|
63 ms |
|
call _post_teardown
django/test/testcases.py:1243
|
3 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 | 67 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 361 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 114 ms | Profile |
| 13 hours ago | CI github-actions:test | passed | 289 ms | Profile |
| 13 hours ago | CI github-actions:test | passed | 105 ms | Run |