Skip to content

Commit

Permalink
update tests to match this new world order
Browse files Browse the repository at this point in the history
  • Loading branch information
mabdinur committed Oct 24, 2024
1 parent f2b4b4b commit 8931b5f
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 45 deletions.
8 changes: 4 additions & 4 deletions lib/datadog/core/configuration/agent_settings_resolver.rb
Original file line number Diff line number Diff line change
Expand Up @@ -239,14 +239,14 @@ def should_use_uds?
if @mixed_http_and_uds
warn_if_configuration_mismatch(
[
DetectedConfiguration.new(
friendly_name: 'configuration of hostname/port for http/https use',
value: "hostname: '#{hostname}', port: '#{port}'",
),
DetectedConfiguration.new(
friendly_name: 'configuration for unix domain socket',
value: parsed_url.to_s,
),
DetectedConfiguration.new(
friendly_name: 'configuration of hostname/port for http/https use',
value: "hostname: '#{hostname}', port: '#{port}'",
),
]
)
end
Expand Down
70 changes: 29 additions & 41 deletions spec/datadog/core/configuration/agent_settings_resolver_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -170,32 +170,29 @@
context 'when there is a hostname specified along with uds configuration' do
let(:with_agent_host) { 'custom-hostname' }

it 'prioritizes the http configuration' do
expect(resolver).to have_attributes(hostname: 'custom-hostname', adapter: :net_http)
it 'prioritizes the uds configuration' do
expect(resolver).to have_attributes(adapter: :unix)
end

it 'logs a warning including the uds path' do
it 'logs a warning including the mismatching hostname' do
expect(logger).to receive(:warn)
.with(%r{Configuration mismatch.*configuration for unix domain socket \("unix:.*/some/path"\)})
.with(/Configuration mismatch:.*hostname: 'custom-hostname'.*/)

resolver
end

it 'does not include a uds_path in the configuration' do
expect(resolver).to have_attributes(uds_path: nil)
it 'includes a uds_path in the configuration' do
expect(resolver).to have_attributes(uds_path: '/some/path')
end

context 'when there is no port specified' do
it 'prioritizes the http configuration and uses the default port' do
expect(resolver).to have_attributes(port: 8126, hostname: 'custom-hostname', adapter: :net_http)
it 'prioritizes the uds configuration and ignores the default port' do
expect(resolver).to have_attributes(adapter: :unix)
end

it 'logs a warning including the hostname and default port' do
it 'logs a warning including the uds path' do
expect(logger).to receive(:warn)
.with(/
Configuration\ mismatch:\ values\ differ\ between\ configuration.*
Using\ "hostname:\ 'custom-hostname',\ port:\ '8126'".*
/x)
.with(/Configuration mismatch.*Using "unix:\/some\/path"/)

resolver
end
Expand All @@ -204,51 +201,45 @@
context 'when there is a port specified' do
let(:with_agent_port) { 1234 }

it 'prioritizes the http configuration and uses the specified port' do
expect(resolver).to have_attributes(port: 1234, hostname: 'custom-hostname', adapter: :net_http)
it 'prioritizes the uds path' do
expect(resolver).to have_attributes(adapter: :unix)
end

it 'logs a warning including the hostname and port' do
it 'logs a warning including the uds configuration' do
expect(logger).to receive(:warn)
.with(/
Configuration\ mismatch:\ values\ differ\ between\ configuration.*
Using\ "hostname:\ 'custom-hostname',\ port:\ '1234'".*
/x)
.with(/Configuration mismatch.*Using "unix:\/some\/path"/)

resolver
end
end
end

context 'when there is a port specified along with uds configuration' do
context 'when there is a port specified along with a uds configuration' do
let(:with_agent_port) { 5678 }

it 'prioritizes the http configuration' do
expect(resolver).to have_attributes(port: 5678, adapter: :net_http)
it 'prioritizes the uds configuration' do
expect(resolver).to have_attributes(port: 5678, adapter: :unix)
end

it 'logs a warning including the uds path' do
it 'logs a warning including the mismatching port' do
expect(logger).to receive(:warn)
.with(%r{Configuration mismatch.*configuration for unix domain socket \("unix:.*/some/path"\)})
.with(/Configuration mismatch:.*port: '5678'.*/)

resolver
end

it 'does not include a uds_path in the configuration' do
expect(resolver).to have_attributes(uds_path: nil)
it 'includes the uds path in the configuration' do
expect(resolver).to have_attributes(uds_path: '/some/path')
end

context 'when there is no hostname specified' do
it 'prioritizes the http configuration and uses the default hostname' do
expect(resolver).to have_attributes(port: 5678, hostname: '127.0.0.1', adapter: :net_http)
it 'prioritizes the uds configuration' do
expect(resolver).to have_attributes(port: 5678, hostname: nil, adapter: :unix)
end

it 'logs a warning including the default hostname and port' do
it 'logs a warning including the uds configuration' do
expect(logger).to receive(:warn)
.with(/
Configuration\ mismatch:\ values\ differ\ between\ configuration.*
Using\ "hostname:\ '127.0.0.1',\ port:\ '5678'".*
/x)
.with(/Configuration mismatch.*Using "unix:\/some\/path"/)

resolver
end
Expand All @@ -257,16 +248,13 @@
context 'when there is a hostname specified' do
let(:with_agent_host) { 'custom-hostname' }

it 'prioritizes the http configuration and uses the specified hostname' do
expect(resolver).to have_attributes(port: 5678, hostname: 'custom-hostname', adapter: :net_http)
it 'prioritizes the uds configuration' do
expect(resolver).to have_attributes(adapter: :unix)
end

it 'logs a warning including the hostname and port' do
it 'logs a warning including the uds configuration' do
expect(logger).to receive(:warn)
.with(/
Configuration\ mismatch:\ values\ differ\ between\ configuration.*
Using\ "hostname:\ 'custom-hostname',\ port:\ '5678'".*
/x)
.with(/Configuration mismatch.*Using "unix:\/some\/path"/)

resolver
end
Expand Down

0 comments on commit 8931b5f

Please sign in to comment.