summaryrefslogtreecommitdiffhomepage
path: root/test/test_node_application.py (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-02-14fix: Take options as well as requestListener (#1091)Gabor Javorszky1-0/+6
* Take options as well as requestListener Unit-http have not kept up with the signature of nodejs's http package development. Nodejs allows an optional `options` object to be passed to the `createServer` function, we didn't. This resulted in function signature errors when user code that did make use of the options arg tried to call unit's replaced function. This change changes the signature to be more in line with how nodejs does it discarding it and printing a message to stdout. * Add test file to start node application with options * Add changes to docs/changes.xml Closes: https://github.com/nginx/unit/issues/1043
2024-01-26Node.js: fixed "httpVersion" variable formatAndrei Zeliankou1-1/+1
According to the Node.js documenation this variable should only include numbering scheme. Thanks to @dbit-xia. Closes: https://github.com/nginx/unit/issues/1085
2024-01-15Tests: pathlib used where appropriateAndrei Zeliankou1-0/+5
Also fixed various pylint errors and style issues.
2023-11-17Node.js: ServerResponse.flushHeaders() implemented.Andrei Zeliankou1-0/+4
This closes #1006 issue on GitHub. Reviewed-by: Andrew Clayton <a.clayton@nginx.com>
2023-09-26Node.js: response body chunk can now be a Uint8Array.Andrei Zeliankou1-0/+4
Starting from Node.js 15.0.0 the chunk parameter of the response.write() can be a Uint8Array. This closes #870 issue on GitHub.
2023-06-14Tests: get rid of classes in test files.Andrei Zeliankou1-248/+275
Class usage came from the unittest framework and it was always redundant after migration to the pytest. This commit removes classes from files containing tests to make them more readable and understandable.
2023-06-12Tests: prerequisites checking reworked.Andrei Zeliankou1-2/+2
Prerequisites check moved to the module level to simplify class structure. Discovery and prerequisites checks functions moved to the separate files. Introduced "require" fixture to provide per-test requirements check.
2023-05-29Tests: more fixtures.Andrei Zeliankou1-4/+2
Common methods from applications/proto.py converted to the fixtures. sysctl check moved to the specific file where it is using. Some options moved to the constructor to have early access.
2023-02-21Tests: switched to using f-strings.Andrei Zeliankou1-2/+2
Previously, it was necessary to support older versions of Python for compatibility. F-strings were released in Python 3.6. Python 3.5 was marked as unsupported by the end of 2020, so now it's possible to start using f-strings safely for better readability and performance.
2022-09-07Tests: minor fixes.Andrei Zeliankou1-10/+1
2022-04-11Tests: style.Andrei Zeliankou1-3/+1
2021-10-18Tests: style.Andrei Zeliankou1-1/+0
2021-05-24Node.js: renamed "require_shim" to "loader".Oisin Canty1-4/+4
2021-05-12Node.js: a shim for overriding "http" and "websocket" modules.Oisin Canty1-3/+16
Also added stubs for Server.address() This was done to prevent crashes in some popular frameworks like express Supports both CommonJS and the new ES Modules system syntax e.g: app.js: const http = require('http') app.mjs: import http from "http" Usage on Node 14.16.x and higher: { "type": "external", "processes": {"spare": 0}, "working_directory": '/project', "executable": "/usr/bin/env", "arguments": [ "node", "--loader", "unit-http/require_shim.mjs" "--require", "unit-http/require_shim", "app.js" ] } Usage on Node 14.15.x and lower: { "type": "external", "processes": {"spare": 0}, "working_directory": '/project', "executable": "/usr/bin/env", "arguments": [ "node", "--require", "unit-http/require_shim", "app.js" ] }
2021-04-05Tests: style.Andrei Zeliankou1-1/+4
2021-01-13Tests: style.Andrei Zeliankou1-1/+0
2020-12-29Node.js: ServerRequest and ServerResponse compliance to Stream API.Max Romanov1-45/+0
ServerRequest now inherit stream Readable object. ServerResponse provides 'writable' property. Thanks to Wu Jian Ping (@wujjpp). This closes #274, closes #317 issues and closes #502 PR on GitHub.
2020-12-08Tests: utils module introduced.Andrei Zeliankou1-1/+1
2020-10-19Tests: fixed unit.log print.Andrei Zeliankou1-9/+9
2020-10-07Tests: minor fixes.Andrei Zeliankou1-4/+5
2020-09-16Tests: migrated to the pytest.Andrei Zeliankou1-149/+102
2020-05-15Tests: style.Andrei Zeliankou1-0/+1
2020-04-24Tests: introduced module version specification in prerequisites.Andrei Zeliankou1-1/+1
2020-04-14Tests: minor fixes and style.Andrei Zeliankou1-3/+5
2019-11-26Tests: parsing of "Transfer-Encoding: chunked" responses.Tiago Natel1-3/+3
2019-09-14Tests: refactored prerequisites model.Andrey Zelenkov1-1/+1
2019-05-30Tests: adjusted skipping tests.Andrey Zelenkov1-2/+2
2019-04-09Tests: speed up tests.Andrey Zelenkov1-0/+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-119/+221
2019-02-27Tests: added "Host" and "Connetion" headers where necessary.Andrey Zelenkov1-16/+27
Also minor header organizing.
2018-12-25Tests: test_node_application_write_before_writeHead reworked.Andrey Zelenkov1-2/+2
Added res.end() call in application and response status check. Also, renamed to test_node_application_write_before_write_head.
2018-12-25Tests: expectedFailure's removed from test_node_application.py.Andrey Zelenkov1-7/+0
Also removed alert skip in test_node_application_write_before_writeHead. Fixes committed in 1340e3539362, 1e008ef94f43, 5df32621af19, dae402cb243f and 41f561b3a178.
2018-12-11Tests: more Node.js tests.Andrey Zelenkov1-1/+116
2018-12-04Tests: fixed test_node_application_write_callback.Andrey Zelenkov1-1/+4
Fixed the write() callback order test. Also introduced a separate test to verify the callback call itself.
2018-10-25Tests: Node.js application tests.Sergey Kandaurov1-0/+166