mirror of
https://github.com/discourse/discourse.git
synced 2025-05-24 14:12:10 +08:00
DEV: avoid mocking FinalDestination (#20570)
This commit is contained in:
@ -7,9 +7,14 @@ describe FinalDestination::HTTP do
|
||||
Socket.stubs(:tcp).never
|
||||
TCPSocket.stubs(:open).never
|
||||
Addrinfo.stubs(:getaddrinfo).never
|
||||
|
||||
FinalDestination::SSRFDetector.allow_ip_lookups_in_test!
|
||||
end
|
||||
|
||||
after { WebMock.enable! }
|
||||
after do
|
||||
WebMock.enable!
|
||||
FinalDestination::SSRFDetector.disallow_ip_lookups_in_test!
|
||||
end
|
||||
|
||||
def expect_tcp_and_abort(stub_addr, &blk)
|
||||
success = Class.new(StandardError)
|
||||
@ -21,7 +26,12 @@ describe FinalDestination::HTTP do
|
||||
end
|
||||
|
||||
def stub_ip_lookup(stub_addr, ips)
|
||||
FinalDestination::SSRFDetector.stubs(:lookup_ips).with { |addr| stub_addr == addr }.returns(ips)
|
||||
Addrinfo
|
||||
.stubs(:getaddrinfo)
|
||||
.with { |addr, _| addr == stub_addr }
|
||||
.returns(
|
||||
ips.map { |ip| Addrinfo.new([IPAddr.new(ip).ipv6? ? "AF_INET6" : "AF_INET", 80, nil, ip]) },
|
||||
)
|
||||
end
|
||||
|
||||
def stub_tcp_to_raise(stub_addr, exception)
|
||||
|
Reference in New Issue
Block a user