Module: OpenTelemetry::TestHelpers
- Extended by:
- TestHelpers
- Included in:
- TestHelpers
- Defined in:
- lib/opentelemetry/test_helpers/version.rb,
lib/opentelemetry/test_helpers.rb
Overview
The TestHelpers module contains a collection of test helpers for the various OpenTelemetry Ruby gems.
Constant Summary collapse
- VERSION =
'0.1.0'- NULL_LOGGER =
Logger.new(File::NULL)
Instance Method Summary collapse
- #exportable_timestamp(time = Time.now) ⇒ Object
-
#reset_opentelemetry ⇒ Object
reset_opentelemetry is a test helper used to clear SDK configuration state between calls.
- #with_env(new_env) ⇒ Object
- #with_test_logger ⇒ Object
Instance Method Details
#exportable_timestamp(time = Time.now) ⇒ Object
44 45 46 |
# File 'lib/opentelemetry/test_helpers.rb', line 44 def (time = Time.now) (time.to_r * 1_000_000_000).to_i end |
#reset_opentelemetry ⇒ Object
reset_opentelemetry is a test helper used to clear SDK configuration state between calls
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/opentelemetry/test_helpers.rb', line 18 def reset_opentelemetry OpenTelemetry.instance_variable_set( :@tracer_provider, OpenTelemetry::Internal::ProxyTracerProvider.new ) # OpenTelemetry will load the defaults # on the next call to any of these methods OpenTelemetry.error_handler = nil OpenTelemetry.propagation = nil # We use a null logger to control the console # log output and explicitly enable it # when testing the log output OpenTelemetry.logger = NULL_LOGGER end |
#with_env(new_env) ⇒ Object
48 49 50 51 52 53 54 55 56 |
# File 'lib/opentelemetry/test_helpers.rb', line 48 def with_env(new_env) env_to_reset = ENV.select { |k, _| new_env.key?(k) } keys_to_delete = new_env.keys - ENV.keys new_env.each_pair { |k, v| ENV[k] = v } yield ensure env_to_reset.each_pair { |k, v| ENV[k] = v } keys_to_delete.each { |k| ENV.delete(k) } end |
#with_test_logger ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/opentelemetry/test_helpers.rb', line 35 def with_test_logger log_stream = StringIO.new original_logger = OpenTelemetry.logger OpenTelemetry.logger = ::Logger.new(log_stream) yield log_stream ensure OpenTelemetry.logger = original_logger end |