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

Commit 12d6b59

Browse files
committed
try to fix tests
1 parent fedbc0f commit 12d6b59

File tree

4 files changed

+92
-199
lines changed

4 files changed

+92
-199
lines changed

api/internal/tests/unit/views/test_compare_flags_view.py

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,7 @@ def test_compare_flags___success(
8383
)
8484

8585
assert response.status_code == 200
86-
87-
expected_result = [
86+
assert response.data == [
8887
{
8988
"name": "unittests",
9089
"base_report_totals": {
@@ -189,18 +188,6 @@ def test_compare_flags___success(
189188
},
190189
]
191190

192-
assert (
193-
response.data[0]["base_report_totals"]
194-
== expected_result[0]["base_report_totals"]
195-
)
196-
assert (
197-
response.data[0]["head_report_totals"]
198-
== expected_result[0]["head_report_totals"]
199-
)
200-
assert response.data[0] == expected_result[0]
201-
assert response.data[1] == expected_result[1]
202-
assert response.data == expected_result
203-
204191
def test_compare_flags_with_report_with_cff_and_non_cff(
205192
self, diff_totals_mock, read_chunks_mock, git_comparison_mock
206193
):
@@ -210,6 +197,11 @@ def test_compare_flags_with_report_with_cff_and_non_cff(
210197
parent_commit_id=self.parent_commit.commitid,
211198
repository=self.repo,
212199
)
200+
report = commit_with_custom_reports._report
201+
report["sessions"]["0"].update(st= "carriedforward", se={
202+
"carriedforward_from": "56e05fced214c44a37759efa2dfc25a65d8ae98d"
203+
})
204+
commit_with_custom_reports.save()
213205

214206
upload = (
215207
commit_with_custom_reports.reports.first()
@@ -222,14 +214,6 @@ def test_compare_flags_with_report_with_cff_and_non_cff(
222214
}
223215
upload.save()
224216

225-
upload = (
226-
commit_with_custom_reports.reports.first()
227-
.sessions.filter(flags__flag_name="integrations")
228-
.first()
229-
)
230-
upload.upload_type = "uploaded"
231-
upload.save()
232-
233217
head_chunks = open(
234218
current_file.parent.parent.parent
235219
/ f"samples/{commit_with_custom_reports.commitid}_chunks.txt",

api/internal/tests/views/test_repo_view.py

Lines changed: 23 additions & 162 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import json
2-
from unittest.mock import Mock, patch
1+
from unittest.mock import patch
32

43
from django.utils import timezone
54
from rest_framework.reverse import reverse
@@ -12,7 +11,6 @@
1211
from core.models import Repository
1312
from core.tests.factories import (
1413
CommitFactory,
15-
CommitWithReportFactory,
1614
RepositoryFactory,
1715
)
1816
from utils.test_utils import Client
@@ -732,166 +730,31 @@ def test_retrieve_with_no_commits_doesnt_crash(self, mocked_get_permissions):
732730
def test_retrieve_returns_latest_commit_data(self, mocked_get_permissions):
733731
self.maxDiff = None
734732
mocked_get_permissions.return_value = True, True
735-
commit = CommitWithReportFactory(
733+
commit = CommitFactory(
736734
repository=self.repo,
737-
)
738-
739-
report_details = commit.reports.first().reportdetails
740-
report_details._files_array = [
741-
{
742-
"filename": "test_file_1.py",
743-
"file_index": 2,
744-
"file_totals": [1, 10, 8, 2, 5, "80.00000", 6, 7, 9, 8, 20, 40, 13],
745-
"diff_totals": [0, 2, 1, 1, 0, "50.00000", 0, 0, 0, 0, 0, 0, 0],
746-
},
747-
{
748-
"filename": "test_file_2.py",
749-
"file_index": 0,
750-
"file_totals": [1, 3, 2, 1, 0, "66.66667", 0, 0, 0, 0, 0, 0, 0],
751-
"diff_totals": None,
752-
},
753-
]
754-
report_details.save()
755-
756-
from api.internal.commit.serializers import CommitWithFileLevelReportSerializer
757-
758-
expected_commit_payload = CommitWithFileLevelReportSerializer(commit).data
759-
760-
response = self._retrieve()
761-
assert response.status_code == 200
762-
assert (
763-
response.data["latest_commit"]["report"]["totals"]
764-
== expected_commit_payload["report"]["totals"]
765-
)
766-
self.assertEqual(
767-
response.data["latest_commit"]["report"]["files"],
768-
[
769-
{
770-
"name": "test_file_1.py",
771-
"totals": {
772-
"files": 1,
773-
"lines": 10,
774-
"hits": 8,
775-
"misses": 2,
776-
"partials": 5,
777-
"coverage": 80.0,
778-
"branches": 6,
779-
"methods": 7,
780-
"sessions": 8,
781-
"complexity": 20.0,
782-
"complexity_total": 40.0,
783-
"complexity_ratio": 50.0,
784-
"diff": 0,
785-
},
786-
},
787-
{
788-
"name": "test_file_2.py",
789-
"totals": {
790-
"files": 1,
791-
"lines": 3,
792-
"hits": 2,
793-
"misses": 1,
794-
"partials": 0,
795-
"coverage": 66.66,
796-
"branches": 0,
797-
"methods": 0,
798-
"sessions": 0,
799-
"complexity": 0,
800-
"complexity_total": 0,
801-
"complexity_ratio": 0,
802-
"diff": 0,
803-
},
735+
_report={
736+
"files": {
737+
"test_file_1.py": [
738+
2,
739+
[1, 10, 8, 2, 5, "80.00000", 6, 7, 9, 8, 20, 40, 13],
740+
[[0, 10, 8, 2, 0, "80.00000", 0, 0, 0, 0, 0, 0, 0]],
741+
[0, 2, 1, 1, 0, "50.00000", 0, 0, 0, 0, 0, 0, 0],
742+
],
743+
"test_file_2.py": [
744+
0,
745+
[1, 3, 2, 1, 0, "66.66667", 0, 0, 0, 0, 0, 0, 0],
746+
[[0, 3, 2, 1, 0, "66.66667", 0, 0, 0, 0, 0, 0, 0]],
747+
None,
748+
],
804749
},
805-
],
806-
)
807-
808-
@patch("services.archive.ArchiveService.read_chunks", lambda obj, _: "")
809-
@patch("shared.django_apps.utils.model_utils.ArchiveService")
810-
def test_retrieve_returns_latest_commit_data_report_details_from_storage(
811-
self, mocker_archive_service, mocked_get_permissions
812-
):
813-
self.maxDiff = None
814-
mocked_get_permissions.return_value = True, True
815-
files_array_storage_path = "https://storage/path/to/details/files_array.json"
816-
commit = CommitWithReportFactory(
817-
repository=self.repo,
750+
"sessions": {},
751+
},
818752
)
819753

820-
def side_effect(path, *args, **kwargs):
821-
if path == files_array_storage_path:
822-
return json.dumps(
823-
[
824-
{
825-
"filename": "test_file_1.py",
826-
"file_index": 2,
827-
"file_totals": [
828-
1,
829-
10,
830-
8,
831-
2,
832-
5,
833-
"80.00000",
834-
6,
835-
7,
836-
9,
837-
8,
838-
20,
839-
40,
840-
13,
841-
],
842-
"diff_totals": [
843-
0,
844-
2,
845-
1,
846-
1,
847-
0,
848-
"50.00000",
849-
0,
850-
0,
851-
0,
852-
0,
853-
0,
854-
0,
855-
0,
856-
],
857-
},
858-
{
859-
"filename": "test_file_2.py",
860-
"file_index": 0,
861-
"file_totals": [
862-
1,
863-
3,
864-
2,
865-
1,
866-
0,
867-
"66.66667",
868-
0,
869-
0,
870-
0,
871-
0,
872-
0,
873-
0,
874-
0,
875-
],
876-
"diff_totals": None,
877-
},
878-
]
879-
)
880-
else:
881-
return ""
882-
883-
mock_read_file = Mock(side_effect=side_effect)
884-
mocker_archive_service.return_value = Mock(read_file=mock_read_file)
885-
report_details = commit.reports.first().reportdetails
886-
report_details._files_array = None
887-
report_details._files_array_storage_path = files_array_storage_path
888-
report_details.save()
889-
890754
from api.internal.commit.serializers import CommitWithFileLevelReportSerializer
891755

892756
expected_commit_payload = CommitWithFileLevelReportSerializer(commit).data
893-
mocker_archive_service.assert_called_with(repository=commit.repository)
894-
mock_read_file.assert_called_with(files_array_storage_path)
757+
895758
response = self._retrieve()
896759
assert response.status_code == 200
897760
assert (
@@ -946,10 +809,8 @@ def test_retrieve_returns_latest_commit_of_default_branch_if_branch_not_specifie
946809
):
947810
mocked_get_permissions.return_value = True, True
948811

949-
commit = CommitWithReportFactory(repository=self.repo)
950-
more_recent_commit = CommitWithReportFactory(
951-
repository=self.repo, branch="other-branch"
952-
)
812+
commit = CommitFactory(repository=self.repo)
813+
more_recent_commit = CommitFactory(repository=self.repo, branch="other-branch")
953814

954815
response = self._retrieve()
955816

@@ -962,8 +823,8 @@ def test_retrieve_accepts_branch_query_param_to_specify_latest_commit(
962823
):
963824
mocked_get_permissions.return_value = True, True
964825

965-
commit = CommitWithReportFactory(repository=self.repo, branch="other-branch")
966-
more_recent_commit = CommitWithReportFactory(repository=self.repo)
826+
commit = CommitFactory(repository=self.repo, branch="other-branch")
827+
more_recent_commit = CommitFactory(repository=self.repo)
967828

968829
response = self._retrieve(data={"branch": "other-branch"})
969830

core/tests/factories.py

Lines changed: 49 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,49 @@ class Meta:
6666
class CommitWithReportFactory(CommitFactory):
6767
@classmethod
6868
def _create(cls, model_class, *args, **kwargs):
69-
commit = super()._create(model_class, *args, **kwargs)
69+
commit = super()._create(
70+
model_class,
71+
_report={
72+
"files": {
73+
"awesome/__init__.py": [
74+
2,
75+
[0, 10, 8, 2, 0, "80.00000", 0, 0, 0, 0, 0, 0, 0],
76+
None, None,
77+
],
78+
"tests/__init__.py": [
79+
0,
80+
[0, 3, 2, 1, 0, "66.66667", 0, 0, 0, 0, 0, 0, 0],
81+
None,
82+
None,
83+
],
84+
"tests/test_sample.py": [
85+
1,
86+
[0, 7, 7, 0, 0, "100", 0, 0, 0, 0, 0, 0, 0],
87+
None,None,
88+
],
89+
},
90+
"sessions": {
91+
"0": {
92+
"f": ["unittests"],
93+
"t": [3, 20, 17, 3, 0, "82.00000", 0, 0, 0, 0, 0, 0, 0],
94+
"st": "uploaded",
95+
"se": None,
96+
# "st": "carriedforward",
97+
# "se": {
98+
# "carriedforward_from": "56e05fced214c44a37759efa2dfc25a65d8ae98d"
99+
# },
100+
},
101+
"1": {
102+
"f": ["integrations"],
103+
"t": [3, 20, 17, 3, 0, "85.00000", 0, 0, 0, 0, 0, 0, 0],
104+
"st": "uploaded",
105+
"se": None,
106+
},
107+
},
108+
},
109+
*args,
110+
**kwargs,
111+
)
70112

71113
# The following replaces the old `commits.report` JSON column
72114
# TODO: we may want to find another way to create this since the imports below
@@ -85,6 +127,12 @@ def _create(cls, model_class, *args, **kwargs):
85127
ReportDetailsFactory(
86128
report=commit_report,
87129
_files_array=[
130+
{
131+
"filename": "awesome/__init__.py",
132+
"file_index": 2,
133+
"file_totals": [0, 10, 8, 2, 0, "80.00000", 0, 0, 0, 0, 0, 0, 0],
134+
"diff_totals": None,
135+
},
88136
{
89137
"filename": "tests/__init__.py",
90138
"file_index": 0,
@@ -97,12 +145,6 @@ def _create(cls, model_class, *args, **kwargs):
97145
"file_totals": [0, 7, 7, 0, 0, "100", 0, 0, 0, 0, 0, 0, 0],
98146
"diff_totals": None,
99147
},
100-
{
101-
"filename": "awesome/__init__.py",
102-
"file_index": 2,
103-
"file_totals": [0, 10, 8, 2, 0, "80.00000", 0, 0, 0, 0, 0, 0, 0],
104-
"diff_totals": [0, 2, 1, 1, 0, "50.00000", 0, 0, 0, 0, 0, 0, 0],
105-
},
106148
],
107149
)
108150
ReportLevelTotalsFactory(

0 commit comments

Comments
 (0)