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

Commit a862064

Browse files
committed
rip out more of labels
1 parent c7b8873 commit a862064

File tree

10 files changed

+17
-2928
lines changed

10 files changed

+17
-2928
lines changed

helpers/labels.py

Lines changed: 0 additions & 73 deletions
This file was deleted.

services/report/raw_upload_processor.py

Lines changed: 5 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
from database.models.reports import Upload
1010
from helpers.exceptions import ReportEmptyError, ReportExpiredException
11-
from helpers.labels import get_all_report_labels, get_labels_per_session
1211
from services.path_fixer import PathFixer
1312
from services.report.parser.types import ParsedRawReport
1413
from services.report.report_builder import ReportBuilder
@@ -124,7 +123,7 @@ def process_raw_upload(
124123
# Adjust sessions removed carryforward sessions that are being replaced
125124
if session.flags:
126125
session_adjustment = clear_carryforward_sessions(
127-
report, temporary_report, session.flags, commit_yaml, upload
126+
report, session.flags, commit_yaml
128127
)
129128
else:
130129
session_adjustment = SessionAdjustmentResult([], [])
@@ -138,52 +137,21 @@ def process_raw_upload(
138137
@sentry_sdk.trace
139138
def clear_carryforward_sessions(
140139
original_report: Report,
141-
to_merge_report: Report,
142140
to_merge_flags: list[str],
143141
current_yaml: UserYaml,
144-
upload: Upload | None = None,
145142
) -> SessionAdjustmentResult:
146-
flags_under_carryforward_rules = {
143+
to_fully_overwrite_flags = {
147144
f for f in to_merge_flags if current_yaml.flag_has_carryfoward(f)
148145
}
149-
to_partially_overwrite_flags = {
150-
f
151-
for f in flags_under_carryforward_rules
152-
if current_yaml.get_flag_configuration(f).get("carryforward_mode") == "labels"
153-
}
154-
to_fully_overwrite_flags = flags_under_carryforward_rules.difference(
155-
to_partially_overwrite_flags
156-
)
157-
158-
if upload is None and to_partially_overwrite_flags:
159-
log.warning("Upload is None, but there are partial_overwrite_flags present")
160146

161147
session_ids_to_fully_delete = []
162-
session_ids_to_partially_delete = []
163-
164-
if to_fully_overwrite_flags or to_partially_overwrite_flags:
148+
if to_fully_overwrite_flags:
165149
for session_id, session in original_report.sessions.items():
166150
if session.session_type == SessionType.carriedforward and session.flags:
167151
if any(f in to_fully_overwrite_flags for f in session.flags):
168152
session_ids_to_fully_delete.append(session_id)
169-
if any(f in to_partially_overwrite_flags for f in session.flags):
170-
session_ids_to_partially_delete.append(session_id)
171153

172-
actually_fully_deleted_sessions = set()
173154
if session_ids_to_fully_delete:
174155
original_report.delete_multiple_sessions(session_ids_to_fully_delete)
175-
actually_fully_deleted_sessions.update(session_ids_to_fully_delete)
176-
177-
if session_ids_to_partially_delete:
178-
all_labels = get_all_report_labels(to_merge_report)
179-
original_report.delete_labels(session_ids_to_partially_delete, all_labels)
180-
for s in session_ids_to_partially_delete:
181-
labels_now = get_labels_per_session(original_report, s)
182-
if not labels_now:
183-
actually_fully_deleted_sessions.add(s)
184-
original_report.delete_session(s)
185-
186-
return SessionAdjustmentResult(
187-
sorted(actually_fully_deleted_sessions),
188-
sorted(set(session_ids_to_partially_delete) - actually_fully_deleted_sessions),
189-
)
156+
157+
return SessionAdjustmentResult(sorted(session_ids_to_fully_delete), [])

services/report/report_builder.py

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -107,42 +107,3 @@ def __init__(
107107

108108
def create_report_builder_session(self, filepath) -> ReportBuilderSession:
109109
return ReportBuilderSession(self, filepath)
110-
111-
def supports_labels(self) -> bool:
112-
"""Returns wether a report supports labels.
113-
This is true if the client has configured some flag with carryforward_mode == "labels"
114-
"""
115-
if self.current_yaml is None or self.current_yaml == {}:
116-
return False
117-
old_flag_style = self.current_yaml.get("flags")
118-
flag_management = self.current_yaml.get("flag_management")
119-
# Check if some of the old style flags uses labels
120-
old_flag_with_carryforward_labels = False
121-
if old_flag_style:
122-
old_flag_with_carryforward_labels = any(
123-
map(
124-
lambda flag_definition: flag_definition.get("carryforward_mode")
125-
== "labels",
126-
old_flag_style.values(),
127-
)
128-
)
129-
# Check if some of the flags or default rules use labels
130-
flag_management_default_rule_carryforward_labels = False
131-
flag_management_flag_with_carryforward_labels = False
132-
if flag_management:
133-
flag_management_default_rule_carryforward_labels = (
134-
flag_management.get("default_rules", {}).get("carryforward_mode")
135-
== "labels"
136-
)
137-
flag_management_flag_with_carryforward_labels = any(
138-
map(
139-
lambda flag_definition: flag_definition.get("carryforward_mode")
140-
== "labels",
141-
flag_management.get("individual_flags", []),
142-
)
143-
)
144-
return (
145-
old_flag_with_carryforward_labels
146-
or flag_management_default_rule_carryforward_labels
147-
or flag_management_flag_with_carryforward_labels
148-
)

services/report/tests/unit/test_report_builder.py

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import pytest
21
from shared.reports.resources import LineSession, ReportFile, ReportLine
32

43
from services.report.report_builder import CoverageType, ReportBuilder
@@ -178,62 +177,3 @@ def test_report_builder_session_create_line_mixed_labels(mocker):
178177
)
179178
],
180179
)
181-
182-
183-
@pytest.mark.parametrize(
184-
"current_yaml,expected_result",
185-
[
186-
({}, False),
187-
({"flags": {"oldflag": {"carryforward": "true"}}}, False),
188-
(
189-
{
190-
"flags": {
191-
"oldflag": {"carryforward": "true", "carryforward_mode": "labels"}
192-
}
193-
},
194-
True,
195-
),
196-
(
197-
{
198-
"flag_management": {
199-
"default_rules": {
200-
"carryforward": "true",
201-
"carryforward_mode": "labels",
202-
}
203-
}
204-
},
205-
True,
206-
),
207-
(
208-
{
209-
"flag_management": {
210-
"default_rules": {
211-
"carryforward": "true",
212-
"carryforward_mode": "all",
213-
}
214-
}
215-
},
216-
False,
217-
),
218-
(
219-
{
220-
"flag_management": {
221-
"default_rules": {
222-
"carryforward": "true",
223-
"carryforward_mode": "all",
224-
},
225-
"individual_flags": [
226-
{
227-
"name": "some_flag",
228-
"carryforward_mode": "labels",
229-
}
230-
],
231-
}
232-
},
233-
True,
234-
),
235-
],
236-
)
237-
def test_report_builder_supports_flags(current_yaml, expected_result):
238-
builder = ReportBuilder(current_yaml, 0, None, None)
239-
assert builder.supports_labels() == expected_result

0 commit comments

Comments
 (0)