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

IngestEnvironmentTest::test_old_client_on_unknown_ci

First seen 3 weeks ago in 78a4357
CI github-actions:test 12 runs
Average
49 ms
median 53 ms
max 77 ms
Phases
Setup 0.68 ms Call 48 ms Teardown 0.17 ms
Categories
Database 22 ms App code 0.51 ms Other (Libraries, Unsampled, pytest) 26 ms

34 database queries per run

Needs 0 KB of memory (max 0 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 16 hours ago · open run
Show pytest frames
call45 ms98.2%
IngestEnvironmentTest.test_old_client_on_unknown_ciapps/api/tests.py:406 session = self.ingest_start({"env": {"CI": "true"}})41 ms88.8%
IngestEnvironmentTest.ingest_startapps/api/tests.py:352 response = self.client.post(39 ms84.2%
Client.postdjango/test/client.py:115339 ms84.2%
RequestFactory.postdjango/test/client.py:49939 ms84.2%
RequestFactory.genericdjango/test/client.py:67139 ms84.2%
Client.requestdjango/test/client.py:108239 ms84.2%
ClientHandler.__call__django/test/client.py:18626 ms56.1%
BaseHandler.get_responsedjango/core/handlers/base.py:14126 ms56.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms56.1%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13026 ms56.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms56.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30926 ms56.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms56.1%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12326 ms56.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms56.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30926 ms56.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms56.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30926 ms56.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms56.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30926 ms56.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms56.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30926 ms56.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms56.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30926 ms56.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms56.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30926 ms56.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms56.1%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3426 ms56.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5526 ms56.1%
BaseHandler._get_responsedjango/core/handlers/base.py:19826 ms56.1%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:6526 ms56.1%
jsonify_errors.<locals>.wrapped_viewapps/api/urls.py:3726 ms56.1%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6426 ms56.1%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:7522 ms46.8%
ingest_startapps/api/urls.py:100 process_ingest_start(ingest.id)17 ms37.4%
_SharedTaskProxy.__call__potatoq/app.py:76317 ms37.4%
Task.__call__potatoq/task.py:18917 ms37.4%
process_ingest_startapps/api/tasks.py:774 ms9.4%
get_or_create_numberedapps/projects/models.py:18 existing = model.objects.filter(project=project, **lookup).first()2 ms4.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms4.7%
QuerySet.filterdjango/db/models/query.py:15422 ms4.7%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms4.7%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms4.7%
Query.add_qdjango/db/models/sql/query.py:16712 ms4.7%
Query._add_qdjango/db/models/sql/query.py:17032 ms4.7%
Query.build_filterdjango/db/models/sql/query.py:15992 ms4.7%
get_or_create_numberedapps/projects/models.py:212 ms4.7%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 12 ms4.7%
QuerySet.aggregatedjango/db/models/query.py:5942 ms4.7%
Query.get_aggregationdjango/db/models/sql/query.py:4862 ms4.7%
process_ingest_startapps/api/tasks.py:844 ms9.4%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(4 ms9.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms9.4%
QuerySet.get_or_createdjango/db/models/query.py:9872 ms4.7%
QuerySet.getdjango/db/models/query.py:6352 ms4.7%
QuerySet.__len__django/db/models/query.py:3722 ms4.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.7%
ModelIterable.__iter__django/db/models/query.py:952 ms4.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms4.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:9382 ms4.7%
BaseDatabaseOperations.limit_offset_sqldjango/db/backends/base/operations.py:2502 ms4.7%
QuerySet.get_or_createdjango/db/models/query.py:9942 ms4.7%
QuerySet.createdjango/db/models/query.py:6692 ms4.7%
Model.savedjango/db/models/base.py:8742 ms4.7%
Model.save_basedjango/db/models/base.py:9662 ms4.7%
Model._save_tabledjango/db/models/base.py:11672 ms4.7%
Model._do_insertdjango/db/models/base.py:12182 ms4.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms4.7%
QuerySet._insertdjango/db/models/query.py:19182 ms4.7%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms4.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.7%
Cursor.executepsycopg/cursor.py:1132 ms4.7%
Connection.waitpsycopg/connection.py:4952 ms4.7%
process_ingest_startapps/api/tasks.py:54 data = ingest.data2 ms4.7%
DeferredAttribute.__get__django/db/models/query_utils.py:2712 ms4.7%
Model.refresh_from_dbdjango/db/models/base.py:7432 ms4.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms4.7%
QuerySet.filterdjango/db/models/query.py:15422 ms4.7%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms4.7%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms4.7%
Query.add_qdjango/db/models/sql/query.py:16712 ms4.7%
Query._add_qdjango/db/models/sql/query.py:17032 ms4.7%
Query.build_filterdjango/db/models/sql/query.py:16132 ms4.7%
Query.build_lookupdjango/db/models/sql/query.py:14302 ms4.7%
BaseExpression.get_lookupdjango/db/models/expressions.py:4042 ms4.7%
process_ingest_startapps/api/tasks.py:79 ingest.project,2 ms4.7%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2442 ms4.7%
ForeignObject.get_local_related_valuedjango/db/models/fields/related.py:8122 ms4.7%
ForeignObject.get_instance_value_for_fieldsdjango/db/models/fields/related.py:8342 ms4.7%
DeferredAttribute.__get__django/db/models/query_utils.py:2712 ms4.7%
Model.refresh_from_dbdjango/db/models/base.py:7582 ms4.7%
QuerySet.getdjango/db/models/query.py:6352 ms4.7%
QuerySet.__len__django/db/models/query.py:3722 ms4.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.7%
ModelIterable.__iter__django/db/models/query.py:952 ms4.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.7%
Cursor.executepsycopg/cursor.py:1132 ms4.7%
Connection.waitpsycopg/connection.py:4952 ms4.7%
process_ingest_startapps/api/tasks.py:89 Session.objects.get_or_create(2 ms4.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms4.7%
QuerySet.get_or_createdjango/db/models/query.py:9872 ms4.7%
QuerySet.getdjango/db/models/query.py:6352 ms4.7%
QuerySet.__len__django/db/models/query.py:3722 ms4.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.7%
ModelIterable.__iter__django/db/models/query.py:952 ms4.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.7%
Cursor.executepsycopg/cursor.py:1132 ms4.7%
Connection.waitpsycopg/connection.py:4952 ms4.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms4.7%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms4.7%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms4.7%
process_ingest_startapps/api/tasks.py:105 ingest.save(update_fields=["date_processed"])2 ms4.7%
Model.savedjango/db/models/base.py:8742 ms4.7%
Model.save_basedjango/db/models/base.py:9662 ms4.7%
Model._save_tabledjango/db/models/base.py:11102 ms4.7%
Model._do_updatedjango/db/models/base.py:12112 ms4.7%
QuerySet._updatedjango/db/models/query.py:13272 ms4.7%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms4.7%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms4.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.7%
Cursor.executepsycopg/cursor.py:1132 ms4.7%
Connection.waitpsycopg/connection.py:4952 ms4.7%
ingest_startapps/api/urls.py:91 muted_tests = Test.objects.filter(project=project, mute__date_unmuted__isnull=True, mute__until__gte=timezone.now())2 ms4.7%
ingest_startapps/api/urls.py:95 "muted_tests": [{"name": test.name} for test in muted_tests],2 ms4.7%
QuerySet.__iter__django/db/models/query.py:3902 ms4.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.7%
ModelIterable.__iter__django/db/models/query.py:952 ms4.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.7%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:72 project = get_object_or_404(Project, secrettokens__token=request.headers.get("Authorization"))2 ms4.7%
get_object_or_404django/shortcuts.py:902 ms4.7%
QuerySet.getdjango/db/models/query.py:6352 ms4.7%
QuerySet.__len__django/db/models/query.py:3722 ms4.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.7%
ModelIterable.__iter__django/db/models/query.py:952 ms4.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.7%
Cursor.executepsycopg/cursor.py:1132 ms4.7%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:73 touch_token(request.headers.get("Authorization"))2 ms4.7%
touch_tokenapps/api/urls.py:59 SecretTokens.objects.filter(pk__in=list(stale)).update(date_last_used=now)2 ms4.7%
QuerySet.updatedjango/db/models/query.py:13002 ms4.7%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms4.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.7%
Cursor.executepsycopg/cursor.py:1132 ms4.7%
Connection.waitpsycopg/connection.py:4952 ms4.7%
ClientHandler.__call__django/test/client.py:17313 ms28.1%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6213 ms28.1%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10413 ms28.1%
WhiteNoise.add_fileswhitenoise/base.py:10813 ms28.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12011 ms23.4%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13111 ms23.4%
WhiteNoise.get_static_filewhitenoise/base.py:2089 ms18.7%
StaticFile.__init__whitenoise/responders.py:772 ms4.7%
StaticFile.get_alternativeswhitenoise/responders.py:2012 ms4.7%
StaticFile.__init__whitenoise/responders.py:732 ms4.7%
StaticFile.get_headerswhitenoise/responders.py:1762 ms4.7%
StaticFile.__init__whitenoise/responders.py:752 ms4.7%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms4.7%
Headers.get<stdlib>/wsgiref/headers.py:1072 ms4.7%
WhiteNoise.get_static_filewhitenoise/base.py:2032 ms4.7%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms4.7%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1762 ms4.7%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1972 ms4.7%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms4.7%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2052 ms4.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms4.7%
scantreewhitenoise/base.py:2622 ms4.7%
scantreewhitenoise/base.py:2622 ms4.7%
scantreewhitenoise/base.py:2622 ms4.7%
scantreewhitenoise/base.py:2622 ms4.7%
scantreewhitenoise/base.py:2622 ms4.7%
scantreewhitenoise/base.py:2642 ms4.7%
IngestEnvironmentTest.ingest_startapps/api/tests.py:359 return Session.objects.get(ingest_id=response.json()["ingest_id"])2 ms4.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms4.7%
QuerySet.getdjango/db/models/query.py:6352 ms4.7%
QuerySet.__len__django/db/models/query.py:3722 ms4.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.7%
ModelIterable.__iter__django/db/models/query.py:952 ms4.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.7%
Cursor.executepsycopg/cursor.py:1132 ms4.7%
Connection.waitpsycopg/connection.py:4952 ms4.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms4.7%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms4.7%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms4.7%
IngestEnvironmentTest.test_old_client_on_unknown_ciapps/api/tests.py:407 self.assertEqual(session.environment.name, "ci:unknown")2 ms4.7%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms4.7%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2222 ms4.7%
QuerySet.getdjango/db/models/query.py:6352 ms4.7%
QuerySet.__len__django/db/models/query.py:3722 ms4.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.7%
ModelIterable.__iter__django/db/models/query.py:952 ms4.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.7%
Cursor.executepsycopg/cursor.py:1132 ms4.7%
Connection.waitpsycopg/connection.py:4952 ms4.7%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()2 ms4.7%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms4.7%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4832 ms4.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.7%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms4.7%
Cursor.executepsycopg/cursor.py:1132 ms4.7%
Connection.waitpsycopg/connection.py:4952 ms4.7%
Estimated from 21 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/api/tests.py:352
response = self.client.post(
IngestEnvironmentTest.ingest_start · Libraries
13 ms
apps/projects/environments.py:63
obj, created = Environment.objects.get_or_create(
get_or_create_environment · Database
4 ms
apps/api/urls.py:72
project = get_object_or_404(Project, secrettokens__token=request.headers.get("Authorization"))
api_request.<locals>.decorator.<locals>.wrapped_view · Database
2 ms
apps/api/urls.py:59
SecretTokens.objects.filter(pk__in=list(stale)).update(date_last_used=now)
touch_token · Database
2 ms
apps/api/urls.py:91
muted_tests = Test.objects.filter(project=project, mute__date_unmuted__isnull=True, mute__until__gte=timezone.now())
ingest_start · App code
2 ms
apps/api/urls.py:95
"muted_tests": [{"name": test.name} for test in muted_tests],
ingest_start · Database
2 ms
apps/api/tasks.py:54
data = ingest.data
process_ingest_start · Database
2 ms
apps/api/tasks.py:79
ingest.project,
process_ingest_start · Database
2 ms
apps/projects/models.py:18
existing = model.objects.filter(project=project, **lookup).first()
get_or_create_numbered · Database
2 ms
apps/projects/models.py:35
return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 1
next_number · Database
2 ms

Fixtures

Exact setup time
_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
_template_string_if_invalid_marker function 0.03 ms
_django_clear_site_cache function 0.03 ms
monkeypatch function 0.02 ms

Database

34 queries · 9 ms
No repeated queries.

Biggest pieces of work

call test body
apps/api/tests.py:406
43 ms
call _post_teardown
django/test/testcases.py:1240
2 ms

Reliability

12 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 12 results, oldest first in the strip
When Environment Outcome Duration Commit
16 hours ago CI github-actions:test passed 46 ms e141198 main Profile
1 week, 5 days ago CI github-actions:test passed 27 ms 46ec2aa main Profile
2 weeks, 1 day ago CI github-actions:test passed 51 ms afde85b main Profile
2 weeks, 1 day ago CI github-actions:test passed 39 ms fe29f9d main Profile
2 weeks, 1 day ago CI github-actions:test passed 56 ms 044719a main Profile
2 weeks, 2 days ago CI github-actions:test passed 32 ms b3fedae main Profile
2 weeks, 4 days ago CI github-actions:test passed 58 ms 43c4eda main Profile
2 weeks, 6 days ago CI github-actions:test passed 58 ms 9caa567 main Profile
2 weeks, 6 days ago CI github-actions:test passed 57 ms ec75501 main Profile
3 weeks ago CI github-actions:test passed 77 ms d2c12e5 main Profile
3 weeks ago CI github-actions:test passed 28 ms 0b902f6 main Profile
3 weeks ago CI github-actions:test passed 59 ms 78a4357 main Profile