diff --git a/lib/java_buildpack/framework/new_relic_agent.rb b/lib/java_buildpack/framework/new_relic_agent.rb index 06fcf9b847..3859ea730a 100644 --- a/lib/java_buildpack/framework/new_relic_agent.rb +++ b/lib/java_buildpack/framework/new_relic_agent.rb @@ -30,7 +30,8 @@ def compile # (see JavaBuildpack::Component::BaseComponent#release) def release - credentials = @application.services.find_service(FILTER)['credentials'] + custom_cups = ENV[JBP_CONFIG_NEW_RELIC_CUPS] + credentials = @application.services.find_service(custom_cups != nil ? custom_cups : FILTER)['credentials'] java_opts = @droplet.java_opts configuration = {} @@ -58,6 +59,8 @@ def supports? LICENSE_KEY_USER = 'license_key'.freeze + JBP_CONFIG_NEW_RELIC_CUPS = 'JBP_CONFIG_NEW_RELIC_CUPS'.freeze + private_constant :FILTER, :LICENSE_KEY, :LICENSE_KEY_USER def apply_configuration(credentials, configuration) diff --git a/spec/java_buildpack/framework/new_relic_agent_spec.rb b/spec/java_buildpack/framework/new_relic_agent_spec.rb index 2f9c719f93..5e93ff46a5 100644 --- a/spec/java_buildpack/framework/new_relic_agent_spec.rb +++ b/spec/java_buildpack/framework/new_relic_agent_spec.rb @@ -51,6 +51,17 @@ expect(sandbox + 'newrelic.yml').to exist end + it 'supports custom cups via env var override' do + ENV['JBP_CONFIG_NEW_RELIC_CUPS'] = 'custom-cups-name' + allow(java_home).to receive(:java_8_or_later?).and_return(JavaBuildpack::Util::TokenizedVersion.new('1.7.0_u10')) + expect(services).to receive(:find_service).with('custom-cups-name').and_return('credentials' => { 'licenseKey' => 'custom-cups-license-key' }) + + component.release + + # Unset after the test + ENV['JBP_CONFIG_NEW_RELIC_CUPS'] = nil + end + it 'updates JAVA_OPTS' do allow(services).to receive(:find_service).and_return('credentials' => { 'licenseKey' => 'test-license-key' }) allow(java_home).to receive(:java_8_or_later?).and_return(JavaBuildpack::Util::TokenizedVersion.new('1.7.0_u10'))