Tests / starter_packs/tests.py
TestOwnerManagement::test_added_owner_who_is_not_creator_can_edit
First seen 12 hours ago in 0c23747
CI
github-actions:test
4 runs
Average
159 ms
median 161 ms
max 240 ms
max 240 ms
Phases
Setup 1 ms
Call 157 ms
Teardown 0.57 ms
Categories
Database 23 ms
App code 0.90 ms
Other (Libraries, Templates, pytest, Unsampled) 135 ms
26 database queries per run
Needs 754 KB of memory (max 1 MB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 7 hours ago ·
open run
call71 ms98.6%
TestOwnerManagement.test_added_owner_who_is_not_creator_can_editstarter_packs/tests.py:441 response = self.client.get(reverse("edit_starter_pack", args=[self.pack.slug]))56 ms77.5%
Client.getdjango/test/client.py:113356 ms77.5%
RequestFactory.getdjango/test/client.py:47556 ms77.5%
RequestFactory.genericdjango/test/client.py:67156 ms77.5%
Client.requestdjango/test/client.py:109153 ms73.9%
ClientHandler.__call__django/test/client.py:17338 ms52.8%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6338 ms52.8%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10438 ms52.8%
WhiteNoise.add_fileswhitenoise/base.py:10838 ms52.8%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12030 ms42.2%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13130 ms42.2%
WhiteNoise.get_static_filewhitenoise/base.py:21725 ms35.2%
StaticFile.__init__whitenoise/responders.py:7218 ms24.6%
StaticFile.get_file_statswhitenoise/responders.py:16118 ms24.6%
__init____init__:-115 ms21.1%
FileEntry.__init__whitenoise/responders.py:26015 ms21.1%
<GC>~15 ms21.1%
StaticFile.__init__whitenoise/responders.py:735 ms7.0%
StaticFile.get_headerswhitenoise/responders.py:1673 ms3.5%
StaticFile.get_headerswhitenoise/responders.py:1713 ms3.5%
StaticFile.__init__whitenoise/responders.py:773 ms3.5%
StaticFile.get_alternativeswhitenoise/responders.py:1983 ms3.5%
StaticFile.get_alternatives.<locals>.<lambda>whitenoise/responders.py:1983 ms3.5%
<GC>~3 ms3.5%
WhiteNoise.get_static_filewhitenoise/base.py:2123 ms3.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1155 ms7.0%
scantreewhitenoise/base.py:2733 ms3.5%
scantreewhitenoise/base.py:2713 ms3.5%
scantreewhitenoise/base.py:2733 ms3.5%
ClientHandler.__call__django/test/client.py:18610 ms14.1%
BaseHandler.get_responsedjango/core/handlers/base.py:14210 ms14.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5610 ms14.1%
MiddlewareMixin.__call__django/utils/deprecation.py:38010 ms14.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5610 ms14.1%
MiddlewareMixin.__call__django/utils/deprecation.py:38010 ms14.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5610 ms14.1%
MiddlewareMixin.__call__django/utils/deprecation.py:38010 ms14.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5610 ms14.1%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12310 ms14.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5610 ms14.1%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:14510 ms14.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5610 ms14.1%
MiddlewareMixin.__call__django/utils/deprecation.py:38010 ms14.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5610 ms14.1%
MiddlewareMixin.__call__django/utils/deprecation.py:38010 ms14.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5610 ms14.1%
MiddlewareMixin.__call__django/utils/deprecation.py:38010 ms14.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5610 ms14.1%
MiddlewareMixin.__call__django/utils/deprecation.py:38010 ms14.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5610 ms14.1%
MiddlewareMixin.__call__django/utils/deprecation.py:38010 ms14.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5610 ms14.1%
MiddlewareMixin.__call__django/utils/deprecation.py:38010 ms14.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5610 ms14.1%
MiddlewareMixin.__call__django/utils/deprecation.py:38010 ms14.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5610 ms14.1%
BaseHandler._get_responsedjango/core/handlers/base.py:19910 ms14.1%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:6210 ms14.1%
edit_starter_packstarter_packs/views.py:3735 ms7.0%
get_editable_packstarter_packs/views.py:60 return get_object_or_404(StarterPack, slug=slug, owners=request.user, **extra)5 ms7.0%
get_object_or_404django/shortcuts.py:1005 ms7.0%
QuerySet.getdjango/db/models/query.py:7025 ms7.0%
QuerySet.__len__django/db/models/query.py:4215 ms7.0%
QuerySet._fetch_alldjango/db/models/query.py:22625 ms7.0%
ModelIterable.__iter__django/db/models/query.py:1035 ms7.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16255 ms7.0%
CursorWrapper.executedjango/db/backends/utils.py:795 ms7.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms7.0%
CursorWrapper._executedjango/db/backends/utils.py:1055 ms7.0%
Cursor.executepsycopg/cursor.py:1135 ms7.0%
Connection.waitpsycopg/connection.py:4955 ms7.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2065 ms7.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2865 ms7.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:785 ms7.0%
edit_starter_packstarter_packs/views.py:391 return render(5 ms7.0%
renderdjango/shortcuts.py:273 ms3.5%
render_to_stringdjango/template/loader.py:623 ms3.5%
Template.renderdjango/template/backends/django.py:1073 ms3.5%
Template.renderdjango/template/base.py:1753 ms3.5%
instrumented_test_renderdjango/test/utils.py:1123 ms3.5%
Signal.senddjango/dispatch/dispatcher.py:2493 ms3.5%
store_rendered_templatesdjango/test/client.py:2753 ms3.5%
renderdjango/shortcuts.py:283 ms3.5%
HttpResponse.__init__django/http/response.py:3893 ms3.5%
HttpResponse.contentdjango/http/response.py:4213 ms3.5%
HttpResponseBase.make_bytesdjango/http/response.py:3293 ms3.5%
ClientHandler.__call__django/test/client.py:1775 ms7.0%
Signal.connectdjango/dispatch/dispatcher.py:1363 ms3.5%
BaseHandler.get_responsedjango/core/handlers/base.py:1423 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:563 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3803 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:563 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3803 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:563 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3803 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:563 ms3.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1233 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:563 ms3.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1453 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:563 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3803 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:563 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3803 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:563 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3803 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:563 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3803 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:563 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3803 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:563 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3803 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:563 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3803 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:563 ms3.5%
BaseHandler._get_responsedjango/core/handlers/base.py:1993 ms3.5%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:593 ms3.5%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:823 ms3.5%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2513 ms3.5%
SimpleLazyObject._setupdjango/utils/functional.py:4043 ms3.5%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:393 ms3.5%
get_userdjango/contrib/auth/middleware.py:193 ms3.5%
get_userdjango/contrib/auth/__init__.py:2873 ms3.5%
_get_user_session_keydjango/contrib/auth/__init__.py:1113 ms3.5%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:553 ms3.5%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2543 ms3.5%
SessionStore.loaddjango/contrib/sessions/backends/db.py:563 ms3.5%
SessionBase.decodedjango/contrib/sessions/backends/base.py:1383 ms3.5%
loadsdjango/core/signing.py:2113 ms3.5%
Signer.unsign_objectdjango/core/signing.py:2843 ms3.5%
TimestampSigner.unsigndjango/core/signing.py:3083 ms3.5%
Signer.unsigndjango/core/signing.py:2523 ms3.5%
Signer.signaturedjango/core/signing.py:2423 ms3.5%
base64_hmacdjango/core/signing.py:1143 ms3.5%
salted_hmacdjango/utils/crypto.py:613 ms3.5%
Client.requestdjango/test/client.py:10863 ms3.5%
Signal.connectdjango/dispatch/dispatcher.py:1533 ms3.5%
iscoroutinefunction<stdlib>/inspect.py:334 return _has_code_flag(obj, CO_COROUTINE) or _has_coroutine_mark(obj)3 ms3.5%
TestOwnerManagement.test_added_owner_who_is_not_creator_can_editstarter_packs/tests.py:440 self.client.force_login(self.friend)10 ms14.1%
ClientMixin.force_logindjango/test/client.py:85810 ms14.1%
ClientMixin._logindjango/test/client.py:8895 ms7.0%
logindjango/contrib/auth/__init__.py:1773 ms3.5%
SessionBase.__contains__django/contrib/sessions/backends/base.py:523 ms3.5%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2543 ms3.5%
SessionStore.loaddjango/contrib/sessions/backends/db.py:553 ms3.5%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:343 ms3.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms3.5%
QuerySet.getdjango/db/models/query.py:7023 ms3.5%
QuerySet.__len__django/db/models/query.py:4213 ms3.5%
QuerySet._fetch_alldjango/db/models/query.py:22623 ms3.5%
ModelIterable.__iter__django/db/models/query.py:1033 ms3.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16253 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.5%
Cursor.executepsycopg/cursor.py:1133 ms3.5%
Connection.waitpsycopg/connection.py:4953 ms3.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms3.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms3.5%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms3.5%
logindjango/contrib/auth/__init__.py:1893 ms3.5%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4403 ms3.5%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1753 ms3.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms3.5%
QuerySet.getdjango/db/models/query.py:7023 ms3.5%
QuerySet.__len__django/db/models/query.py:4213 ms3.5%
QuerySet._fetch_alldjango/db/models/query.py:22623 ms3.5%
ModelIterable.__iter__django/db/models/query.py:1033 ms3.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16253 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.5%
Cursor.executepsycopg/cursor.py:1133 ms3.5%
Connection.waitpsycopg/connection.py:4953 ms3.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms3.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms3.5%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms3.5%
ClientMixin._logindjango/test/client.py:8843 ms3.5%
ClientMixin.sessiondjango/test/client.py:8153 ms3.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1213 ms3.5%
SessionStore.createdjango/contrib/sessions/backends/db.py:743 ms3.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1273 ms3.5%
Model.savedjango/db/models/base.py:9043 ms3.5%
Model.save_basedjango/db/models/base.py:9963 ms3.5%
Model._save_tabledjango/db/models/base.py:11993 ms3.5%
Model._do_insertdjango/db/models/base.py:12513 ms3.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms3.5%
QuerySet._insertdjango/db/models/query.py:21413 ms3.5%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19363 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.5%
Cursor.executepsycopg/cursor.py:1133 ms3.5%
Connection.waitpsycopg/connection.py:4953 ms3.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms3.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms3.5%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms3.5%
ClientMixin._logindjango/test/client.py:8913 ms3.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1273 ms3.5%
Model.savedjango/db/models/base.py:9043 ms3.5%
Model.save_basedjango/db/models/base.py:9963 ms3.5%
Model._save_tabledjango/db/models/base.py:11403 ms3.5%
Model._do_updatedjango/db/models/base.py:12443 ms3.5%
QuerySet._updatedjango/db/models/query.py:14483 ms3.5%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21503 ms3.5%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21213 ms3.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16253 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms3.5%
Cursor.executepsycopg/cursor.py:1133 ms3.5%
Connection.waitpsycopg/connection.py:4953 ms3.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms3.5%
BaseCursor._convert_querypsycopg/_cursor_base.py:4653 ms3.5%
PostgresClientQuery.convertpsycopg/_queries.py:2893 ms3.5%
PostgresClientQuery.dumppsycopg/_queries.py:2993 ms3.5%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3003 ms3.5%
TransactionTestCase._post_teardowndjango/test/testcases.py:1243 self._fixture_teardown()5 ms7.0%
TestCase._fixture_teardowndjango/test/testcases.py:14983 ms3.5%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4953 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms3.5%
Cursor.executepsycopg/cursor.py:1133 ms3.5%
Connection.waitpsycopg/connection.py:4953 ms3.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms3.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms3.5%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms3.5%
TestCase._fixture_teardowndjango/test/testcases.py:15003 ms3.5%
TestCase._rollback_atomicsdjango/test/testcases.py:14083 ms3.5%
Atomic.__exit__django/db/transaction.py:2953 ms3.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:263 ms3.5%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4133 ms3.5%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3713 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms3.5%
Cursor.executepsycopg/cursor.py:1133 ms3.5%
Connection.waitpsycopg/connection.py:4953 ms3.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms3.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms3.5%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms3.5%
teardown0.30 ms0.4%
Estimated from 29 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
starter_packs/tests.py:441
response = self.client.get(reverse("edit_starter_pack", args=[self.pack.slug]))
TestOwnerManagement.test_added_owner_who_is_not_creator_can_edit
· Libraries
|
46 ms |
|
starter_packs/tests.py:440
self.client.force_login(self.friend)
TestOwnerManagement.test_added_owner_who_is_not_creator_can_edit
· Database
|
10 ms |
|
starter_packs/views.py:60
return get_object_or_404(StarterPack, slug=slug, owners=request.user, **extra)
get_editable_pack
· Database
|
5 ms |
|
starter_packs/views.py:391
return render(
edit_starter_pack
· Templates
|
5 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.11 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_db_marker function | 0.03 ms |
| _django_isolate_apps function | 0.02 ms |
| _django_clear_site_cache function | 0.02 ms |
| _live_server_helper function | 0.02 ms |
| _django_set_urlconf function | 0.02 ms |
| monkeypatch function | 0.02 ms |
Database
26 queries · 10 msNo repeated queries.
Biggest pieces of work
|
call test body
starter_packs/tests.py:441
|
66 ms |
|
call _post_teardown
django/test/testcases.py:1243
|
5 ms |
| teardown pytest internals | 0.30 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 | 72 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 213 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 240 ms | Profile |
| 12 hours ago | CI github-actions:test | passed | 110 ms | Profile |
| 12 hours ago | CI github-actions:test | passed | 88 ms | Run |