diff --git a/lib/prometheus_exporter/client.rb b/lib/prometheus_exporter/client.rb index d14f835..1250794 100644 --- a/lib/prometheus_exporter/client.rb +++ b/lib/prometheus_exporter/client.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true +require_relative "../prometheus_exporter" require "socket" require "logger" diff --git a/lib/prometheus_exporter/server.rb b/lib/prometheus_exporter/server.rb index 944c8f0..08f9b27 100644 --- a/lib/prometheus_exporter/server.rb +++ b/lib/prometheus_exporter/server.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true +require_relative "../prometheus_exporter" require_relative "metric" require_relative "server/type_collector" require_relative "server/web_collector" diff --git a/test/client_independent_loading_test.rb b/test/client_independent_loading_test.rb new file mode 100644 index 0000000..026c8bd --- /dev/null +++ b/test/client_independent_loading_test.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +# This test verifies that the client can be loaded independently +# without requiring the main prometheus_exporter module first. +# +# DO NOT require test_helper here, as it pre-loads the main module. + +require "minitest/autorun" + +class ClientIndependentLoadingTest < Minitest::Test + def test_client_has_constants_when_loaded_independently + require_relative "../lib/prometheus_exporter/client" + + assert_equal 9394, PrometheusExporter::DEFAULT_PORT + assert_equal "localhost", PrometheusExporter::DEFAULT_BIND_ADDRESS + assert_equal 2, PrometheusExporter::DEFAULT_TIMEOUT + end +end diff --git a/test/server_independent_loading_test.rb b/test/server_independent_loading_test.rb new file mode 100644 index 0000000..03378d2 --- /dev/null +++ b/test/server_independent_loading_test.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +# This test verifies that the server can be loaded independently +# without requiring the main prometheus_exporter module first. +# +# DO NOT require test_helper here, as it pre-loads the main module. + +require "minitest/autorun" + +class ServerIndependentLoadingTest < Minitest::Test + def test_server_has_constants_when_loaded_independently + require_relative "../lib/prometheus_exporter/server" + + assert_equal 9394, PrometheusExporter::DEFAULT_PORT + assert_equal "localhost", PrometheusExporter::DEFAULT_BIND_ADDRESS + assert_equal 2, PrometheusExporter::DEFAULT_TIMEOUT + assert_equal "ruby_", PrometheusExporter::DEFAULT_PREFIX + assert_equal "Prometheus Exporter", PrometheusExporter::DEFAULT_REALM + end +end