summaryrefslogtreecommitdiffhomepage
path: root/test/test_python_application.py (follow)
AgeCommit message (Collapse)AuthorFilesLines
2019-09-17HTTP parser: fixed parsing of target after literal space character.Valentin Bartenev1-0/+31
In theory, all space characters in request target must be encoded; however, some clients may violate the specification. For the sake of interoperability, Unit supports unencoded space characters. Previously, if there was a space character before the extension or arguments parts, those parts weren't recognized. Also, quoted symbols and complex target weren't detected after a space character.
2019-09-14Tests: refactored prerequisites model.Andrey Zelenkov1-1/+1
2019-05-30Tests: adjusted skipping tests.Andrey Zelenkov1-5/+5
2019-04-22Tests: read_timeout increased for incomplete requests.Andrey Zelenkov1-1/+1
Also fixed test without \"Host\" header.
2019-04-09Tests: speed up tests.Andrey Zelenkov1-0/+15
2019-04-09Tests: wait_for_record() introduced.Andrey Zelenkov1-8/+8
2019-04-09Tests: style.Andrey Zelenkov1-12/+3
2019-04-09Tests: simplified module checking.Andrey Zelenkov1-2/+1
2019-03-28Tests: unit module refactoring.Andrey Zelenkov1-4/+4
2019-03-26Tests: style.Andrey Zelenkov1-144/+236
2019-03-01Tests: skip more alerts.Andrey Zelenkov1-0/+5
2019-02-28Made QUERY_STRING mandatory.Valentin Bartenev1-1/+0
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-27Tests: added "Host" and "Connetion" headers where necessary.Andrey Zelenkov1-17/+19
Also minor header organizing.
2019-02-20Tests: skip sendmsg()/recvmsg() alerts for all tests.Andrey Zelenkov1-8/+0
Currently, these alerts may appear in the log when any application exits.
2018-12-25Tests: added delay to wait for error logging.Andrey Zelenkov1-0/+3
2018-12-24Tests: more QUERY_STRING tests.Andrey Zelenkov1-0/+19
2018-11-15Tests: added command line arguments parsing in tests.Andrey Zelenkov1-1/+1
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-09-28Disabled chunked transfer encoding for 204 responses.Igor Sysoev1-1/+0
2018-09-20Python: adjusted input.read(size) argument value interpretation.Valentin Bartenev1-1/+0
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-06Tests: used relative path for configuration.Andrey Zelenkov1-3/+3
2018-08-10Introducing app joint to accurate app release.Max Romanov1-1/+1
For accurate app descriptor release, it is required to count the number of use counts. Use count increased when: - app linked to configuration app queue; - socket conf stores pointer to app; - request for start app process posted to router service thread; Application port has pointer to app, but it does not increase use count to avoid use count loop. Timer needs a pointer to nxt_timer_t which is stored in engine timers tree. nxt_timer_t now resides in nxt_app_joint_t and does not lock the application. Start process port RPC handlers is also linked to nxt_app_joint_t. App joint (nxt_app_joint_t) is a 'weak pointer': - single threaded; - use countable; - store pointer to nxt_app_t (which can be NULL); nxt_app_t has pointer to nxt_app_joint_t and update its pointer to app.
2018-08-08Tests: more reconfigure tests.Andrey Zelenkov1-0/+53
2018-05-30Tests: added keep-alive with reconfiguration test.Andrey Zelenkov1-0/+52
2018-05-21Tests: added tests for SERVER_SOFTWARE variable.Andrey Zelenkov1-2/+4
2018-04-26Tests: response handling improved.Andrey Zelenkov1-1/+1
2018-04-26Tests: added test for callable write() in Python.Andrey Zelenkov1-0/+5
2018-04-05Tests: added Python test with not iterable object.Andrey Zelenkov1-0/+11
2018-04-02Tests: more Python tests.Andrey Zelenkov1-1/+145
2018-04-02Tests: added Python test with iterator context.Andrey Zelenkov1-0/+23
2018-04-02Tests: use "%Z" directive while parsing Date header.Andrey Zelenkov1-2/+6
2018-03-21Tests: Ruby module.Andrey Zelenkov1-4/+2
2018-03-13Capitalization in the "Server" field.Valentin Bartenev1-1/+1
2018-02-20Tests: reworked python tests with application.Andrey Zelenkov1-80/+6
2018-02-14Tests: removed unused code in unit.py.Andrey Zelenkov1-5/+2
2018-02-12HTTP: the Date response header.Valentin Bartenev1-0/+4
2018-02-05Tests: simplified test for query string.Andrey Zelenkov1-7/+2
2018-02-05Tests: adjusted check_version()'s.Andrey Zelenkov1-1/+1
2018-01-29Introducing extended app process management.Max Romanov1-1/+1
- Pre-fork 'processes.spare' application processes; - fork more processes to keep 'processes.spare' idle processes; - fork on-demand up to 'processes.max' count; - scale down idle application processes above 'processes.spare' after 'processes.idle_timeout'; - number of concurrently started application processes also limited by 'processes.spare' (or 1, if spare is 0).
2018-01-30Tests: reworked TestUnitHTTP.Andrey Zelenkov1-15/+10
2018-01-30Tests: added methods to manage unit configuration.Andrey Zelenkov1-9/+8
2018-01-30Tests: small fixes.Andrey Zelenkov1-18/+6
2018-01-24Tests: added test for QUERY_STRING variable.Andrey Zelenkov1-0/+34
2018-01-24Tests: added test with "Transfer-Encoding" header in 204 response.Andrey Zelenkov1-0/+17
2018-01-24Tests: using "expectedFailure" decorator instead of assertTry().Andrey Zelenkov1-40/+57
2018-01-17Tests: using LF line ending for test files.Andrey Zelenkov1-90/+90
2018-01-15Tests: use "data" parameter in Request() to send body.Andrey Zelenkov1-2/+1
2018-01-15Tests: simple python application.Andrey Zelenkov1-0/+91