Skip to content

Commit 87a624e

Browse files
committed
Specs: Select random UDP port
Let the OS select an unused one.
1 parent fc55880 commit 87a624e

File tree

1 file changed

+8
-14
lines changed

1 file changed

+8
-14
lines changed

spec/influxdb/cases/udp_client_spec.rb

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,34 @@
11
require "spec_helper"
22

33
describe InfluxDB::Client do
4-
let(:client) { described_class.new(udp: { host: "localhost", port: 44_444 }) }
4+
let(:socket) { UDPSocket.new.tap { |s| s.bind "localhost", 0 } }
5+
after { socket.close rescue nil }
6+
7+
let(:client) { described_class.new(udp: { host: "localhost", port: socket.addr[1] }) }
58

69
specify { expect(client.writer).to be_a(InfluxDB::Writer::UDP) }
710

811
describe "#write" do
912
let(:message) { 'responses,region=eu value=5i' }
1013

1114
it "sends a UDP packet" do
12-
s = UDPSocket.new
13-
s.bind("localhost", 44_444)
14-
1515
client.write_point("responses", values: { value: 5 }, tags: { region: 'eu' })
1616

17-
rec_message = s.recvfrom(30).first
17+
rec_message = socket.recvfrom(30).first
1818
expect(rec_message).to eq message
19-
20-
s.close
2119
end
2220
end
2321

2422
describe "#write with discard_write_errors" do
2523
let(:client) do
26-
described_class.new(
27-
udp: { host: "localhost", port: 44_444 },
24+
described_class.new \
25+
udp: { host: "localhost", port: socket.addr[1] },
2826
discard_write_errors: true
29-
)
3027
end
3128

3229
it "doesn't raise" do
33-
s = UDPSocket.new
34-
s.bind("localhost", 44_444)
35-
3630
client.write_point("responses", values: { value: 5 }, tags: { region: 'eu' })
37-
s.close
31+
socket.close
3832

3933
client.write_point("responses", values: { value: 7 }, tags: { region: 'eu' })
4034

0 commit comments

Comments
 (0)