Skip to content
This repository was archived by the owner on Jun 13, 2025. It is now read-only.

Commit e3dd9a7

Browse files
committed
fix: tests and pin polars requirement
1 parent ea0d9a6 commit e3dd9a7

File tree

4 files changed

+40
-17
lines changed

4 files changed

+40
-17
lines changed

conftest.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import vcr
66
from django.conf import settings
77
from shared.reports.resources import Report, ReportFile, ReportLine
8+
from shared.storage.memory import MemoryStorageService
89
from shared.utils.sessions import Session
910

1011
# we need to enable this in the test environment since we're often creating

graphql_api/tests/test_test_analytics.py

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from shared.django_apps.codecov_auth.tests.factories import OwnerFactory
77
from shared.django_apps.core.tests.factories import RepositoryFactory
88
from shared.storage.exceptions import BucketAlreadyExistsError
9+
from shared.storage.memory import MemoryStorageService
910

1011
from graphql_api.types.enums import (
1112
OrderingDirection,
@@ -23,6 +24,15 @@
2324

2425
from .helper import GraphQLTestHelper
2526

27+
28+
@pytest.fixture
29+
def mock_storage(mocker):
30+
m = mocker.patch("utils.test_results.StorageService")
31+
storage_server = MemoryStorageService({})
32+
m.return_value = storage_server
33+
yield storage_server
34+
35+
2636
base_gql_query = """
2737
query {
2838
owner(username: "%s") {
@@ -119,22 +129,21 @@ def store_in_redis(repository):
119129

120130

121131
@pytest.fixture
122-
def store_in_storage(repository):
123-
storage = StorageService()
132+
def store_in_storage(repository, mock_storage):
124133
try:
125-
storage.create_root_storage("codecov")
134+
mock_storage.create_root_storage("codecov")
126135
except BucketAlreadyExistsError:
127136
pass
128137

129-
storage.write_file(
138+
mock_storage.write_file(
130139
"codecov",
131140
f"test_results/rollups/{repository.repoid}/{repository.branch}/30",
132141
test_results_table.write_ipc(None).getvalue(),
133142
)
134143

135144
yield
136145

137-
storage.delete_file(
146+
mock_storage.delete_file(
138147
"codecov",
139148
f"test_results/rollups/{repository.repoid}/{repository.branch}/30",
140149
)
@@ -144,17 +153,24 @@ class TestAnalyticsTestCase(
144153
GraphQLTestHelper,
145154
):
146155
def test_get_test_results(
147-
self, transactional_db, repository, store_in_redis, store_in_storage
156+
self,
157+
transactional_db,
158+
repository,
159+
store_in_redis,
160+
store_in_storage,
161+
mock_storage,
148162
):
149163
results = get_results(repository.repoid, repository.branch, 30)
150164
assert results is not None
151165
assert results.equals(test_results_table)
152166

153-
def test_get_test_results_no_storage(self, transactional_db, repository):
167+
def test_get_test_results_no_storage(
168+
self, transactional_db, repository, mock_storage
169+
):
154170
assert get_results(repository.repoid, repository.branch, 30) is None
155171

156172
def test_get_test_results_no_redis(
157-
self, mocker, transactional_db, repository, store_in_storage
173+
self, mocker, transactional_db, repository, store_in_storage, mock_storage
158174
):
159175
m = mocker.patch("services.task.TaskService.cache_test_results_redis")
160176
results = get_results(repository.repoid, repository.branch, 30)
@@ -163,7 +179,9 @@ def test_get_test_results_no_redis(
163179

164180
m.assert_called_once_with(repository.repoid, repository.branch)
165181

166-
def test_test_results(self, transactional_db, repository, store_in_redis):
182+
def test_test_results(
183+
self, transactional_db, repository, store_in_redis, mock_storage
184+
):
167185
test_results = generate_test_results(
168186
repoid=repository.repoid,
169187
ordering=TestResultsOrderingParameter.UPDATED_AT,
@@ -191,7 +209,9 @@ def test_test_results(self, transactional_db, repository, store_in_redis):
191209
},
192210
)
193211

194-
def test_test_results_asc(self, transactional_db, repository, store_in_redis):
212+
def test_test_results_asc(
213+
self, transactional_db, repository, store_in_redis, mock_storage
214+
):
195215
test_results = generate_test_results(
196216
repoid=repository.repoid,
197217
ordering=TestResultsOrderingParameter.UPDATED_AT,
@@ -255,6 +275,7 @@ def test_test_results_pagination(
255275
rows,
256276
repository,
257277
store_in_redis,
278+
mock_storage,
258279
):
259280
test_results = generate_test_results(
260281
repoid=repository.repoid,
@@ -331,6 +352,7 @@ def test_test_results_pagination_asc(
331352
rows,
332353
repository,
333354
store_in_redis,
355+
mock_storage,
334356
):
335357
test_results = generate_test_results(
336358
repoid=repository.repoid,
@@ -371,7 +393,7 @@ def test_test_results_pagination_asc(
371393
},
372394
)
373395

374-
def test_test_analytics_term_filter(self, repository, store_in_redis):
396+
def test_test_analytics_term_filter(self, repository, store_in_redis, mock_storage):
375397
test_results = generate_test_results(
376398
repoid=repository.repoid,
377399
term="test1",
@@ -421,7 +443,7 @@ def test_test_analytics_testsuite_filter(self, repository, store_in_redis):
421443
},
422444
)
423445

424-
def test_test_analytics_flag_filter(self, repository, store_in_redis):
446+
def test_test_analytics_flag_filter(self, repository, store_in_redis, mock_storage):
425447
test_results = generate_test_results(
426448
repoid=repository.repoid,
427449
flags=["flag1"],
@@ -446,7 +468,7 @@ def test_test_analytics_flag_filter(self, repository, store_in_redis):
446468
},
447469
)
448470

449-
def test_gql_query(self, repository, store_in_redis):
471+
def test_gql_query(self, repository, store_in_redis, mock_storage):
450472
query = base_gql_query % (
451473
repository.author.username,
452474
repository.name,
@@ -492,7 +514,7 @@ def test_gql_query(self, repository, store_in_redis):
492514
},
493515
]
494516

495-
def test_gql_query_aggregates(self, repository, store_in_redis):
517+
def test_gql_query_aggregates(self, repository, store_in_redis, mock_storage):
496518
query = base_gql_query % (
497519
repository.author.username,
498520
repository.name,
@@ -519,7 +541,7 @@ def test_gql_query_aggregates(self, repository, store_in_redis):
519541
"totalSlowTests": 1,
520542
}
521543

522-
def test_gql_query_flake_aggregates(self, repository, store_in_redis):
544+
def test_gql_query_flake_aggregates(self, repository, store_in_redis, mock_storage):
523545
query = base_gql_query % (
524546
repository.author.username,
525547
repository.name,

requirements.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ minio
2929
opentelemetry-instrumentation-django>=0.45b0
3030
opentelemetry-sdk>=1.24.0
3131
opentracing
32-
polars
32+
polars==1.12.0
3333
pre-commit
3434
psycopg2
3535
PyJWT

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This file is autogenerated by pip-compile with Python 3.12
33
# by the following command:
44
#
5-
# pip-compile requirements.in
5+
# pip-compile
66
#
77
aiodataloader==0.4.0
88
# via -r requirements.in

0 commit comments

Comments
 (0)