@@ -140,170 +140,6 @@ test_that("otel_log uses default severity and logger", {
140140 expect_true(log_called )
141141})
142142
143- test_that(" otel_is_tracing_enabled calls otel::is_tracing_enabled" , {
144- mock_tracer <- create_mock_tracer()
145- is_tracing_called <- FALSE
146-
147- local_mocked_bindings(
148- is_tracing_enabled = function (tracer ) {
149- is_tracing_called <<- TRUE
150- expect_equal(tracer , mock_tracer )
151- TRUE
152- },
153- .package = " otel"
154- )
155- local_mocked_bindings(
156- shiny_otel_tracer = function () mock_tracer ,
157- )
158-
159- result <- otel_is_tracing_enabled()
160- expect_true(is_tracing_called )
161- expect_true(result )
162- })
163-
164- test_that(" otel_is_tracing_enabled accepts custom tracer" , {
165- custom_tracer <- create_mock_tracer()
166- is_tracing_called <- FALSE
167-
168- local_mocked_bindings(
169- is_tracing_enabled = function (tracer ) {
170- is_tracing_called <<- TRUE
171- expect_equal(tracer , custom_tracer )
172- FALSE
173- },
174- .package = " otel"
175- )
176-
177- result <- otel_is_tracing_enabled(custom_tracer )
178- expect_true(is_tracing_called )
179- expect_false(result )
180- })
181-
182- test_that(" shiny_otel_logger caches logger in non-test environment" , {
183- mock_logger <- create_mock_logger()
184- get_logger_call_count <- 0
185-
186- fn_env <- environment(shiny_otel_logger )
187- # Reset cached logger now and when test ends
188- fn_env $ reset_logger()
189- withr :: defer({ fn_env $ reset_logger() })
190-
191- local_mocked_bindings(
192- get_logger = function (... ) {
193- get_logger_call_count <<- get_logger_call_count + 1
194- mock_logger
195- },
196- .package = " otel"
197- )
198-
199- with_mocked_bindings(
200- testthat__is_testing = function () TRUE ,
201- {
202- # First call
203- logger1 <- shiny_otel_logger()
204- expect_equal(logger1 , mock_logger )
205- expect_equal(get_logger_call_count , 1 )
206-
207- # Second call should call otel::get_logger again (no caching in tests)
208- logger2 <- shiny_otel_logger()
209- expect_equal(logger2 , mock_logger )
210- expect_equal(get_logger_call_count , 2 ) # Incremented
211- }
212- )
213-
214- with_mocked_bindings(
215- testthat__is_testing = function () FALSE ,
216- {
217- # First call should call otel::get_logger
218- logger1 <- shiny_otel_logger()
219- expect_equal(logger1 , mock_logger )
220- expect_equal(get_logger_call_count , 3 )
221-
222- # Second call should use cached logger
223- logger2 <- shiny_otel_logger()
224- expect_equal(logger2 , mock_logger )
225- expect_equal(get_logger_call_count , 3 ) # Still 3, not incremented
226- }
227- )
228- })
229-
230-
231- test_that(" shiny_otel_tracer caches tracer in non-test environment" , {
232- mock_tracer <- create_mock_tracer()
233- get_tracer_call_count <- 0
234-
235- fn_env <- environment(shiny_otel_tracer )
236- # Reset cached tracer now and when test ends
237- fn_env $ reset_tracer()
238- withr :: defer({ fn_env $ reset_tracer() })
239-
240- local_mocked_bindings(
241- get_tracer = function (... ) {
242- get_tracer_call_count <<- get_tracer_call_count + 1
243- mock_tracer
244- },
245- .package = " otel"
246- )
247-
248- with_mocked_bindings(
249- testthat__is_testing = function () TRUE ,
250- {
251- # First call
252- tracer1 <- shiny_otel_tracer()
253- expect_equal(tracer1 , mock_tracer )
254- expect_equal(get_tracer_call_count , 1 )
255-
256- # Second call should call otel::get_tracer again (no caching in tests)
257- tracer2 <- shiny_otel_tracer()
258- expect_equal(tracer2 , mock_tracer )
259- expect_equal(get_tracer_call_count , 2 ) # Incremented
260- }
261- )
262-
263- with_mocked_bindings(
264- testthat__is_testing = function () FALSE ,
265- {
266- # First call should call otel::get_tracer
267- tracer1 <- shiny_otel_tracer()
268- expect_equal(tracer1 , mock_tracer )
269- expect_equal(get_tracer_call_count , 3 )
270-
271- # Second call should use cached tracer
272- tracer2 <- shiny_otel_tracer()
273- expect_equal(tracer2 , mock_tracer )
274- expect_equal(get_tracer_call_count , 3 ) # Still 3, not incremented
275- }
276- )
277- })
278-
279- test_that(" integration test - with_otel_span uses cached tracer" , {
280- mock_tracer <- create_mock_tracer()
281- get_tracer_call_count <- 0
282-
283- fn_env <- environment(shiny_otel_tracer )
284- # Reset cached tracer now and when test ends
285- fn_env $ reset_tracer()
286- withr :: defer({ fn_env $ reset_tracer() })
287-
288- local_mocked_bindings(
289- get_tracer = function () {
290- get_tracer_call_count <<- get_tracer_call_count + 1
291- mock_tracer
292- },
293- .package = " otel"
294- )
295- local_mocked_bindings(
296- testthat__is_testing = function () FALSE ,
297- )
298-
299- # First call to with_otel_span
300- with_otel_span(" span1" , { " result1" })
301- expect_equal(get_tracer_call_count , 1 )
302-
303- # Second call should use cached tracer
304- with_otel_span(" span2" , { " result2" })
305- expect_equal(get_tracer_call_count , 1 ) # Still 1, tracer was cached
306- })
307143
308144test_that(" integration test - start_otel_span with custom parameters" , {
309145 mock_tracer <- create_mock_tracer()
0 commit comments