Skip to content

Commit eca1ec3

Browse files
committed
Reformat with ruff.
1 parent 390ce76 commit eca1ec3

File tree

2 files changed

+98
-56
lines changed

2 files changed

+98
-56
lines changed

instrumentation-genai/opentelemetry-instrumentation-google-genai/src/opentelemetry/instrumentation/google_genai/generate_content.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,9 @@ def _update_finish_reasons(self, response):
283283
finish_reason = candidate.finish_reason
284284
if finish_reason is None:
285285
continue
286-
finish_reason_str = finish_reason.name.lower().removeprefix('finish_reason_')
286+
finish_reason_str = finish_reason.name.lower().removeprefix(
287+
"finish_reason_"
288+
)
287289
self._finish_reasons_set.add(finish_reason_str)
288290

289291
def _maybe_update_token_counts(self, response: GenerateContentResponse):

instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/generate_content/test_finish_reasons.py

Lines changed: 95 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -12,92 +12,132 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
import unittest
1615

1716
from google.genai import types as genai_types
17+
1818
from .base import TestCase
1919

20-
class FinishReasonsTestCase(TestCase):
2120

21+
class FinishReasonsTestCase(TestCase):
2222
def generate_and_get_span_finish_reasons(self):
2323
self.client.models.generate_content(
24-
model='gemini-2.5-flash-001',
25-
contents='Some prompt')
26-
span = self.otel.get_span_named("generate_content gemini-2.5-flash-001")
24+
model="gemini-2.5-flash-001", contents="Some prompt"
25+
)
26+
span = self.otel.get_span_named(
27+
"generate_content gemini-2.5-flash-001"
28+
)
2729
assert span is not None
2830
assert "gen_ai.response.finish_reasons" in span.attributes
2931
return list(span.attributes["gen_ai.response.finish_reasons"])
3032

3133
def test_single_candidate_with_valid_reason(self):
32-
self.configure_valid_response(candidate=genai_types.Candidate(
33-
finish_reason=genai_types.FinishReason.STOP
34-
))
35-
self.assertEqual(
36-
self.generate_and_get_span_finish_reasons(),
37-
["stop"])
34+
self.configure_valid_response(
35+
candidate=genai_types.Candidate(
36+
finish_reason=genai_types.FinishReason.STOP
37+
)
38+
)
39+
self.assertEqual(self.generate_and_get_span_finish_reasons(), ["stop"])
3840

3941
def test_single_candidate_with_safety_reason(self):
40-
self.configure_valid_response(candidate=genai_types.Candidate(
41-
finish_reason=genai_types.FinishReason.SAFETY
42-
))
42+
self.configure_valid_response(
43+
candidate=genai_types.Candidate(
44+
finish_reason=genai_types.FinishReason.SAFETY
45+
)
46+
)
4347
self.assertEqual(
44-
self.generate_and_get_span_finish_reasons(),
45-
["safety"])
48+
self.generate_and_get_span_finish_reasons(), ["safety"]
49+
)
4650

4751
def test_single_candidate_with_max_tokens_reason(self):
48-
self.configure_valid_response(candidate=genai_types.Candidate(
49-
finish_reason=genai_types.FinishReason.MAX_TOKENS
50-
))
52+
self.configure_valid_response(
53+
candidate=genai_types.Candidate(
54+
finish_reason=genai_types.FinishReason.MAX_TOKENS
55+
)
56+
)
5157
self.assertEqual(
52-
self.generate_and_get_span_finish_reasons(),
53-
["max_tokens"])
58+
self.generate_and_get_span_finish_reasons(), ["max_tokens"]
59+
)
5460

5561
def test_single_candidate_with_no_reason(self):
56-
self.configure_valid_response(candidate=genai_types.Candidate(
57-
finish_reason=None
58-
))
59-
self.assertEqual(
60-
self.generate_and_get_span_finish_reasons(),
61-
[])
62+
self.configure_valid_response(
63+
candidate=genai_types.Candidate(finish_reason=None)
64+
)
65+
self.assertEqual(self.generate_and_get_span_finish_reasons(), [])
6266

6367
def test_single_candidate_with_unspecified_reason(self):
64-
self.configure_valid_response(candidate=genai_types.Candidate(
65-
finish_reason=genai_types.FinishReason.FINISH_REASON_UNSPECIFIED
66-
))
68+
self.configure_valid_response(
69+
candidate=genai_types.Candidate(
70+
finish_reason=genai_types.FinishReason.FINISH_REASON_UNSPECIFIED
71+
)
72+
)
6773
self.assertEqual(
68-
self.generate_and_get_span_finish_reasons(),
69-
["unspecified"])
74+
self.generate_and_get_span_finish_reasons(), ["unspecified"]
75+
)
7076

7177
def test_multiple_candidates_with_valid_reasons(self):
72-
self.configure_valid_response(candidates=[
73-
genai_types.Candidate(finish_reason=genai_types.FinishReason.MAX_TOKENS),
74-
genai_types.Candidate(finish_reason=genai_types.FinishReason.STOP),
75-
])
78+
self.configure_valid_response(
79+
candidates=[
80+
genai_types.Candidate(
81+
finish_reason=genai_types.FinishReason.MAX_TOKENS
82+
),
83+
genai_types.Candidate(
84+
finish_reason=genai_types.FinishReason.STOP
85+
),
86+
]
87+
)
7688
self.assertEqual(
77-
self.generate_and_get_span_finish_reasons(),
78-
["max_tokens", "stop"])
89+
self.generate_and_get_span_finish_reasons(), ["max_tokens", "stop"]
90+
)
7991

8092
def test_sorts_finish_reasons(self):
81-
self.configure_valid_response(candidates=[
82-
genai_types.Candidate(finish_reason=genai_types.FinishReason.STOP),
83-
genai_types.Candidate(finish_reason=genai_types.FinishReason.MAX_TOKENS),
84-
genai_types.Candidate(finish_reason=genai_types.FinishReason.SAFETY),
85-
])
93+
self.configure_valid_response(
94+
candidates=[
95+
genai_types.Candidate(
96+
finish_reason=genai_types.FinishReason.STOP
97+
),
98+
genai_types.Candidate(
99+
finish_reason=genai_types.FinishReason.MAX_TOKENS
100+
),
101+
genai_types.Candidate(
102+
finish_reason=genai_types.FinishReason.SAFETY
103+
),
104+
]
105+
)
86106
self.assertEqual(
87107
self.generate_and_get_span_finish_reasons(),
88-
["max_tokens", "safety", "stop"])
108+
["max_tokens", "safety", "stop"],
109+
)
89110

90111
def test_deduplicates_finish_reasons(self):
91-
self.configure_valid_response(candidates=[
92-
genai_types.Candidate(finish_reason=genai_types.FinishReason.STOP),
93-
genai_types.Candidate(finish_reason=genai_types.FinishReason.MAX_TOKENS),
94-
genai_types.Candidate(finish_reason=genai_types.FinishReason.STOP),
95-
genai_types.Candidate(finish_reason=genai_types.FinishReason.STOP),
96-
genai_types.Candidate(finish_reason=genai_types.FinishReason.SAFETY),
97-
genai_types.Candidate(finish_reason=genai_types.FinishReason.STOP),
98-
genai_types.Candidate(finish_reason=genai_types.FinishReason.STOP),
99-
genai_types.Candidate(finish_reason=genai_types.FinishReason.STOP),
100-
])
112+
self.configure_valid_response(
113+
candidates=[
114+
genai_types.Candidate(
115+
finish_reason=genai_types.FinishReason.STOP
116+
),
117+
genai_types.Candidate(
118+
finish_reason=genai_types.FinishReason.MAX_TOKENS
119+
),
120+
genai_types.Candidate(
121+
finish_reason=genai_types.FinishReason.STOP
122+
),
123+
genai_types.Candidate(
124+
finish_reason=genai_types.FinishReason.STOP
125+
),
126+
genai_types.Candidate(
127+
finish_reason=genai_types.FinishReason.SAFETY
128+
),
129+
genai_types.Candidate(
130+
finish_reason=genai_types.FinishReason.STOP
131+
),
132+
genai_types.Candidate(
133+
finish_reason=genai_types.FinishReason.STOP
134+
),
135+
genai_types.Candidate(
136+
finish_reason=genai_types.FinishReason.STOP
137+
),
138+
]
139+
)
101140
self.assertEqual(
102141
self.generate_and_get_span_finish_reasons(),
103-
["max_tokens", "safety", "stop"])
142+
["max_tokens", "safety", "stop"],
143+
)

0 commit comments

Comments
 (0)