1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00
mperham--sidekiq/test/test_systemd.rb
Mike Perham 55ced28181
Update standard rules (#5360)
* update standard rules and run standard:fix

* Fix more standard errors

* standardize
2022-06-05 07:44:52 -07:00

42 lines
963 B
Ruby

# frozen_string_literal: true
require_relative "helper"
require "sidekiq/sd_notify"
require "sidekiq/systemd"
describe "Systemd" do
before do
::Dir::Tmpname.create("sidekiq_socket") do |sockaddr|
@sockaddr = sockaddr
@socket = Socket.new(:UNIX, :DGRAM, 0)
socket_ai = Addrinfo.unix(sockaddr)
@socket.bind(socket_ai)
ENV["NOTIFY_SOCKET"] = sockaddr
end
end
after do
@socket&.close
File.unlink(@sockaddr) if @sockaddr
@socket = nil
@sockaddr = nil
end
def socket_message
@socket.recvfrom(10)[0]
end
it "notifies" do
count = Sidekiq::SdNotify.ready
assert_equal(socket_message, "READY=1")
assert_equal(ENV["NOTIFY_SOCKET"], @sockaddr)
assert_equal(count, 7)
count = Sidekiq::SdNotify.stopping
assert_equal(socket_message, "STOPPING=1")
assert_equal(ENV["NOTIFY_SOCKET"], @sockaddr)
assert_equal(count, 10)
refute Sidekiq::SdNotify.watchdog?
end
end