20
20
DEFAULT_COMPRESSION ,
21
21
DEFAULT_ENDPOINT ,
22
22
DEFAULT_TIMEOUT ,
23
+ DEFAULT_TRACES_EXPORT_PATH ,
23
24
OTLPSpanExporter ,
24
25
)
25
26
from opentelemetry .sdk .environment_variables import (
@@ -47,7 +48,9 @@ def test_constructor_default(self):
47
48
48
49
exporter = OTLPSpanExporter ()
49
50
50
- self .assertEqual (exporter ._endpoint , DEFAULT_ENDPOINT )
51
+ self .assertEqual (
52
+ exporter ._endpoint , DEFAULT_ENDPOINT + DEFAULT_TRACES_EXPORT_PATH
53
+ )
51
54
self .assertEqual (exporter ._certificate_file , True )
52
55
self .assertEqual (exporter ._timeout , DEFAULT_TIMEOUT )
53
56
self .assertIs (exporter ._compression , DEFAULT_COMPRESSION )
@@ -90,6 +93,7 @@ def test_exporter_traces_env_take_priority(self):
90
93
OTEL_EXPORTER_OTLP_CERTIFICATE : OS_ENV_CERTIFICATE ,
91
94
OTEL_EXPORTER_OTLP_COMPRESSION : Compression .Gzip .value ,
92
95
OTEL_EXPORTER_OTLP_ENDPOINT : OS_ENV_ENDPOINT ,
96
+ OTEL_EXPORTER_OTLP_TRACES_ENDPOINT : "https://traces.endpoint.env" ,
93
97
OTEL_EXPORTER_OTLP_HEADERS : OS_ENV_HEADERS ,
94
98
OTEL_EXPORTER_OTLP_TIMEOUT : OS_ENV_TIMEOUT ,
95
99
},
@@ -117,7 +121,6 @@ def test_exporter_constructor_take_priority(self):
117
121
{
118
122
OTEL_EXPORTER_OTLP_CERTIFICATE : OS_ENV_CERTIFICATE ,
119
123
OTEL_EXPORTER_OTLP_COMPRESSION : Compression .Gzip .value ,
120
- OTEL_EXPORTER_OTLP_ENDPOINT : OS_ENV_ENDPOINT ,
121
124
OTEL_EXPORTER_OTLP_HEADERS : OS_ENV_HEADERS ,
122
125
OTEL_EXPORTER_OTLP_TIMEOUT : OS_ENV_TIMEOUT ,
123
126
},
@@ -126,14 +129,39 @@ def test_exporter_env(self):
126
129
127
130
exporter = OTLPSpanExporter ()
128
131
129
- self .assertEqual (exporter ._endpoint , OS_ENV_ENDPOINT )
130
132
self .assertEqual (exporter ._certificate_file , OS_ENV_CERTIFICATE )
131
133
self .assertEqual (exporter ._timeout , int (OS_ENV_TIMEOUT ))
132
134
self .assertIs (exporter ._compression , Compression .Gzip )
133
135
self .assertEqual (
134
136
exporter ._headers , {"envheader1" : "val1" , "envheader2" : "val2" }
135
137
)
136
138
139
+ @patch .dict (
140
+ "os.environ" ,
141
+ {OTEL_EXPORTER_OTLP_ENDPOINT : OS_ENV_ENDPOINT },
142
+ )
143
+ def test_exporter_env_endpoint_without_slash (self ):
144
+
145
+ exporter = OTLPSpanExporter ()
146
+
147
+ self .assertEqual (
148
+ exporter ._endpoint ,
149
+ OS_ENV_ENDPOINT + f"/{ DEFAULT_TRACES_EXPORT_PATH } " ,
150
+ )
151
+
152
+ @patch .dict (
153
+ "os.environ" ,
154
+ {OTEL_EXPORTER_OTLP_ENDPOINT : OS_ENV_ENDPOINT + "/" },
155
+ )
156
+ def test_exporter_env_endpoint_with_slash (self ):
157
+
158
+ exporter = OTLPSpanExporter ()
159
+
160
+ self .assertEqual (
161
+ exporter ._endpoint ,
162
+ OS_ENV_ENDPOINT + f"/{ DEFAULT_TRACES_EXPORT_PATH } " ,
163
+ )
164
+
137
165
@patch .dict (
138
166
"os.environ" ,
139
167
{
0 commit comments