|
26 | 26 | OTEL_EXPORTER_ZIPKIN_ENDPOINT, |
27 | 27 | ) |
28 | 28 | from opentelemetry.sdk.resources import SERVICE_NAME, Resource |
29 | | -from opentelemetry.sdk.trace import TracerProvider |
| 29 | +from opentelemetry.sdk.trace import TracerProvider, _Span |
30 | 30 | from opentelemetry.sdk.trace.export import SpanExportResult |
31 | 31 |
|
32 | 32 | TEST_SERVICE_NAME = "test_service" |
@@ -122,13 +122,37 @@ def test_constructor_all_params_and_env_vars(self): |
122 | 122 | self.assertEqual(exporter.local_node.port, local_node_port) |
123 | 123 |
|
124 | 124 | @patch("requests.post") |
125 | | - def test_invalid_response(self, mock_post): |
| 125 | + def test_export_success(self, mock_post): |
| 126 | + mock_post.return_value = MockResponse(200) |
| 127 | + spans = [] |
| 128 | + exporter = ZipkinExporter(Protocol.V2_PROTOBUF) |
| 129 | + status = exporter.export(spans) |
| 130 | + self.assertEqual(SpanExportResult.SUCCESS, status) |
| 131 | + |
| 132 | + @patch("requests.post") |
| 133 | + def test_export_invalid_response(self, mock_post): |
126 | 134 | mock_post.return_value = MockResponse(404) |
127 | 135 | spans = [] |
128 | 136 | exporter = ZipkinExporter(Protocol.V2_PROTOBUF) |
129 | 137 | status = exporter.export(spans) |
130 | 138 | self.assertEqual(SpanExportResult.FAILURE, status) |
131 | 139 |
|
| 140 | + @patch("requests.post") |
| 141 | + def test_export_span_service_name(self, mock_post): |
| 142 | + mock_post.return_value = MockResponse(200) |
| 143 | + resource = Resource.create({SERVICE_NAME: "test"}) |
| 144 | + context = trace.SpanContext( |
| 145 | + trace_id=0x000000000000000000000000DEADBEEF, |
| 146 | + span_id=0x00000000DEADBEF0, |
| 147 | + is_remote=False, |
| 148 | + ) |
| 149 | + span = _Span("test_span", context=context, resource=resource) |
| 150 | + span.start() |
| 151 | + span.end() |
| 152 | + exporter = ZipkinExporter(Protocol.V2_PROTOBUF) |
| 153 | + exporter.export([span]) |
| 154 | + self.assertEqual(exporter.local_node.service_name, "test") |
| 155 | + |
132 | 156 |
|
133 | 157 | class TestZipkinNodeEndpoint(unittest.TestCase): |
134 | 158 | def test_constructor_default(self): |
|
0 commit comments