2
0
Fork 0
lighttpd2/tests/t-basic-gets.py

187 lines
3.7 KiB
Python
Raw Normal View History

2010-10-02 20:45:29 +00:00
# -*- coding: utf-8 -*-
from base import *
from requests import *
2010-10-05 09:54:13 +00:00
LUA_SHOW_ENV_INFO="""
function show_env_info(vr)
if vr:handle_direct() then
vr.resp.status = 200
vr.resp.headers["Content-Type"] = "text/plain"
vr.out:add(vr.env["INFO"])
end
end
actions = show_env_info
"""
class TestSimpleRequest(CurlRequest):
2010-10-02 20:45:29 +00:00
URL = "/test.txt"
EXPECT_RESPONSE_BODY = TEST_TXT
EXPECT_RESPONSE_CODE = 200
2013-09-10 10:08:44 +00:00
EXPECT_RESPONSE_HEADERS = [("Content-Type", "text/plain; charset=utf-8")]
class TestSimpleRequestStatus(CurlRequest):
URL = "/test.txt"
EXPECT_RESPONSE_BODY = TEST_TXT
EXPECT_RESPONSE_CODE = 403
config = """
defaultaction;
static_no_fail;
set_status 403;
"""
class TestSimpleRespond(CurlRequest):
URL = "/test.txt"
EXPECT_RESPONSE_BODY = "hello"
EXPECT_RESPONSE_CODE = 200
config = 'respond "hello";'
class TestIndex1(CurlRequest):
URL = "/"
EXPECT_RESPONSE_BODY = TEST_TXT
EXPECT_RESPONSE_CODE = 200
config = """
defaultaction;
index "test.txt";
"""
class TestIndex2(CurlRequest):
URL = "/"
EXPECT_RESPONSE_BODY = TEST_TXT
EXPECT_RESPONSE_CODE = 200
config = """
defaultaction;
index "index.html", "test.txt";
"""
2010-10-02 20:45:29 +00:00
class TestIndexNotExisting1(CurlRequest):
URL = "/not-existing"
EXPECT_RESPONSE_CODE = 404
config = """
defaultaction;
index "index.html", "test.txt";
"""
class TestIndex3(CurlRequest):
URL = "/not-existing"
EXPECT_RESPONSE_BODY = TEST_TXT
EXPECT_RESPONSE_CODE = 200
config = """
defaultaction;
index "/index.html", "/test.txt";
"""
2010-10-05 09:54:13 +00:00
class TestSimpleInfo(CurlRequest):
URL = "/?a_simple_query"
EXPECT_RESPONSE_BODY = "a_simple_query"
EXPECT_RESPONSE_CODE = 200
config = """
env.set "INFO" => "%{req.query}";
show_env_info;
"""
class TestBadRequest1(CurlRequest):
# unencoded query
URL = "/?complicated?query= $"
EXPECT_RESPONSE_CODE = 400
2013-09-10 10:08:44 +00:00
class TestStaticExcludeExtensions1(CurlRequest):
URL = "/test.php"
EXPECT_RESPONSE_CODE = 403
config = """
defaultaction;
static.exclude_extensions ".php";
"""
class TestStaticExcludeExtensions2(CurlRequest):
URL = "/test.php"
EXPECT_RESPONSE_CODE = 403
config = """
defaultaction;
static.exclude_extensions (".php", ".py");
"""
class TestServerTag(CurlRequest):
URL = "/test.txt"
EXPECT_RESPONSE_BODY = TEST_TXT
EXPECT_RESPONSE_CODE = 200
EXPECT_RESPONSE_HEADERS = [("Server", "apache - no really!")]
config = """
defaultaction;
server.tag "apache - no really!";
"""
class TestConditionalHeader1(CurlRequest):
URL = "/"
EXPECT_RESPONSE_BODY = "a"
REQUEST_HEADERS = ["X-Select: a"]
config = """
if req.header["X-Select"] == "a" {
respond "a";
} else {
respond "b";
}
"""
class TestConditionalHeader2(CurlRequest):
URL = "/"
EXPECT_RESPONSE_BODY = "b"
config = """
if req.header["X-Select"] == "a" {
respond "a";
} else {
respond "b";
}
"""
class TestSimplePattern1(CurlRequest):
URL = "/"
EXPECT_RESPONSE_CODE = 403
EXPECT_RESPONSE_BODY = "hello"
REQUEST_HEADERS = ["X-Select: hello"]
config = """
respond 403 => "%{req.header[X-Select]}";
"""
class ProvideStatus(TestBase):
runnable = False
vhost = "status"
config = """
setup { module_load "mod_status"; }
status.info;
"""
2010-10-05 09:54:13 +00:00
class Test(GroupTest):
2013-09-10 10:08:44 +00:00
group = [
TestSimpleRequest,
TestSimpleRequestStatus,
TestSimpleRespond,
TestIndex1,
TestIndex2,
TestIndexNotExisting1,
TestIndex3,
2013-09-10 10:08:44 +00:00
TestSimpleInfo,
TestBadRequest1,
TestStaticExcludeExtensions1,
TestStaticExcludeExtensions2,
TestServerTag,
TestConditionalHeader1,
TestConditionalHeader2,
TestSimplePattern1,
ProvideStatus
]
2010-10-05 09:54:13 +00:00
2010-10-02 20:45:29 +00:00
def Prepare(self):
self.PrepareFile("www/default/test.txt", TEST_TXT)
2013-09-10 10:08:44 +00:00
self.PrepareFile("www/default/test.php", "")
2010-10-05 09:54:13 +00:00
show_env_info_lua = self.PrepareFile("lua/show_env_info.lua", LUA_SHOW_ENV_INFO)
self.plain_config = """
show_env_info = {{
2010-10-05 09:54:13 +00:00
lua.handler "{show_env_info_lua}";
}};
2010-10-05 09:54:13 +00:00
""".format(show_env_info_lua = show_env_info_lua)