summaryrefslogtreecommitdiffhomepage
path: root/test/test_routing.py (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-01-15Tests: pathlib used where appropriateAndrei Zeliankou1-6/+9
Also fixed various pylint errors and style issues.
2023-11-08Tests: 8XXX used as default port range.Andrei Zeliankou1-79/+79
After the launch of the project, the testing infrastructure was shared with nginx project in some cases. To avoid port overlap, a decision was made to shift the port range for Unit tests. This problem was resolved a long time ago and is no longer relevant, so it is now safe to use port 8XXX range as the default, as it is more appropriate for testing purposes.
2023-06-14Tests: get rid of classes in test files.Andrei Zeliankou1-1684/+1781
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-14/+10
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-25Tests: unified setup method usage.Andrei Zeliankou1-1/+2
To make fixtures accessible inside of setup methods in tests all these methods are renamed to the "setup_method_fixture" and decorated by autouse flag. Also all setup methods moved to the top of the files.
2023-05-25Tests: removed unused variables.Andrei Zeliankou1-4/+4
2023-02-21Tests: switched to using f-strings.Andrei Zeliankou1-36/+29
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-10-11Tests: don't try to return response when "no_recv" is True.Andrei Zeliankou1-1/+1
2022-09-19HTTP: fixed cookie parsing.Zhidao HONG1-0/+14
The fixing supports the cookie value with the '=' character. This is related to #756 PR on Github. Thanks to changxiaocui.
2022-08-08Tests: added tests with UNIX sockets in "source".Andrei Zeliankou1-3/+11
2022-04-11Tests: style.Andrei Zeliankou1-16/+25
2021-12-12Tests: fixed type of applications.Andrei Zeliankou1-8/+8
2021-11-10Tests: added more tests for "query" routing pattern.Andrei Zeliankou1-8/+16
2021-11-05Router: matching query string support.Zhidao HONG1-0/+44
The "query" option matches decoded arguments, including plus ('+') to space (' '). Like "uri", it can be a string or an array of strings.
2021-10-18Tests: style.Andrei Zeliankou1-1/+0
2021-08-05Router: fixed crash when matching an empty address pattern array.Oisin Canty1-0/+4
A crash would occur when the router tried to match an against an empty address pattern array. The following configuration was used to reproduce the issue: { "listeners": { "127.0.0.1:8082": { "pass": "routes" } }, "routes": [ { "match": { "source": [] }, "action": { "return": 200 } } ] }
2021-05-24Tests: minor fixes.Andrei Zeliankou1-71/+19
2021-04-05Tests: style.Andrei Zeliankou1-6/+5
2021-03-31Tests: removed skip_alert().Andrei Zeliankou1-4/+1
2021-02-18Tests: added regex check.Andrei Zeliankou1-0/+12
2021-01-14Tests: added missing checks for configuration results.Andrei Zeliankou1-1/+1
2021-01-13Tests: style.Andrei Zeliankou1-1/+0
2020-12-08Tests: skip_alert() converted to the fixture.Andrei Zeliankou1-4/+3
2020-12-06Tests: options moved to the separate class.Andrei Zeliankou1-1/+1
This change is necessary to separate the logic and prevent possible circular dependency.
2020-11-17Router: matching regular expressions support.Axel Duch1-0/+42
2020-10-19Tests: fixed unit.log print.Andrei Zeliankou1-7/+5
2020-10-07Tests: minor fixes.Andrei Zeliankou1-1/+2
2020-10-07Router: fixed "not empty" pattern matching.Valentin Bartenev1-0/+15
The "!" pattern should be opposite to "", i.e. match only non-empty values. But after 3c00af54b937 it was equal to "!*", which is wrong.
2020-08-28Router: fixed "pass" to upstreams.hongzhidao1-0/+79
Messed up return values in nxt_upstream_find() caused error in applying any configuration with a valid "pass" value in router configuration pointing to upstream. That wasn't the case in "listeners" objects, where the return value wasn't checked. Also, it caused segfault in cases where the "pass" option was configured with variables and resulting value was pointing to a non-existent upstream. Added missing return checks as well to catch possible memory allocation errors. The bug was introduced in d32bc428f46b. This closes #472 issue on GitHub.
2020-09-16Tests: migrated to the pytest.Andrei Zeliankou1-1061/+816
2020-07-10Router: route patterns multi wildcards fix.Axel Duch1-0/+21
Matching 'start' and 'end' position now adjusted to avoid false matching. This is related to #434 issue on Github. Thanks to 洪志道 (Hong Zhi Dao).
2020-07-04Router: route patterns multi wildcards support.Axel Duch1-5/+44
2020-05-15Tests: added test for encoding in the "pass" option.Andrei Zeliankou1-0/+55
2020-05-15Tests: style.Andrei Zeliankou1-1/+2
2020-05-14Tests: decode uri and args.Axel Duch1-35/+158
2020-04-24Tests: introduced module version specification in prerequisites.Andrei Zeliankou1-1/+1
2020-04-14Tests: minor fixes and style.Andrei Zeliankou1-1/+1
2020-03-27Tests: added tests for "return" action.Andrei Zeliankou1-136/+25
2020-01-31Tests: more routing tests with negative rules.Andrei Zeliankou1-0/+57
2020-03-03Tests: check unique options in "action" object.Andrei Zeliankou1-0/+50
2020-03-03Improved validation of the "action" object.Valentin Bartenev1-2/+0
Now it enforces the mutual exclusivity of "pass", "proxy", and "share" options.
2020-02-27Tests: added test with invalid IPv6 address in routing block.Andrei Zeliankou1-0/+1
2019-12-24Tests: routing by listener address.Axel Duch1-0/+58
2019-12-24Tests: routing by client address configuration.Axel Duch1-0/+353
2019-12-09Tests: routing tests refactored.Andrei Zeliankou1-1770/+329
2019-10-23Tests: more URI normalization tests.Andrey Zelenkov1-8/+52
2019-10-23Tests: check initial configuration in test_routing.py.Andrey Zelenkov1-27/+31
2019-09-14Tests: refactored prerequisites model.Andrey Zelenkov1-1/+1
2019-07-24Added routing based on request scheme.Axel Duch1-0/+94
Scheme matches exact string “http” or “https”.
2019-07-14Tests: simplified one route case configuration.Andrey Zelenkov1-661/+406
No functional changes.