diff --git a/lib/prometheus/client/push.rb b/lib/prometheus/client/push.rb index 6ca90e95..18b63575 100644 --- a/lib/prometheus/client/push.rb +++ b/lib/prometheus/client/push.rb @@ -23,6 +23,7 @@ class Push def initialize(job:, instance: nil, gateway: DEFAULT_GATEWAY) raise ArgumentError, "job cannot be nil" if job.nil? + raise ArgumentError, "job cannot be empty" if job.empty? @mutex = Mutex.new @job = job diff --git a/spec/prometheus/client/push_spec.rb b/spec/prometheus/client/push_spec.rb index fe38c96d..cea5bcab 100644 --- a/spec/prometheus/client/push_spec.rb +++ b/spec/prometheus/client/push_spec.rb @@ -30,6 +30,12 @@ end.to raise_error ArgumentError end + it 'raises an ArgumentError if the job is empty' do + expect do + Prometheus::Client::Push.new(job: "") + end.to raise_error ArgumentError + end + it 'raises an ArgumentError if the given gateway URL is invalid' do ['inva.lid:1233', 'http://[invalid]'].each do |url| expect do