12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- --
- -- tests/base/test_http.lua
- -- Tests the http API
- -- Copyright (c) 2016, 2020 Jason Perkins and the Premake project
- --
- if http.get ~= nil and _OPTIONS["test-all"] then
- local p = premake
- local suite = test.declare("premake_http")
- function suite.http_get()
- local result, err = http.get("http://httpbin.org/user-agent")
- if result then
- p.out(result)
- test.capture(
- '{"user-agent": "Premake/' .. _PREMAKE_VERSION .. '"}'
- )
- else
- test.fail(err);
- end
- end
- function suite.https_get()
- -- sslverifypeer = 0, so we can test from within companies like here at Blizzard where all HTTPS traffic goes through
- -- some strange black box that re-signs all traffic with a custom ssl certificate.
- local result, err = http.get("https://httpbin.org/user-agent", { sslverifypeer = 0 })
- if result then
- p.out(result)
- test.capture(
- '{"user-agent": "Premake/' .. _PREMAKE_VERSION .. '"}'
- )
- else
- test.fail(err);
- end
- end
- function suite.https_get_verify_peer()
- local result, err = http.get("https://httpbin.org/user-agent")
- if result then
- p.out(result)
- test.capture(
- '{"user-agent": "Premake/' .. _PREMAKE_VERSION .. '"}'
- )
- else
- test.fail(err);
- end
- end
- function suite.http_responsecode()
- local result, err, responseCode = http.get("http://httpbin.org/status/418")
- test.isequal(responseCode, 418)
- end
- -- Disable as httpbin.org returns 404 on this endpoint
- -- See: https://github.com/postmanlabs/httpbin/issues/617
- --[[
- function suite.http_redirect()
- local result, err, responseCode = http.get("http://httpbin.org/redirect/3")
- if result then
- test.isequal(responseCode, 200)
- else
- test.fail(err);
- end
- end
- ]]
- function suite.http_headers()
- local result, err, responseCode = http.get("http://httpbin.org/headers", {
- headers = { 'X-Premake: premake' }
- })
- if result then
- if (not result:find('X-Premake')) then
- test.fail("response doens't contain header")
- test.print(result)
- end
- else
- test.fail(err);
- end
- end
- end
|