flakytest.dev anze3db flakytest
Tests / apps/projects/tests.py

LegacyUrlTest::test_private_projects_stay_private

First seen 7 hours ago in 78a4357
CI github-actions:test 5 runs
Average
48 ms
median 52 ms
max 58 ms
Phases
Setup 0.74 ms Call 47 ms Teardown 0.59 ms
Categories
Database 15 ms Other (Libraries, Unsampled, pytest) 34 ms

27 database queries per run

Needs 462 KB of memory (max 824 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 19 minutes ago · open run
Show pytest frames
setup0.84 ms1.6%
call52 ms97.3%
LegacyUrlTest.test_private_projects_stay_privateapps/projects/tests.py:396 response = self.client.get(f"/projects/{self.project.id}/")27 ms50.6%
Client.getdjango/test/client.py:112427 ms50.6%
RequestFactory.getdjango/test/client.py:47527 ms50.6%
RequestFactory.genericdjango/test/client.py:67127 ms50.6%
Client.requestdjango/test/client.py:108227 ms50.6%
ClientHandler.__call__django/test/client.py:17325 ms46.7%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6225 ms46.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10421 ms38.9%
WhiteNoise.add_fileswhitenoise/base.py:10821 ms38.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12019 ms35.0%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13119 ms35.0%
WhiteNoise.get_static_filewhitenoise/base.py:20814 ms27.2%
StaticFile.__init__whitenoise/responders.py:734 ms7.8%
StaticFile.get_headerswhitenoise/responders.py:1802 ms3.9%
StaticFile.get_headerswhitenoise/responders.py:1762 ms3.9%
StaticFile.__init__whitenoise/responders.py:774 ms7.8%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms3.9%
StaticFile.get_alternativeswhitenoise/responders.py:2012 ms3.9%
Headers.__setitem__<stdlib>/wsgiref/headers.py:622 ms3.9%
Headers.__delitem__<stdlib>/wsgiref/headers.py:722 ms3.9%
<GC>~2 ms3.9%
StaticFile.__init__whitenoise/responders.py:742 ms3.9%
parsedate<stdlib>/email/_parseaddr.py:1852 ms3.9%
StaticFile.__init__whitenoise/responders.py:722 ms3.9%
StaticFile.__init__whitenoise/responders.py:762 ms3.9%
WhiteNoise.get_static_filewhitenoise/base.py:2034 ms7.8%
WhiteNoise.add_cache_headerswhitenoise/base.py:2244 ms7.8%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1764 ms7.8%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1974 ms7.8%
URLMixin.urldebug_toolbar/panels/staticfiles.py:204 ms7.8%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms3.9%
scantreewhitenoise/base.py:2622 ms3.9%
scantreewhitenoise/base.py:2622 ms3.9%
scantreewhitenoise/base.py:2642 ms3.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:754 ms7.8%
WhiteNoise.__init__whitenoise/base.py:682 ms3.9%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms3.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms3.9%
scantreewhitenoise/base.py:2622 ms3.9%
scantreewhitenoise/base.py:2622 ms3.9%
scantreewhitenoise/base.py:2602 ms3.9%
ClientHandler.__call__django/test/client.py:1862 ms3.9%
BaseHandler.get_responsedjango/core/handlers/base.py:1412 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.9%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1302 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.9%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1232 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.9%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:342 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.9%
BaseHandler._get_responsedjango/core/handlers/base.py:1982 ms3.9%
legacy_redirectapps/projects/urls.py:670 project = get_object_or_404(Project.objects.select_related("organization"), pk=project_id)2 ms3.9%
get_object_or_404django/shortcuts.py:902 ms3.9%
QuerySet.getdjango/db/models/query.py:6352 ms3.9%
QuerySet.__len__django/db/models/query.py:3722 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.9%
ModelIterable.__iter__django/db/models/query.py:952 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.9%
LegacyUrlTest.test_private_projects_stay_privateapps/projects/tests.py:398 self.client.force_login(User.objects.create_user("stranger"))14 ms27.2%
ClientMixin.force_logindjango/test/client.py:85512 ms23.3%
ClientMixin._logindjango/test/client.py:8816 ms11.7%
logindjango/contrib/auth/__init__.py:1876 ms11.7%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4344 ms7.8%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms3.9%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms3.9%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms3.9%
QuerySet.existsdjango/db/models/query.py:13372 ms3.9%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms3.9%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.9%
Cursor.executepsycopg/cursor.py:1132 ms3.9%
Connection.waitpsycopg/connection.py:4952 ms3.9%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms3.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms3.9%
Atomic.__enter__django/db/transaction.py:2112 ms3.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.9%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms3.9%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.9%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms3.9%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms3.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.9%
QuerySet.getdjango/db/models/query.py:6352 ms3.9%
QuerySet.__len__django/db/models/query.py:3722 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.9%
ModelIterable.__iter__django/db/models/query.py:952 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms3.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms3.9%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms3.9%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms3.9%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms3.9%
ClientMixin._logindjango/test/client.py:8762 ms3.9%
ClientMixin.sessiondjango/test/client.py:8122 ms3.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms3.9%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms3.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms3.9%
Atomic.__exit__django/db/transaction.py:2472 ms3.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.9%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms3.9%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.9%
Cursor.executepsycopg/cursor.py:1132 ms3.9%
Connection.waitpsycopg/connection.py:4952 ms3.9%
ClientMixin._logindjango/test/client.py:8832 ms3.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms3.9%
Atomic.__enter__django/db/transaction.py:2112 ms3.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.9%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms3.9%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.9%
Cursor.executepsycopg/cursor.py:1132 ms3.9%
Connection.waitpsycopg/connection.py:4952 ms3.9%
ClientMixin._logindjango/test/client.py:8842 ms3.9%
ClientMixin._set_login_cookiesdjango/test/client.py:9142 ms3.9%
Morsel.update<stdlib>/http/cookies.py:3412 ms3.9%
UserManager.create_userdjango/contrib/auth/models.py:1752 ms3.9%
UserManager._create_userdjango/contrib/auth/models.py:1632 ms3.9%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms3.9%
Model.savedjango/db/models/base.py:8742 ms3.9%
Model.save_basedjango/db/models/base.py:9662 ms3.9%
Model._save_tabledjango/db/models/base.py:11672 ms3.9%
Model._do_insertdjango/db/models/base.py:12182 ms3.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.9%
QuerySet._insertdjango/db/models/query.py:19182 ms3.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.9%
Cursor.executepsycopg/cursor.py:1132 ms3.9%
Connection.waitpsycopg/connection.py:4952 ms3.9%
LegacyUrlTest.test_private_projects_stay_privateapps/projects/tests.py:3994 ms7.8%
Client.getdjango/test/client.py:11244 ms7.8%
RequestFactory.getdjango/test/client.py:4754 ms7.8%
RequestFactory.genericdjango/test/client.py:6714 ms7.8%
Client.requestdjango/test/client.py:10824 ms7.8%
ClientHandler.__call__django/test/client.py:1864 ms7.8%
BaseHandler.get_responsedjango/core/handlers/base.py:1414 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1304 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1234 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:344 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
BaseHandler._get_responsedjango/core/handlers/base.py:1984 ms7.8%
legacy_redirectapps/projects/urls.py:670 project = get_object_or_404(Project.objects.select_related("organization"), pk=project_id)2 ms3.9%
get_object_or_404django/shortcuts.py:902 ms3.9%
QuerySet.getdjango/db/models/query.py:6352 ms3.9%
QuerySet.__len__django/db/models/query.py:3722 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.9%
ModelIterable.__iter__django/db/models/query.py:952 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.9%
Cursor.executepsycopg/cursor.py:1132 ms3.9%
Connection.waitpsycopg/connection.py:4952 ms3.9%
legacy_redirectapps/projects/urls.py:6752 ms3.9%
can_viewapps/projects/urls.py:332 ms3.9%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:2 ms3.9%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms3.9%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms3.9%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms3.9%
get_userdjango/contrib/auth/middleware.py:202 ms3.9%
get_userdjango/contrib/auth/__init__.py:3112 ms3.9%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms3.9%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms3.9%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms3.9%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms3.9%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms3.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.9%
QuerySet.getdjango/db/models/query.py:6352 ms3.9%
QuerySet.__len__django/db/models/query.py:3722 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.9%
ModelIterable.__iter__django/db/models/query.py:952 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.9%
Cursor.executepsycopg/cursor.py:1132 ms3.9%
Connection.waitpsycopg/connection.py:4952 ms3.9%
LegacyUrlTest.test_private_projects_stay_privateapps/projects/tests.py:400 self.assertEqual(self.client.get(f"/projects/{self.project.slug}/").status_code, 404) # not public4 ms7.8%
Client.getdjango/test/client.py:11244 ms7.8%
RequestFactory.getdjango/test/client.py:4754 ms7.8%
RequestFactory.genericdjango/test/client.py:6714 ms7.8%
Client.requestdjango/test/client.py:10824 ms7.8%
ClientHandler.__call__django/test/client.py:1864 ms7.8%
BaseHandler.get_responsedjango/core/handlers/base.py:1414 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1304 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1234 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.8%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:344 ms7.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.9%
BaseHandler._get_responsedjango/core/handlers/base.py:1982 ms3.9%
legacy_redirectapps/projects/urls.py:672 project = Project.objects.select_related("organization").filter(slug=old_slug, public=True).first()2 ms3.9%
QuerySet.firstdjango/db/models/query.py:11452 ms3.9%
QuerySet.__iter__django/db/models/query.py:3902 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.9%
ModelIterable.__iter__django/db/models/query.py:952 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms3.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms3.9%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms3.9%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms3.9%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3002 ms3.9%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:13482 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:572 ms3.9%
response_for_exceptiondjango/core/handlers/exception.py:682 ms3.9%
get_exception_responsedjango/core/handlers/exception.py:1652 ms3.9%
make_middleware_decorator.<locals>._make_decorator.<locals>._decorator.<locals>._view_wrapperdjango/utils/decorators.py:1902 ms3.9%
page_not_founddjango/views/defaults.py:712 ms3.9%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()2 ms3.9%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms3.9%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4832 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.9%
Cursor.executepsycopg/cursor.py:1132 ms3.9%
Connection.waitpsycopg/connection.py:4952 ms3.9%
Estimated from 26 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/projects/tests.py:396
response = self.client.get(f"/projects/{self.project.id}/")
LegacyUrlTest.test_private_projects_stay_private · Libraries
25 ms
apps/projects/tests.py:398
self.client.force_login(User.objects.create_user("stranger"))
LegacyUrlTest.test_private_projects_stay_private · Database
14 ms
apps/projects/urls.py:670
project = get_object_or_404(Project.objects.select_related("organization"), pk=project_id)
legacy_redirect · Database
4 ms
apps/projects/urls.py:38
if not user.is_authenticated:
can_manage_project · Database
2 ms
apps/projects/urls.py:672
project = Project.objects.select_related("organization").filter(slug=old_slug, public=True).first()
legacy_redirect · Database
2 ms
apps/projects/tests.py:400
self.assertEqual(self.client.get(f"/projects/{self.project.slug}/").status_code, 404) # not public
LegacyUrlTest.test_private_projects_stay_private · Libraries
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
_live_server_helper function 0.05 ms
_django_set_urlconf function 0.04 ms
_django_clear_site_cache function 0.03 ms
monkeypatch function 0.03 ms

Database

27 queries · 9 ms

Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).

3×
SELECT "projects_project"."id", "projects_project"."organization_id", "projects_project"."name", "projects_project"."slug", "projects_project"."public", "projects_project"."description", "projects_project"."date_created", "projects_project"."date_updated", "projects_project"."created_by_id", "orgs_…

Biggest pieces of work

call test body
apps/projects/tests.py:396
50 ms
call _post_teardown
django/test/testcases.py:1240
2 ms
setup pytest internals 0.84 ms

Reliability

5 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 5 results, oldest first in the strip
When Environment Outcome Duration Commit
19 minutes ago CI github-actions:test passed 53 ms 9caa567 main Profile
44 minutes ago CI github-actions:test passed 52 ms ec75501 main Profile
7 hours ago CI github-actions:test passed 58 ms d2c12e5 main Profile
7 hours ago CI github-actions:test passed 27 ms 0b902f6 main Profile
7 hours ago CI github-actions:test passed 52 ms 78a4357 main Profile