Tests / apps/projects/tests.py
ProjectRunPage::test_other_peoples_project
First seen 2 years, 10 months ago in b9e98d9
CI
github-actions:test
12 runs
Average
49 ms
median 53 ms
max 66 ms
max 66 ms
Phases
Setup 0.67 ms
Call 48 ms
Teardown 0.15 ms
Categories
Database 21 ms
Test code 0.18 ms
Other (Libraries, Unsampled, Deep copies, pytest) 28 ms
31 database queries per run
Needs 369 KB of memory (max 540 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
call52 ms98.3%
ProjectRunPage.test_other_peoples_projectapps/projects/tests.py:320 response = self.client.get(other_project.url("project_run", other_project_run.number))36 ms69.4%
Client.getdjango/test/client.py:112436 ms69.4%
RequestFactory.getdjango/test/client.py:47536 ms69.4%
RequestFactory.genericdjango/test/client.py:67136 ms69.4%
Client.requestdjango/test/client.py:108236 ms69.4%
ClientHandler.__call__django/test/client.py:17332 ms60.7%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6232 ms60.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10424 ms46.3%
WhiteNoise.add_fileswhitenoise/base.py:10824 ms46.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12015 ms28.9%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13114 ms26.0%
WhiteNoise.get_static_filewhitenoise/base.py:20811 ms20.2%
StaticFile.__init__whitenoise/responders.py:725 ms8.7%
StaticFile.get_file_statswhitenoise/responders.py:1615 ms8.7%
__init____init__:-15 ms8.7%
FileEntry.__init__whitenoise/responders.py:2635 ms8.7%
FileEntry.stat_regular_filewhitenoise/responders.py:2765 ms8.7%
<GC>~5 ms8.7%
StaticFile.__init__whitenoise/responders.py:733 ms5.8%
StaticFile.get_headerswhitenoise/responders.py:1763 ms5.8%
formatdate<stdlib>/email/utils.py:2663 ms5.8%
format_datetime<stdlib>/email/utils.py:2752 ms2.9%
StaticFile.__init__whitenoise/responders.py:742 ms2.9%
parsedate<stdlib>/email/_parseaddr.py:1852 ms2.9%
StaticFile.__init__whitenoise/responders.py:772 ms2.9%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms2.9%
WhiteNoise.get_static_filewhitenoise/base.py:2032 ms2.9%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms2.9%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1762 ms2.9%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1972 ms2.9%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms2.9%
WhiteNoise.get_static_filewhitenoise/base.py:2022 ms2.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1153 ms5.8%
scantreewhitenoise/base.py:2623 ms5.8%
scantreewhitenoise/base.py:2623 ms5.8%
scantreewhitenoise/base.py:2622 ms2.9%
scantreewhitenoise/base.py:2622 ms2.9%
scantreewhitenoise/base.py:2642 ms2.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1116 ms11.6%
WhiteNoise.add_fileswhitenoise/base.py:1086 ms11.6%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1205 ms8.7%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1315 ms8.7%
WhiteNoise.get_static_filewhitenoise/base.py:2085 ms8.7%
StaticFile.__init__whitenoise/responders.py:733 ms5.8%
StaticFile.get_headerswhitenoise/responders.py:1763 ms5.8%
formatdate<stdlib>/email/utils.py:2663 ms5.8%
StaticFile.__init__whitenoise/responders.py:722 ms2.9%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms2.9%
__init____init__:-12 ms2.9%
FileEntry.__init__whitenoise/responders.py:2632 ms2.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms2.9%
scantreewhitenoise/base.py:2642 ms2.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1072 ms2.9%
ClientHandler.__call__django/test/client.py:1865 ms8.7%
BaseHandler.get_responsedjango/core/handlers/base.py:1415 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms8.7%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1305 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms8.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms8.7%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1235 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms8.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms8.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms8.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms8.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms8.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms8.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms8.7%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:345 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms8.7%
BaseHandler._get_responsedjango/core/handlers/base.py:1985 ms8.7%
project_runapps/projects/urls.py:4015 ms8.7%
find_projectapps/projects/urls.py:525 ms8.7%
can_viewapps/projects/urls.py:335 ms8.7%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:3 ms5.8%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2513 ms5.8%
SimpleLazyObject._setupdjango/utils/functional.py:4043 ms5.8%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:403 ms5.8%
get_userdjango/contrib/auth/middleware.py:203 ms5.8%
get_userdjango/contrib/auth/__init__.py:3112 ms2.9%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms2.9%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms2.9%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.9%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.9%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.9%
QuerySet.getdjango/db/models/query.py:6352 ms2.9%
QuerySet.__len__django/db/models/query.py:3722 ms2.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.9%
ModelIterable.__iter__django/db/models/query.py:952 ms2.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms2.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms2.9%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms2.9%
get_userdjango/contrib/auth/__init__.py:3182 ms2.9%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms2.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.9%
QuerySet.getdjango/db/models/query.py:6352 ms2.9%
QuerySet.__len__django/db/models/query.py:3722 ms2.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.9%
ModelIterable.__iter__django/db/models/query.py:952 ms2.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.9%
Cursor.executepsycopg/cursor.py:1132 ms2.9%
Connection.waitpsycopg/connection.py:4952 ms2.9%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms2.9%
QuerySet.existsdjango/db/models/query.py:13372 ms2.9%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.9%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.9%
Cursor.executepsycopg/cursor.py:1132 ms2.9%
Connection.waitpsycopg/connection.py:4952 ms2.9%
ProjectRunPage.setUpapps/projects/tests.py:308 self.client.force_login(self.user)8 ms14.5%
ClientMixin.force_logindjango/test/client.py:8556 ms11.6%
ClientMixin._logindjango/test/client.py:8813 ms5.8%
logindjango/contrib/auth/__init__.py:1873 ms5.8%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4343 ms5.8%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms2.9%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms2.9%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms2.9%
QuerySet.existsdjango/db/models/query.py:13372 ms2.9%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.9%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.9%
Cursor.executepsycopg/cursor.py:1132 ms2.9%
Connection.waitpsycopg/connection.py:4952 ms2.9%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms2.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms2.9%
Atomic.__exit__django/db/transaction.py:2472 ms2.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.9%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms2.9%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.9%
Cursor.executepsycopg/cursor.py:1132 ms2.9%
Connection.waitpsycopg/connection.py:4952 ms2.9%
ClientMixin._logindjango/test/client.py:8762 ms2.9%
ClientMixin.sessiondjango/test/client.py:8122 ms2.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms2.9%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms2.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms2.9%
Atomic.__enter__django/db/transaction.py:2112 ms2.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.9%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms2.9%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.9%
Cursor.executepsycopg/cursor.py:1132 ms2.9%
Connection.waitpsycopg/connection.py:4952 ms2.9%
ClientMixin._logindjango/test/client.py:8832 ms2.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1232 ms2.9%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1022 ms2.9%
SessionBase.encodedjango/contrib/sessions/backends/base.py:1262 ms2.9%
dumpsdjango/core/signing.py:1512 ms2.9%
Signer.sign_objectdjango/core/signing.py:2322 ms2.9%
TestData.__get__django/test/testcases.py:13672 ms2.9%
deepcopy<stdlib>/copy.py:1562 ms2.9%
_reconstruct<stdlib>/copy.py:2542 ms2.9%
deepcopy<stdlib>/copy.py:1302 ms2.9%
_deepcopy_dict<stdlib>/copy.py:2012 ms2.9%
deepcopy<stdlib>/copy.py:1562 ms2.9%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()3 ms5.8%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms2.9%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4832 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.9%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms2.9%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms2.9%
Atomic.__exit__django/db/transaction.py:2862 ms2.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.9%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms2.9%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.9%
Cursor.executepsycopg/cursor.py:1132 ms2.9%
Connection.waitpsycopg/connection.py:4952 ms2.9%
ProjectRunPage.test_other_peoples_projectapps/projects/tests.py:3172 ms2.9%
make_projectapps/projects/testing.py:61 organization = Organization.objects.create(2 ms2.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.9%
QuerySet.createdjango/db/models/query.py:6692 ms2.9%
Model.savedjango/db/models/base.py:8742 ms2.9%
Model.save_basedjango/db/models/base.py:9662 ms2.9%
Model._save_tabledjango/db/models/base.py:11672 ms2.9%
Model._do_insertdjango/db/models/base.py:12182 ms2.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.9%
QuerySet._insertdjango/db/models/query.py:19182 ms2.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.9%
Cursor.executepsycopg/cursor.py:1132 ms2.9%
Connection.waitpsycopg/connection.py:4952 ms2.9%
ProjectRunPage.test_other_peoples_projectapps/projects/tests.py:318 ingest = Ingest.objects.create(project=other_project, data={})2 ms2.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.9%
QuerySet.createdjango/db/models/query.py:6692 ms2.9%
Model.savedjango/db/models/base.py:8742 ms2.9%
Model.save_basedjango/db/models/base.py:9662 ms2.9%
Model._save_tabledjango/db/models/base.py:11672 ms2.9%
Model._do_insertdjango/db/models/base.py:12182 ms2.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.9%
QuerySet._insertdjango/db/models/query.py:19182 ms2.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.9%
Cursor.executepsycopg/cursor.py:1132 ms2.9%
Connection.waitpsycopg/connection.py:4952 ms2.9%
ProjectRunPage.test_other_peoples_projectapps/projects/tests.py:3192 ms2.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.9%
QuerySet.createdjango/db/models/query.py:6692 ms2.9%
Run.saveapps/projects/models.py:188 super().save(*args, **kwargs)2 ms2.9%
Model.savedjango/db/models/base.py:8282 ms2.9%
Model._prepare_related_fields_for_savedjango/db/models/base.py:12692 ms2.9%
Estimated from 34 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:320
response = self.client.get(other_project.url("project_run", other_project_run.number))
ProjectRunPage.test_other_peoples_project
· Libraries
|
32 ms |
|
apps/projects/tests.py:308
self.client.force_login(self.user)
ProjectRunPage.setUp
· Database
|
8 ms |
|
apps/projects/urls.py:38
if not user.is_authenticated:
can_manage_project
· Database
|
3 ms |
|
apps/projects/testing.py:61
organization = Organization.objects.create(
make_project
· Database
|
2 ms |
|
apps/projects/tests.py:318
ingest = Ingest.objects.create(project=other_project, data={})
ProjectRunPage.test_other_peoples_project
· Database
|
2 ms |
|
apps/projects/models.py:188
super().save(*args, **kwargs)
Run.save
· Database
|
2 ms |
|
apps/projects/urls.py:40
return user.is_superuser or project.organization.membership_set.filter(user=user).exists()
can_manage_project
· Database
|
2 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.06 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.05 ms |
| _django_set_urlconf function | 0.04 ms |
| _live_server_helper function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
31 queries · 9 msNo repeated queries.
Biggest pieces of work
|
call test body
apps/projects/tests.py:320
|
41 ms |
|
call setUp
apps/projects/tests.py:308
|
8 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
3 ms |
Reliability
12 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 12 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 16 hours ago | CI github-actions:test | passed | 53 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 26 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 51 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 45 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 66 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 39 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 56 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 55 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 55 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 54 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 29 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 55 ms | Profile |