Max Romanov
452ce0789e
Adjusting request schema value according to connection tls state.
...
This closes #223 issue on GitHub.
2019-03-21 13:55:57 +03:00
Max Romanov
e1c4568680
Introducing one more large config test, but without sockets.
2019-03-05 15:38:52 +03:00
Andrey Zelenkov
ea844a4444
Tests: skip more alerts.
2019-03-01 18:58:16 +03:00
Andrey Zelenkov
ae36276cfc
Tests: made tests compatible with PHP 5.3.
2019-03-01 18:58:16 +03:00
Andrey Zelenkov
754b85c3ee
Tests: Perl streaming body and delayed response simple tests.
2019-03-01 17:13:51 +03:00
Alexander Borisov
3b2c1d0eaa
Perl: added implementation delayed response and streaming body.
2019-03-01 16:50:25 +03:00
Andrey Zelenkov
c1751f9de6
Tests: specify ssl_version option.
...
TLS is explicitly selected to prevent using of SSL protocol
in ssl.get_server_certificate() call for Python 3.4 and older.
2019-02-28 21:19:32 +03:00
Andrey Zelenkov
38ea191fbb
Tests: fixed PHP "disable_functions" and "disable_classes" tests.
2019-02-28 21:18:33 +03:00
Valentin Bartenev
a5dd0f8aa9
Made QUERY_STRING mandatory.
...
According to CGI/1.1 RFC 3875:
The server MUST set this variable; if the Script-URI does not include a
query component, the QUERY_STRING MUST be defined as an empty string ("").
Python's PEP 333(3) allows omitting it in WSGI interface; PHP docs force no
requirements; PSGI and Rack specifications require it even if empty.
When nginx proxies requests over FastCGI, it always provides QUERY_STRING.
and some PHP apps have been observed to fail if it is missing (see issue
#201 on GitHub).
A drawback of this change (besides a small overhead) is that there will be
no easy way to tell a missing query string from an empty one (i.e. requests
with or without the "?" character); yet, it's negligible compared to the
possible benefits of wider application compatibility.
This closes #226 issue on GitHub.
2019-02-28 20:20:41 +03:00
Max Romanov
5bfdebb9e4
Introducing Java Servlet Container beta.
2019-02-28 18:02:42 +03:00
Andrey Zelenkov
4b92586530
Tests: "Host" header tests.
2019-02-27 20:41:30 +03:00
Andrey Zelenkov
8488666d60
Tests: routing.
2019-02-27 19:46:27 +03:00
Andrey Zelenkov
bd77c9a4d2
Tests: read_timeout option introduced.
...
Also, increased default select() timeout from 1s to 5s.
2019-02-27 19:43:14 +03:00
Andrey Zelenkov
4de2c8b567
Tests: added "Host" and "Connetion" headers where necessary.
...
Also minor header organizing.
2019-02-27 19:15:02 +03:00
Alexander Borisov
379e4c75fd
Perl: added processing for IO:Handle-like object.
...
The application can return the body as an IO:Handle-like object
without file descriptor.
2019-02-27 17:27:41 +03:00
Andrey Zelenkov
499096a55a
Tests: one more alert skipped in test_json_application_many.
2019-02-20 20:46:23 +03:00
Andrey Zelenkov
955050aea3
Tests: skip sendmsg()/recvmsg() alerts for all tests.
...
Currently, these alerts may appear in the log when any application exits.
2019-02-20 20:28:29 +03:00
Andrey Zelenkov
09fb847cc7
Tests: removed test_http_header_transfer_encoding_chunked.
2019-02-20 20:24:05 +03:00
Andrey Zelenkov
b2ca342902
Tests: JSON array allowed.
2019-02-20 20:20:02 +03:00
Andrey Zelenkov
ac10bf8c7b
Tests: fixed ports range.
2019-02-20 20:19:55 +03:00
Valentin Bartenev
2a6b54c230
Rejecting requests with duplicate "Content-Length".
2019-02-18 16:51:30 +03:00
Andrey Zelenkov
ab40732c08
Tests: added tests for "Content-Length" header.
2019-02-14 16:09:58 +03:00
Andrey Zelenkov
0e5aaf60d4
Tests: headers with equal header fields allowed.
2019-02-14 16:09:54 +03:00
Andrey Zelenkov
7ce9f61cb6
Tests: minor fixes.
2019-02-14 16:09:19 +03:00
Andrey Zelenkov
d60fbc6d44
Tests: large configuration tests.
2019-01-28 17:17:23 +03:00
Andrey Zelenkov
7dddfe2143
Tests: added test for reading body from IO::Handle-like object.
2019-01-28 17:16:50 +03:00
Andrey Zelenkov
eced6bc972
Tests: removed blocking mode customization for sockets.
...
This customization was added in 0e12b17e512d and left unused.
Also, set blocking mode by default for all sockets.
2019-01-28 15:11:50 +03:00
Andrey Zelenkov
17068d2cdc
Tests: removed skipping Go tests on x86.
2018-12-25 21:28:02 +03:00
Andrey Zelenkov
5964413066
Tests: added delay to wait for error logging.
2018-12-25 17:22:32 +03:00
Andrey Zelenkov
4ccf0c8a17
Tests: fixed test_tls_reconfigure.
...
Previously, order of applying TLS configuration and sending partial request to
the application was uncertain. These changes make sure that client-application
connection was established before reconfiguration. Additionally, added test
to check that non-TLS connection works correctly after reconfiguration.
2018-12-25 16:35:35 +03:00
Andrey Zelenkov
f5b7fee128
Tests: set TCP_NODELAY option by default.
2018-12-25 16:35:35 +03:00
Andrey Zelenkov
d625691ff4
Tests: test_node_application_write_before_writeHead reworked.
...
Added res.end() call in application and response status check.
Also, renamed to test_node_application_write_before_write_head.
2018-12-25 16:35:35 +03:00
Andrey Zelenkov
f57e729a11
Tests: expectedFailure's removed from test_node_application.py.
...
Also removed alert skip in test_node_application_write_before_writeHead.
Fixes committed in 1340e3539362, 1e008ef94f43, 5df32621af19, dae402cb243f
and 41f561b3a178.
2018-12-25 16:35:35 +03:00
Andrey Zelenkov
f9a3328a25
Tests: more QUERY_STRING tests.
2018-12-24 20:35:18 +03:00
Andrey Zelenkov
aafa4bbaf9
Tests: more Node.js tests.
2018-12-11 18:30:58 +03:00
Andrey Zelenkov
37cd6d23b6
Tests: PHP directives "disable_classes" and "disable_functions".
2018-11-28 03:14:38 +03:00
Andrey Zelenkov
2ef5011236
Tests: fixed test_node_application_write_callback.
...
Fixed the write() callback order test.
Also introduced a separate test to verify the callback call itself.
2018-12-04 19:05:10 +03:00
Sergey Kandaurov
0fdc7c3a55
Tests: Node.js application tests.
2018-10-25 15:43:48 +03:00
Andrey Zelenkov
41d3d63758
Tests: class prefix made optional.
2018-11-15 21:26:15 +03:00
Andrey Zelenkov
eff760bd2b
Tests: added command line arguments parsing in tests.
...
Added the following command line arguments:
-d, --detailed: Show detailed output for tests
Usage examples:
./test/run.py --detailed
python3 test/test_access_log.py --detailed
python3 test/test_access_log.py -d TestUnitAccessLog.test_access_log_ipv6
-l, --log: Save unit.log after the test execution
Usage examples:
./test/run.py -l
python3 test/test_access_log.py -l
python3 test/test_access_log.py --log TestUnitAccessLog.test_access_log_ipv6
2018-11-15 21:26:15 +03:00
Andrey Zelenkov
cf1f84b67c
Tests: print path to unit.log file when it was saved.
2018-11-13 18:56:18 +03:00
Andrey Zelenkov
4d7f708b25
Tests: leave unit.log in case of error or failure.
2018-11-13 18:51:55 +03:00
Sergey Kandaurov
3061e8333d
Tests: provide openssl.conf in test_tls_certificate_key_ec.
...
Previously, test failed if openssl was unable to load config info,
or the system's openssl.cnf was picked up, which is wrong as well.
2018-10-18 18:46:21 +03:00
Valentin Bartenev
029c1a9f50
Renamed "go" application type to "external".
...
There's nothing specific to Go language. This type of application object can
be used to run any external application that utilizes libunit API.
2018-10-09 17:53:31 +03:00
Igor Sysoev
b5d4fc939e
Disabled chunked transfer encoding for 204 responses.
2018-09-28 17:32:02 +03:00
Andrey Zelenkov
d0e428aace
Tests: TLS tests.
2018-09-20 16:34:34 +03:00
Valentin Bartenev
510c2e15c5
Python: adjusted input.read(size) argument value interpretation.
...
Previously, passing 0 resulted in reading the whole body and all negative
values raised an exception.
Now the behaviour is in consistentance with io.RawIOBase.read() interface,
and passing 0 returns empty (byte) string, while -1 results in reading the
whole body.
2018-09-20 16:04:49 +03:00
Andrey Zelenkov
8065ba84aa
Tests: test_settings_header_read_timeout_update adjusted.
2018-09-17 19:07:29 +03:00
Andrey Zelenkov
511a0fa760
Tests: used relative path for configuration.
2018-09-06 20:18:33 +03:00
Andrey Zelenkov
58d23eb5b4
Tests: fixed test_settings_header_read_timeout_update.
2018-09-04 02:30:27 +03:00