Skip to content

Commit f63942d

Browse files
committed
test
1 parent e1ab127 commit f63942d

File tree

1 file changed

+41
-8
lines changed

1 file changed

+41
-8
lines changed

tests/sentry/tasks/seer/test_context_engine_index.py

Lines changed: 41 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -391,33 +391,66 @@ def test_uses_seer_project_preferences_if_available(
391391

392392
@django_db_all
393393
class TestScheduleContextEngineIndexingTasks(TestCase):
394+
@mock.patch("sentry.tasks.seer.context_engine_index.index_repos.apply_async")
394395
@mock.patch("sentry.tasks.seer.context_engine_index.build_service_map.apply_async")
395396
@mock.patch("sentry.tasks.seer.context_engine_index.index_org_project_knowledge.apply_async")
396397
@mock.patch(
397398
"sentry.tasks.seer.context_engine_index.get_allowed_org_ids_context_engine_indexing"
398399
)
399-
def test_dispatches_for_allowed_orgs(self, mock_get_orgs, mock_index, mock_build):
400+
def test_dispatches_for_allowed_orgs(
401+
self, mock_get_orgs, mock_index, mock_build, mock_index_repos
402+
):
400403
org1 = self.create_organization()
401404
org2 = self.create_organization()
402405
mock_get_orgs.return_value = [org1.id, org2.id]
403406

404-
with override_options(
405-
{
406-
"explorer.context_engine_indexing.enable": True,
407-
}
408-
):
409-
schedule_context_engine_indexing_tasks()
407+
# Freeze to a Wednesday so index_repos is not called
408+
with freeze_time("2024-01-10 12:00:00"):
409+
with override_options(
410+
{
411+
"explorer.context_engine_indexing.enable": True,
412+
}
413+
):
414+
schedule_context_engine_indexing_tasks()
410415

411416
assert mock_index.call_count == 2
412417
assert mock_build.call_count == 2
418+
mock_index_repos.assert_not_called()
413419
dispatched_index_ids = [c[1]["args"][0] for c in mock_index.call_args_list]
414420
assert dispatched_index_ids == [org1.id, org2.id]
415421

422+
@mock.patch("sentry.tasks.seer.context_engine_index.index_repos.apply_async")
423+
@mock.patch("sentry.tasks.seer.context_engine_index.build_service_map.apply_async")
424+
@mock.patch("sentry.tasks.seer.context_engine_index.index_org_project_knowledge.apply_async")
425+
@mock.patch(
426+
"sentry.tasks.seer.context_engine_index.get_allowed_org_ids_context_engine_indexing"
427+
)
428+
def test_dispatches_index_repos_on_sunday(
429+
self, mock_get_orgs, mock_index, mock_build, mock_index_repos
430+
):
431+
org1 = self.create_organization()
432+
mock_get_orgs.return_value = [org1.id]
433+
434+
# Freeze to a Sunday so index_repos is called
435+
with freeze_time("2024-01-14 12:00:00"):
436+
with override_options(
437+
{
438+
"explorer.context_engine_indexing.enable": True,
439+
}
440+
):
441+
schedule_context_engine_indexing_tasks()
442+
443+
assert mock_index.call_count == 1
444+
assert mock_build.call_count == 1
445+
mock_index_repos.assert_called_once_with(args=[org1.id])
446+
447+
@mock.patch("sentry.tasks.seer.context_engine_index.index_repos.apply_async")
416448
@mock.patch("sentry.tasks.seer.context_engine_index.build_service_map.apply_async")
417449
@mock.patch("sentry.tasks.seer.context_engine_index.index_org_project_knowledge.apply_async")
418-
def test_noop_when_no_allowed_orgs(self, mock_index, mock_build):
450+
def test_noop_when_no_allowed_orgs(self, mock_index, mock_build, mock_index_repos):
419451
with override_options({"explorer.context_engine_indexing.enable": True}):
420452
schedule_context_engine_indexing_tasks()
421453

422454
mock_index.assert_not_called()
423455
mock_build.assert_not_called()
456+
mock_index_repos.assert_not_called()

0 commit comments

Comments
 (0)