Tests / ft/tests.py
TestTrubleshootingPage::test_troubleshooting_is_only_for_members
First seen 8 hours ago in 78a4357
CI
github-actions:test
5 runs
Average
69 ms
median 74 ms
max 78 ms
max 78 ms
Phases
Setup 0.79 ms
Call 68 ms
Teardown 0.20 ms
Categories
Database 42 ms
Other (Libraries, Logging, pytest, Unsampled, ...) 27 ms
56 database queries per run
Needs 90 KB of memory (max 436 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 48 minutes ago ·
open run
call77 ms98.7%
TestTrubleshootingPage.test_troubleshooting_is_only_for_membersft/tests.py:119 self.assertEqual(self.client.get(url).status_code, 302) # sign in32 ms40.6%
Client.getdjango/test/client.py:112432 ms40.6%
RequestFactory.getdjango/test/client.py:47532 ms40.6%
RequestFactory.genericdjango/test/client.py:67132 ms40.6%
Client.requestdjango/test/client.py:108232 ms40.6%
ClientHandler.__call__django/test/client.py:17329 ms37.7%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6229 ms37.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10427 ms34.8%
WhiteNoise.add_fileswhitenoise/base.py:10827 ms34.8%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12023 ms29.0%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13120 ms26.1%
WhiteNoise.get_static_filewhitenoise/base.py:2039 ms11.6%
WhiteNoise.add_cache_headerswhitenoise/base.py:2249 ms11.6%
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%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2052 ms2.9%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1862 ms2.9%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2072 ms2.9%
WhiteNoise.get_static_filewhitenoise/base.py:2089 ms11.6%
StaticFile.__init__whitenoise/responders.py:742 ms2.9%
parsedate<stdlib>/email/_parseaddr.py:1852 ms2.9%
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%
FileEntry.stat_regular_filewhitenoise/responders.py:2762 ms2.9%
<GC>~2 ms2.9%
StaticFile.__init__whitenoise/responders.py:772 ms2.9%
StaticFile.get_alternativeswhitenoise/responders.py:2012 ms2.9%
StaticFile.__init__whitenoise/responders.py:732 ms2.9%
StaticFile.get_headerswhitenoise/responders.py:1782 ms2.9%
parsedate<stdlib>/email/_parseaddr.py:1852 ms2.9%
WhiteNoise.get_static_filewhitenoise/base.py:2022 ms2.9%
WhiteNoise.add_mime_headerswhitenoise/base.py:2212 ms2.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1155 ms5.8%
scantreewhitenoise/base.py:2642 ms2.9%
scantreewhitenoise/base.py:2622 ms2.9%
scantreewhitenoise/base.py:2622 ms2.9%
scantreewhitenoise/base.py:2622 ms2.9%
scantreewhitenoise/base.py:2622 ms2.9%
scantreewhitenoise/base.py:2622 ms2.9%
scantreewhitenoise/base.py:2642 ms2.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1112 ms2.9%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms2.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms2.9%
scantreewhitenoise/base.py:2642 ms2.9%
ClientHandler.__call__django/test/client.py:1862 ms2.9%
BaseHandler.get_responsedjango/core/handlers/base.py:1412 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1302 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1232 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:342 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
BaseHandler._get_responsedjango/core/handlers/base.py:1982 ms2.9%
TestTrubleshootingPage.test_troubleshooting_is_only_for_membersft/tests.py:120 self.client.force_login(User.objects.create_user("stranger"))7 ms8.7%
ClientMixin.force_logindjango/test/client.py:8555 ms5.8%
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: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%
UserManager.create_userdjango/contrib/auth/models.py:1752 ms2.9%
UserManager._create_userdjango/contrib/auth/models.py:1632 ms2.9%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 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%
TestTrubleshootingPage.test_troubleshooting_is_only_for_membersft/tests.py:121 self.assertEqual(self.client.get(url).status_code, 404)7 ms8.7%
Client.getdjango/test/client.py:11247 ms8.7%
RequestFactory.getdjango/test/client.py:4757 ms8.7%
RequestFactory.genericdjango/test/client.py:6717 ms8.7%
Client.requestdjango/test/client.py:10827 ms8.7%
ClientHandler.__call__django/test/client.py:1867 ms8.7%
BaseHandler.get_responsedjango/core/handlers/base.py:1417 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.7%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1307 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.7%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1237 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.7%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:347 ms8.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.7%
BaseHandler._get_responsedjango/core/handlers/base.py:1987 ms8.7%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:595 ms5.8%
project_troubleshootingapps/projects/urls.py:6225 ms5.8%
managed_projectapps/projects/urls.py:61 project = get_object_or_404(2 ms2.9%
get_object_or_404django/shortcuts.py:902 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%
managed_projectapps/projects/urls.py:642 ms2.9%
can_manageapps/projects/urls.py:442 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%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms2.9%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms2.9%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.9%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.9%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms2.9%
get_userdjango/contrib/auth/middleware.py:202 ms2.9%
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: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%
TestTrubleshootingPage.test_troubleshooting_is_only_for_membersft/tests.py:1135 ms5.8%
make_projectapps/projects/testing.py:622 ms2.9%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).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%
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%
TestTrubleshootingPage.test_troubleshooting_is_only_for_membersft/tests.py:1155 ms5.8%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(5 ms5.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:875 ms5.8%
QuerySet.get_or_createdjango/db/models/query.py:9872 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%
QuerySet.get_or_createdjango/db/models/query.py:9942 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%
TestTrubleshootingPage.test_troubleshooting_is_only_for_membersft/tests.py:1175 ms5.8%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(5 ms5.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:875 ms5.8%
QuerySet.get_or_createdjango/db/models/query.py:9872 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%
QuerySet.get_or_createdjango/db/models/query.py:9922 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%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()5 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%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.9%
Cursor.executepsycopg/cursor.py:1132 ms2.9%
Connection.waitpsycopg/connection.py:4952 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%
TestTrubleshootingPage.test_troubleshooting_is_only_for_membersft/tests.py:112 owner = User.objects.create_user("owner")2 ms2.9%
UserManager.create_userdjango/contrib/auth/models.py:1752 ms2.9%
UserManager._create_userdjango/contrib/auth/models.py:1632 ms2.9%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 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%
TestTrubleshootingPage.test_troubleshooting_is_only_for_membersft/tests.py:114 SecretTokens.objects.create(project=project, token="testtoken")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%
TestTrubleshootingPage.test_troubleshooting_is_only_for_membersft/tests.py:1162 ms2.9%
make_projectapps/projects/testing.py:622 ms2.9%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).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%
TestTrubleshootingPage.test_troubleshooting_is_only_for_membersft/tests.py:122 self.client.force_login(owner)2 ms2.9%
ClientMixin.force_logindjango/test/client.py:8552 ms2.9%
ClientMixin._logindjango/test/client.py:8812 ms2.9%
logindjango/contrib/auth/__init__.py:1972 ms2.9%
Signal.senddjango/dispatch/dispatcher.py:2092 ms2.9%
update_last_logindjango/contrib/auth/models.py:242 ms2.9%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 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:11102 ms2.9%
Model._do_updatedjango/db/models/base.py:12112 ms2.9%
QuerySet._updatedjango/db/models/query.py:13272 ms2.9%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 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%
TestTrubleshootingPage.test_troubleshooting_is_only_for_membersft/tests.py:123 response = self.client.get(without_token.url("project_troubleshooting"))2 ms2.9%
Client.getdjango/test/client.py:11242 ms2.9%
RequestFactory.getdjango/test/client.py:4752 ms2.9%
RequestFactory.genericdjango/test/client.py:6712 ms2.9%
Client.requestdjango/test/client.py:10822 ms2.9%
ClientHandler.__call__django/test/client.py:1862 ms2.9%
BaseHandler.get_responsedjango/core/handlers/base.py:1412 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1302 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1232 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:342 ms2.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms2.9%
BaseHandler._get_responsedjango/core/handlers/base.py:1982 ms2.9%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms2.9%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms2.9%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.9%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.9%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms2.9%
get_userdjango/contrib/auth/middleware.py:202 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%
Estimated from 34 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
ft/tests.py:119
self.assertEqual(self.client.get(url).status_code, 302) # sign in
TestTrubleshootingPage.test_troubleshooting_is_only_for_members
· Libraries
|
32 ms |
|
apps/projects/testing.py:76
membership, _ = Membership.objects.get_or_create(
add_member
· Database
|
9 ms |
|
ft/tests.py:120
self.client.force_login(User.objects.create_user("stranger"))
TestTrubleshootingPage.test_troubleshooting_is_only_for_members
· Database
|
7 ms |
|
apps/orgs/models.py:46
while slug in reserved or taken.filter(slug=slug).exists():
unique_slug
· Database
|
5 ms |
|
ft/tests.py:112
owner = User.objects.create_user("owner")
TestTrubleshootingPage.test_troubleshooting_is_only_for_members
· Database
|
2 ms |
|
apps/projects/testing.py:61
organization = Organization.objects.create(
make_project
· Database
|
2 ms |
|
ft/tests.py:114
SecretTokens.objects.create(project=project, token="testtoken")
TestTrubleshootingPage.test_troubleshooting_is_only_for_members
· Database
|
2 ms |
|
ft/tests.py:121
self.assertEqual(self.client.get(url).status_code, 404)
TestTrubleshootingPage.test_troubleshooting_is_only_for_members
· Database
|
2 ms |
|
apps/projects/urls.py:61
project = get_object_or_404(
managed_project
· 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.05 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.05 ms |
| _django_set_urlconf function | 0.05 ms |
| _live_server_helper function | 0.04 ms |
| _django_clear_site_cache function | 0.04 ms |
| monkeypatch function | 0.02 ms |
Database
56 queries · 22 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
4×
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 ?
3×
SELECT %s AS "a" FROM "django_session" WHERE "django_session"."session_key" = %s LIMIT ?
3×
INSERT INTO "django_session" ("session_key", "session_data", "expire_date") VALUES (%s, %s, %s)
Biggest pieces of work
|
call test body
ft/tests.py:119
|
70 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
5 ms |
| call pytest internals | 2 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 | |
|---|---|---|---|---|
| 48 minutes ago | CI github-actions:test | passed | 78 ms | Profile |
| an hour ago | CI github-actions:test | passed | 74 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 78 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 44 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 72 ms | Profile |