Skip to content

Commit 7e41524

Browse files
committed
refactor(zipkin-exporter): simplify success status check and add test for 204 response
1 parent 415c94f commit 7e41524

File tree

4 files changed

+18
-4
lines changed

4 files changed

+18
-4
lines changed

exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@
9191
from opentelemetry.trace import Span
9292

9393
DEFAULT_ENDPOINT = "http://localhost:9411/api/v2/spans"
94-
REQUESTS_SUCCESS_STATUS_CODES = (200, 202)
9594

9695
logger = logging.getLogger(__name__)
9796

@@ -171,7 +170,7 @@ def export(self, spans: Sequence[Span]) -> SpanExportResult:
171170
timeout=self.timeout,
172171
)
173172

174-
if result.status_code not in REQUESTS_SUCCESS_STATUS_CODES:
173+
if not result.ok:
175174
logger.error(
176175
"Traces cannot be uploaded; status code: %s, message %s",
177176
result.status_code,

exporter/opentelemetry-exporter-zipkin-json/tests/test_zipkin_exporter.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,14 @@ def test_export_success(self, mock_post):
144144
status = exporter.export(spans)
145145
self.assertEqual(SpanExportResult.SUCCESS, status)
146146

147+
@patch("requests.Session.post")
148+
def test_export_success_no_content(self, mock_post):
149+
mock_post.return_value = MockResponse(204)
150+
spans = []
151+
exporter = ZipkinExporter()
152+
status = exporter.export(spans)
153+
self.assertEqual(SpanExportResult.SUCCESS, status)
154+
147155
@patch("requests.Session.post")
148156
def test_export_invalid_response(self, mock_post):
149157
mock_post.return_value = MockResponse(404)

exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@
8888
from opentelemetry.trace import Span
8989

9090
DEFAULT_ENDPOINT = "http://localhost:9411/api/v2/spans"
91-
REQUESTS_SUCCESS_STATUS_CODES = (200, 202)
9291

9392
logger = logging.getLogger(__name__)
9493

@@ -163,7 +162,7 @@ def export(self, spans: Sequence[Span]) -> SpanExportResult:
163162
timeout=self.timeout,
164163
)
165164

166-
if result.status_code not in REQUESTS_SUCCESS_STATUS_CODES:
165+
if not result.ok:
167166
logger.error(
168167
"Traces cannot be uploaded; status code: %s, message %s",
169168
result.status_code,

exporter/opentelemetry-exporter-zipkin-proto-http/tests/test_zipkin_exporter.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,14 @@ def test_export_success(self, mock_post):
144144
status = exporter.export(spans)
145145
self.assertEqual(SpanExportResult.SUCCESS, status)
146146

147+
@patch("requests.Session.post")
148+
def test_export_success_no_content(self, mock_post):
149+
mock_post.return_value = MockResponse(204)
150+
spans = []
151+
exporter = ZipkinExporter()
152+
status = exporter.export(spans)
153+
self.assertEqual(SpanExportResult.SUCCESS, status)
154+
147155
@patch("requests.Session.post")
148156
def test_export_invalid_response(self, mock_post):
149157
mock_post.return_value = MockResponse(404)

0 commit comments

Comments
 (0)