Tests / ft/tests.py
TestProjectsHome::test_user_logged_in_without_projects
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
49 ms
median 53 ms
max 66 ms
max 66 ms
Phases
Setup 0.67 ms
Call 47 ms
Teardown 1 ms
Categories
Database 25 ms
Other (Libraries, Unsampled, pytest) 24 ms
30 database queries per run
Needs 362 KB of memory (max 788 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
setup0.73 ms1.4%
call50 ms97.4%
TestProjectsHome.test_user_logged_in_without_projectsft/tests.py:31 response = self.client.get(reverse("projects"))36 ms69.1%
Client.getdjango/test/client.py:112436 ms69.1%
RequestFactory.getdjango/test/client.py:47536 ms69.1%
RequestFactory.genericdjango/test/client.py:67136 ms69.1%
Client.requestdjango/test/client.py:108236 ms69.1%
ClientHandler.__call__django/test/client.py:18618 ms34.6%
BaseHandler.get_responsedjango/core/handlers/base.py:14118 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms34.6%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13018 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms34.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30918 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms34.6%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12318 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms34.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30918 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms34.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30918 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms34.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30918 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms34.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30918 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms34.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30918 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms34.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30918 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms34.6%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3418 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms34.6%
BaseHandler._get_responsedjango/core/handlers/base.py:19818 ms34.6%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5613 ms25.1%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:7913 ms25.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:25113 ms25.1%
SimpleLazyObject._setupdjango/utils/functional.py:40413 ms25.1%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:4013 ms25.1%
get_userdjango/contrib/auth/middleware.py:2013 ms25.1%
get_userdjango/contrib/auth/__init__.py:31811 ms22.0%
ModelBackend.get_userdjango/contrib/auth/backends.py:23211 ms22.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:8711 ms22.0%
QuerySet.getdjango/db/models/query.py:62711 ms22.0%
QuerySet.__len__django/db/models/query.py:37210 ms18.9%
QuerySet._fetch_alldjango/db/models/query.py:200010 ms18.9%
ModelIterable.__iter__django/db/models/query.py:9510 ms18.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16246 ms12.6%
CursorWrapper.executedjango/db/backends/utils.py:796 ms12.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:926 ms12.6%
CursorWrapper._executedjango/db/backends/utils.py:1056 ms12.6%
Cursor.executepsycopg/cursor.py:1136 ms12.6%
Connection.waitpsycopg/connection.py:4956 ms12.6%
BaseCursor._execute_genpsycopg/_cursor_base.py:2066 ms12.6%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2866 ms12.6%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:786 ms12.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16113 ms6.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms3.1%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms3.1%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms3.1%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2722 ms3.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms3.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms3.1%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms3.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms3.1%
Exact.as_sqldjango/db/models/lookups.py:4072 ms3.1%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2382 ms3.1%
BuiltinLookup.process_lhsdjango/db/models/lookups.py:2302 ms3.1%
QuerySet.order_bydjango/db/models/query.py:17702 ms3.1%
get_userdjango/contrib/auth/__init__.py:3112 ms3.1%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms3.1%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms3.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms3.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms3.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet.getdjango/db/models/query.py:6352 ms3.1%
QuerySet.__len__django/db/models/query.py:3722 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.1%
ModelIterable.__iter__django/db/models/query.py:1092 ms3.1%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:595 ms9.4%
homeapps/orgs/views.py:723 ms6.3%
current_organizationapps/orgs/views.py:54 return ensure_organization(request.user)3 ms6.3%
ensure_organizationapps/orgs/models.py:126 membership = Membership.objects.filter(user=user).select_related("organization").order_by("id").first()2 ms3.1%
QuerySet.firstdjango/db/models/query.py:11452 ms3.1%
QuerySet.__iter__django/db/models/query.py:3902 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
ensure_organizationapps/orgs/models.py:133 Membership.objects.create(organization=organization, user=user, role=Membership.Role.OWNER)2 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet.createdjango/db/models/query.py:6692 ms3.1%
Model.savedjango/db/models/base.py:8742 ms3.1%
Model.save_basedjango/db/models/base.py:9662 ms3.1%
Model._save_tabledjango/db/models/base.py:11672 ms3.1%
Model._do_insertdjango/db/models/base.py:12182 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet._insertdjango/db/models/query.py:19182 ms3.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
homeapps/orgs/views.py:74 if not projects.exists():2 ms3.1%
QuerySet.existsdjango/db/models/query.py:13372 ms3.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms3.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
ClientHandler.__call__django/test/client.py:17318 ms34.6%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6218 ms34.6%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10418 ms34.6%
WhiteNoise.add_fileswhitenoise/base.py:10818 ms34.6%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12010 ms18.9%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13110 ms18.9%
WhiteNoise.get_static_filewhitenoise/base.py:2088 ms15.7%
StaticFile.__init__whitenoise/responders.py:773 ms6.3%
StaticFile.get_alternativeswhitenoise/responders.py:1982 ms3.1%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms3.1%
StaticFile.__init__whitenoise/responders.py:732 ms3.1%
StaticFile.get_headerswhitenoise/responders.py:1762 ms3.1%
formatdate<stdlib>/email/utils.py:2662 ms3.1%
StaticFile.__init__whitenoise/responders.py:742 ms3.1%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms3.1%
StaticFile.__init__whitenoise/responders.py:762 ms3.1%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1892 ms3.1%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms3.1%
Headers.get<stdlib>/wsgiref/headers.py:1062 ms3.1%
WhiteNoise.get_static_filewhitenoise/base.py:2022 ms3.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1158 ms15.7%
scantreewhitenoise/base.py:2628 ms15.7%
scantreewhitenoise/base.py:2628 ms15.7%
scantreewhitenoise/base.py:2648 ms15.7%
<GC>~5 ms9.4%
TestProjectsHome.test_user_logged_in_without_projectsft/tests.py:30 self.client.force_login(user)8 ms15.7%
ClientMixin.force_logindjango/test/client.py:8558 ms15.7%
ClientMixin._logindjango/test/client.py:8816 ms12.6%
logindjango/contrib/auth/__init__.py:1873 ms6.3%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms3.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms3.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms3.1%
Atomic.__enter__django/db/transaction.py:2112 ms3.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.1%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms3.1%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms3.1%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet.getdjango/db/models/query.py:6352 ms3.1%
QuerySet.__len__django/db/models/query.py:3722 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
logindjango/contrib/auth/__init__.py:1752 ms3.1%
SessionBase.__contains__django/contrib/sessions/backends/base.py:522 ms3.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms3.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms3.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet.getdjango/db/models/query.py:6352 ms3.1%
QuerySet.__len__django/db/models/query.py:3722 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
logindjango/contrib/auth/__init__.py:1972 ms3.1%
Signal.senddjango/dispatch/dispatcher.py:2092 ms3.1%
update_last_logindjango/contrib/auth/models.py:242 ms3.1%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms3.1%
Model.savedjango/db/models/base.py:8742 ms3.1%
Model.save_basedjango/db/models/base.py:9662 ms3.1%
Model._save_tabledjango/db/models/base.py:11102 ms3.1%
Model._do_updatedjango/db/models/base.py:12112 ms3.1%
QuerySet._updatedjango/db/models/query.py:13272 ms3.1%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms3.1%
ClientMixin._logindjango/test/client.py:8762 ms3.1%
ClientMixin.sessiondjango/test/client.py:8122 ms3.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms3.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms3.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms3.1%
Model.savedjango/db/models/base.py:8742 ms3.1%
Model.save_basedjango/db/models/base.py:9662 ms3.1%
Model._save_tabledjango/db/models/base.py:11672 ms3.1%
Model._do_insertdjango/db/models/base.py:12182 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet._insertdjango/db/models/query.py:19182 ms3.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
TransactionTestCase._pre_setupdjango/test/testcases.py:1164 cls._fixture_setup()2 ms3.1%
TestCase._fixture_setupdjango/test/testcases.py:14782 ms3.1%
TestCase._enter_atomicsdjango/test/testcases.py:13962 ms3.1%
Atomic.__enter__django/db/transaction.py:2112 ms3.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.1%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms3.1%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms3.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms3.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms3.1%
TestProjectsHome.test_user_logged_in_without_projectsft/tests.py:33 organization = Organization.objects.get(membership__user=user)2 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet.getdjango/db/models/query.py:6352 ms3.1%
QuerySet.__len__django/db/models/query.py:3722 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()2 ms3.1%
TestCase._fixture_teardowndjango/test/testcases.py:14942 ms3.1%
TestCase._should_check_constraintsdjango/test/testcases.py:15032 ms3.1%
DatabaseWrapper.is_usabledjango/db/backends/postgresql/base.py:4922 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
Estimated from 32 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
ft/tests.py:31
response = self.client.get(reverse("projects"))
TestProjectsHome.test_user_logged_in_without_projects
· Libraries
|
31 ms |
|
ft/tests.py:30
self.client.force_login(user)
TestProjectsHome.test_user_logged_in_without_projects
· Database
|
8 ms |
|
apps/orgs/models.py:126
membership = Membership.objects.filter(user=user).select_related("organization").order_by("id").first()
ensure_organization
· Database
|
2 ms |
|
apps/orgs/models.py:133
Membership.objects.create(organization=organization, user=user, role=Membership.Role.OWNER)
ensure_organization
· Database
|
2 ms |
|
apps/orgs/views.py:74
if not projects.exists():
home
· Database
|
2 ms |
|
ft/tests.py:33
organization = Organization.objects.get(membership__user=user)
TestProjectsHome.test_user_logged_in_without_projects
· Database
|
2 ms |
Fixtures
Exact setup time| _django_set_urlconf function | 0.06 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.04 ms |
| _live_server_helper function | 0.04 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
30 queries · 8 msNo repeated queries.
Biggest pieces of work
|
call test body
ft/tests.py:31
|
45 ms |
|
call _pre_setup
django/test/testcases.py:1164
|
2 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
2 ms |
| call pytest internals | 2 ms |
| setup pytest internals | 0.73 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 | 52 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 29 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 61 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 47 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 | 34 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 55 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 54 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 54 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 62 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 26 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 50 ms | Profile |