-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Commit
…etc/hosts resolution
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#!/bin/bash | ||
|
||
sudo apt-get update && sudo apt-get install dnsmasq sudo | ||
echo -e "user=root" | sudo tee /etc/dnsmasq.conf |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -33,6 +33,9 @@ Faker.FIXTURES = { | |
{ name = "API TESTS 6", public_dns = "cors1.com", target_url = "http://mockbin.com" }, | ||
{ name = "API TESTS 7", public_dns = "cors2.com", target_url = "http://mockbin.com" }, | ||
|
||
{ name = "API TESTS 8", public_dns = "test8.com", target_url = "http://127.0.0.1:7771" }, | ||
{ name = "API TESTS 9", public_dns = "test9.com", target_url = "http://localhost:7771" }, | ||
This comment has been minimized.
Sorry, something went wrong.
thibaultcha
Member
|
||
|
||
-- DEVELOPMENT APIs. Please do not use those in tests | ||
{ name = "API DEV 1", public_dns = "dev.com", target_url = "http://mockbin.com" }, | ||
}, | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
local spec_helper = require "spec.spec_helpers" | ||
local http_client = require "kong.tools.http_client" | ||
local Threads = require "llthreads2.ex" | ||
|
||
local STUB_GET_URL = spec_helper.STUB_GET_URL | ||
|
||
local function start_tcp_server() | ||
local thread = Threads.new({ | ||
function() | ||
local socket = require "socket" | ||
local server = assert(socket.bind("*", 7771)) | ||
local client = server:accept() | ||
local line, err = client:receive() | ||
local message = "{\"ok\": true}" | ||
if not err then client:send("HTTP/1.1 200 OK\r\nContent-Type: application/json\r\nContent-Length: "..string.len(message).."\r\n\r\n"..message) end | ||
client:close() | ||
return line | ||
end; | ||
}) | ||
|
||
thread:start() | ||
return thread; | ||
end | ||
|
||
describe("DNS", function() | ||
|
||
setup(function() | ||
spec_helper.prepare_db() | ||
spec_helper.start_kong() | ||
end) | ||
|
||
teardown(function() | ||
spec_helper.stop_kong() | ||
spec_helper.reset_db() | ||
end) | ||
|
||
describe("DNS", function() | ||
|
||
it("should work when calling local IP", function() | ||
local thread = start_tcp_server() -- Starting the mock TCP server | ||
|
||
local response, status, headers = http_client.get(spec_helper.STUB_GET_URL, nil, { host = "test8.com" }) | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
subnetmarco
Author
Member
|
||
assert.are.equal(200, status) | ||
|
||
thread:join() -- Wait til it exists | ||
end) | ||
|
||
it("should work when calling local hostname", function() | ||
local thread = start_tcp_server() -- Starting the mock TCP server | ||
|
||
local response, status, headers = http_client.get(spec_helper.STUB_GET_URL, nil, { host = "test9.com" }) | ||
This comment has been minimized.
Sorry, something went wrong. |
||
assert.are.equal(200, status) | ||
|
||
thread:join() -- Wait til it exists | ||
end) | ||
|
||
end) | ||
|
||
end) |
Please don't add this as a dependency and use http://stevedonovan.github.io/luarocks/modules/luarocks.fs.lua.html with their current directory implementation. We already use luarocks' fs in different places across the CLI.