From 27b9c1a5e121f56c939d0ee65f224d38b3a29a4d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 7 Jan 2026 13:16:48 +0000 Subject: [PATCH 1/5] Initial plan From d1f33cd098605f9ce72a3fa8df7f5f571547198a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 7 Jan 2026 13:19:56 +0000 Subject: [PATCH 2/5] Initial plan for fixing space handling in route definitions Co-authored-by: ondratu <6469029+ondratu@users.noreply.github.com> --- poorwsgi/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1062 bytes .../__pycache__/fieldstorage.cpython-312.pyc | Bin 0 -> 33966 bytes poorwsgi/__pycache__/headers.cpython-312.pyc | Bin 0 -> 20928 bytes poorwsgi/__pycache__/request.cpython-312.pyc | Bin 0 -> 49373 bytes poorwsgi/__pycache__/response.cpython-312.pyc | Bin 0 -> 43505 bytes poorwsgi/__pycache__/results.cpython-312.pyc | Bin 0 -> 29769 bytes poorwsgi/__pycache__/session.cpython-312.pyc | Bin 0 -> 13792 bytes poorwsgi/__pycache__/state.cpython-312.pyc | Bin 0 -> 4234 bytes poorwsgi/__pycache__/wsgi.cpython-312.pyc | Bin 0 -> 57421 bytes 9 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 poorwsgi/__pycache__/__init__.cpython-312.pyc create mode 100644 poorwsgi/__pycache__/fieldstorage.cpython-312.pyc create mode 100644 poorwsgi/__pycache__/headers.cpython-312.pyc create mode 100644 poorwsgi/__pycache__/request.cpython-312.pyc create mode 100644 poorwsgi/__pycache__/response.cpython-312.pyc create mode 100644 poorwsgi/__pycache__/results.cpython-312.pyc create mode 100644 poorwsgi/__pycache__/session.cpython-312.pyc create mode 100644 poorwsgi/__pycache__/state.cpython-312.pyc create mode 100644 poorwsgi/__pycache__/wsgi.cpython-312.pyc diff --git a/poorwsgi/__pycache__/__init__.cpython-312.pyc b/poorwsgi/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..708d83cde0777f5fc3d5a9b81791b215a9f84f74 GIT binary patch literal 1062 zcmZ8gy^ho{5O((OPJu;2bX3z&?CH3rL@R!DIs``pEAAwu6(aJ+vx&LH4z|OxbUXz; z9WTI3P|>CYQBVQ80_iHo$>wfFq}XH6%r`UNjK2(rA*1itiY(D@64TeX6CC;fzegWf45i+T}eRzC4g$MNk_Dc$H&(J$!rstPFEl)<<)m9V<9Y;}hwXJ%u#rV&<8lGEta%w>D zPQ*shCw5AJ?Ckb9rO_Olk{*;9FSR)t`)B40yAWEOaTG}vVtF!GpxfW%H_skUn m3h1}jY5Cm^g5Xc*TG0Eu!-BhC*_|Kk#<%eP`z>>s)c*jn0$O$e literal 0 HcmV?d00001 diff --git a/poorwsgi/__pycache__/fieldstorage.cpython-312.pyc b/poorwsgi/__pycache__/fieldstorage.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f4b8abf325d3a28329ade994fa8a1ce5800e3930 GIT binary patch literal 33966 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 ZeQloz6#3gPx}VOo9k$&U*p1El{{>Vq?Xds= literal 0 HcmV?d00001 diff --git a/poorwsgi/__pycache__/headers.cpython-312.pyc b/poorwsgi/__pycache__/headers.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fc69c0222b5e5ac5cc781359a21b6885749ef690 GIT binary patch literal 20928 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 literal 0 HcmV?d00001 diff --git a/poorwsgi/__pycache__/request.cpython-312.pyc b/poorwsgi/__pycache__/request.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d47686a8e5bbf27e0929f3fb51b06d5355c94835 GIT binary patch literal 49373 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 nLm{vR!Uk;YyR%2>6pm`1$ufj2>pKn=|O$t literal 0 HcmV?d00001 diff --git a/poorwsgi/__pycache__/response.cpython-312.pyc b/poorwsgi/__pycache__/response.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..50acee9eaceaa426963b45b4dd8e169275c2a235 GIT binary patch literal 43505 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 literal 0 HcmV?d00001 diff --git a/poorwsgi/__pycache__/session.cpython-312.pyc b/poorwsgi/__pycache__/session.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ca01a7e0b532118fe4c6be4ac9055bf855b1f5f5 GIT binary patch literal 13792 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 P?l~dwjh}OrGD-Pgykf^R literal 0 HcmV?d00001 diff --git a/poorwsgi/__pycache__/state.cpython-312.pyc b/poorwsgi/__pycache__/state.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9e57db419db5037ea41b7567f87ebbe08fc363d3 GIT binary patch literal 4234 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 N_=D#5K#~{Fe*tlv#+(2E literal 0 HcmV?d00001 diff --git a/poorwsgi/__pycache__/wsgi.cpython-312.pyc b/poorwsgi/__pycache__/wsgi.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..65bc4843f3206fcb91bd8d217180555f4a0a9cd9 GIT binary patch literal 57421 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 Date: Wed, 7 Jan 2026 13:22:16 +0000 Subject: [PATCH 3/5] Add validation and tests for spaces in route filter definitions Co-authored-by: ondratu <6469029+ondratu@users.noreply.github.com> --- .gitignore | 2 + poorwsgi/__pycache__/__init__.cpython-312.pyc | Bin 1062 -> 0 bytes .../__pycache__/fieldstorage.cpython-312.pyc | Bin 33966 -> 0 bytes poorwsgi/__pycache__/headers.cpython-312.pyc | Bin 20928 -> 0 bytes poorwsgi/__pycache__/request.cpython-312.pyc | Bin 49373 -> 0 bytes poorwsgi/__pycache__/response.cpython-312.pyc | Bin 43505 -> 0 bytes poorwsgi/__pycache__/results.cpython-312.pyc | Bin 29769 -> 0 bytes poorwsgi/__pycache__/session.cpython-312.pyc | Bin 13792 -> 0 bytes poorwsgi/__pycache__/state.cpython-312.pyc | Bin 4234 -> 0 bytes poorwsgi/__pycache__/wsgi.cpython-312.pyc | Bin 57421 -> 0 bytes poorwsgi/wsgi.py | 12 + tests/test_route_validation.py | 238 ++++++++++++++++++ 12 files changed, 252 insertions(+) delete mode 100644 poorwsgi/__pycache__/__init__.cpython-312.pyc delete mode 100644 poorwsgi/__pycache__/fieldstorage.cpython-312.pyc delete mode 100644 poorwsgi/__pycache__/headers.cpython-312.pyc delete mode 100644 poorwsgi/__pycache__/request.cpython-312.pyc delete mode 100644 poorwsgi/__pycache__/response.cpython-312.pyc delete mode 100644 poorwsgi/__pycache__/results.cpython-312.pyc delete mode 100644 poorwsgi/__pycache__/session.cpython-312.pyc delete mode 100644 poorwsgi/__pycache__/state.cpython-312.pyc delete mode 100644 poorwsgi/__pycache__/wsgi.cpython-312.pyc create mode 100644 tests/test_route_validation.py diff --git a/.gitignore b/.gitignore index 231fd24..50a3a94 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ dist/ build/ .eggs/ tags +__pycache__/ +*.pyc diff --git a/poorwsgi/__pycache__/__init__.cpython-312.pyc b/poorwsgi/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 708d83cde0777f5fc3d5a9b81791b215a9f84f74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1062 zcmZ8gy^ho{5O((OPJu;2bX3z&?CH3rL@R!DIs``pEAAwu6(aJ+vx&LH4z|OxbUXz; z9WTI3P|>CYQBVQ80_iHo$>wfFq}XH6%r`UNjK2(rA*1itiY(D@64TeX6CC;fzegWf45i+T}eRzC4g$MNk_Dc$H&(J$!rstPFEl)<<)m9V<9Y;}hwXJ%u#rV&<8lGEta%w>D zPQ*shCw5AJ?Ckb9rO_Olk{*;9FSR)t`)B40yAWEOaTG}vVtF!GpxfW%H_skUn m3h1}jY5Cm^g5Xc*TG0Eu!-BhC*_|Kk#<%eP`z>>s)c*jn0$O$e diff --git a/poorwsgi/__pycache__/fieldstorage.cpython-312.pyc b/poorwsgi/__pycache__/fieldstorage.cpython-312.pyc deleted file mode 100644 index f4b8abf325d3a28329ade994fa8a1ce5800e3930..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33966 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 ZeQloz6#3gPx}VOo9k$&U*p1El{{>Vq?Xds= diff --git a/poorwsgi/__pycache__/headers.cpython-312.pyc b/poorwsgi/__pycache__/headers.cpython-312.pyc deleted file mode 100644 index fc69c0222b5e5ac5cc781359a21b6885749ef690..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20928 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 diff --git a/poorwsgi/__pycache__/request.cpython-312.pyc b/poorwsgi/__pycache__/request.cpython-312.pyc deleted file mode 100644 index d47686a8e5bbf27e0929f3fb51b06d5355c94835..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49373 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 nLm{vR!Uk;YyR%2>6pm`1$ufj2>pKn=|O$t diff --git a/poorwsgi/__pycache__/response.cpython-312.pyc b/poorwsgi/__pycache__/response.cpython-312.pyc deleted file mode 100644 index 50acee9eaceaa426963b45b4dd8e169275c2a235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43505 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 diff --git a/poorwsgi/__pycache__/session.cpython-312.pyc b/poorwsgi/__pycache__/session.cpython-312.pyc deleted file mode 100644 index ca01a7e0b532118fe4c6be4ac9055bf855b1f5f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13792 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 P?l~dwjh}OrGD-Pgykf^R diff --git a/poorwsgi/__pycache__/state.cpython-312.pyc b/poorwsgi/__pycache__/state.cpython-312.pyc deleted file mode 100644 index 9e57db419db5037ea41b7567f87ebbe08fc363d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4234 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 N_=D#5K#~{Fe*tlv#+(2E diff --git a/poorwsgi/__pycache__/wsgi.cpython-312.pyc b/poorwsgi/__pycache__/wsgi.cpython-312.pyc deleted file mode 100644 index 65bc4843f3206fcb91bd8d217180555f4a0a9cd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57421 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]+)?>') +# check for invalid route definitions with spaces +re_invalid_filter = re.compile(r'<\s+\w+|<\w+\s+[:|>]|<\w+:\s+\w+|<\w+:[^>]+\s+>') + # Supported authorization algorithms AUTH_DIGEST_ALGORITHMS = { 'MD5': md5, @@ -792,6 +795,15 @@ def set_route(self, uri: str, fun: Callable, app.set_route('/use/post', user_create, METHOD_POST) """ + # Check for invalid spaces in route filter definitions + if re_invalid_filter.search(uri): + raise ValueError( + f"Invalid route definition '{uri}': " + "Route filter definitions must not contain spaces. " + "Use '' format without any spaces. " + "Examples: '', '', ''" + ) + if re_filter.search(uri): r_uri = re_filter.sub(self.__regex, uri) + '$' converters = tuple((g[0], self.__converter(g[1])) diff --git a/tests/test_route_validation.py b/tests/test_route_validation.py new file mode 100644 index 0000000..f8646a9 --- /dev/null +++ b/tests/test_route_validation.py @@ -0,0 +1,238 @@ +"""Unit tests for route filter validation.""" +import pytest + +from poorwsgi.wsgi import Application +from poorwsgi.state import METHOD_GET + + +def test_valid_route_no_filter(): + """Test that routes without filters work correctly.""" + app = Application('test_valid_no_filter') + + @app.route('/api/users') + def handler(req): + return 'ok' + + assert '/api/users' in app.routes + + +def test_valid_route_with_int_filter(): + """Test that routes with :int filter work correctly.""" + app = Application('test_valid_int') + + @app.route('/api/users/') + def handler(req, id): + return 'ok' + + # Route with filter should be in regular_routes + assert len(app.regular_routes) > 0 + + +def test_valid_route_with_word_filter(): + """Test that routes with :word filter work correctly.""" + app = Application('test_valid_word') + + @app.route('/api/users/') + def handler(req, name): + return 'ok' + + assert len(app.regular_routes) > 0 + + +def test_valid_route_with_float_filter(): + """Test that routes with :float filter work correctly.""" + app = Application('test_valid_float') + + @app.route('/api/values/') + def handler(req, value): + return 'ok' + + assert len(app.regular_routes) > 0 + + +def test_valid_route_with_uuid_filter(): + """Test that routes with :uuid filter work correctly.""" + app = Application('test_valid_uuid') + + @app.route('/api/objects/') + def handler(req, id): + return 'ok' + + assert len(app.regular_routes) > 0 + + +def test_valid_route_with_hex_filter(): + """Test that routes with :hex filter work correctly.""" + app = Application('test_valid_hex') + + @app.route('/api/codes/') + def handler(req, code): + return 'ok' + + assert len(app.regular_routes) > 0 + + +def test_valid_route_with_multiple_filters(): + """Test that routes with multiple filters work correctly.""" + app = Application('test_valid_multiple') + + @app.route('/api//') + def handler(req, entity, id): + return 'ok' + + assert len(app.regular_routes) > 0 + + +def test_invalid_route_space_after_open_bracket(): + """Test that space after < is rejected.""" + app = Application('test_invalid_space_after_open') + + with pytest.raises(ValueError) as exc_info: + @app.route('/api/< id:int>') + def handler(req, id): + return 'ok' + + assert 'Invalid route definition' in str(exc_info.value) + assert 'must not contain spaces' in str(exc_info.value) + assert '/api/< id:int>' in str(exc_info.value) + + +def test_invalid_route_space_before_close_bracket(): + """Test that space before > is rejected.""" + app = Application('test_invalid_space_before_close') + + with pytest.raises(ValueError) as exc_info: + @app.route('/api/') + def handler(req, id): + return 'ok' + + assert 'Invalid route definition' in str(exc_info.value) + assert 'must not contain spaces' in str(exc_info.value) + + +def test_invalid_route_space_after_name(): + """Test that space after parameter name is rejected.""" + app = Application('test_invalid_space_after_name') + + with pytest.raises(ValueError) as exc_info: + @app.route('/api/') + def handler(req, id): + return 'ok' + + assert 'Invalid route definition' in str(exc_info.value) + assert 'must not contain spaces' in str(exc_info.value) + + +def test_invalid_route_space_after_colon(): + """Test that space after : is rejected.""" + app = Application('test_invalid_space_after_colon') + + with pytest.raises(ValueError) as exc_info: + @app.route('/api/') + def handler(req, id): + return 'ok' + + assert 'Invalid route definition' in str(exc_info.value) + assert 'must not contain spaces' in str(exc_info.value) + + +def test_invalid_route_multiple_spaces(): + """Test that multiple spaces are rejected.""" + app = Application('test_invalid_multiple_spaces') + + with pytest.raises(ValueError) as exc_info: + @app.route('/api/< id : int >') + def handler(req, id): + return 'ok' + + assert 'Invalid route definition' in str(exc_info.value) + assert 'must not contain spaces' in str(exc_info.value) + + +def test_error_message_provides_examples(): + """Test that error message includes helpful examples.""" + app = Application('test_error_message') + + with pytest.raises(ValueError) as exc_info: + @app.route('/api/') + def handler(req, id): + return 'ok' + + error_message = str(exc_info.value) + assert '' in error_message + assert '' in error_message + assert '' in error_message + + +def test_set_route_with_space_rejection(): + """Test that set_route method also rejects spaces.""" + app = Application('test_set_route_space') + + def handler(req, id): + return 'ok' + + with pytest.raises(ValueError) as exc_info: + app.set_route('/api/< id:int>', handler, METHOD_GET) + + assert 'Invalid route definition' in str(exc_info.value) + assert 'must not contain spaces' in str(exc_info.value) + + +def test_route_with_no_filter_and_angle_brackets(): + """Test that routes without filters but with <> in path work.""" + app = Application('test_no_filter') + + @app.route('/api/') + def handler(req, id): + return 'ok' + + # Route with but no filter should work + assert len(app.regular_routes) > 0 + + +def test_custom_filter_no_spaces(): + """Test that custom filters work without spaces.""" + app = Application('test_custom_filter') + app.set_filter('custom', r'[a-z]+') + + @app.route('/api/') + def handler(req, value): + return 'ok' + + assert len(app.regular_routes) > 0 + + +def test_custom_filter_with_space_rejection(): + """Test that custom filters reject spaces.""" + app = Application('test_custom_filter_space') + app.set_filter('custom', r'[a-z]+') + + with pytest.raises(ValueError) as exc_info: + @app.route('/api/') + def handler(req, value): + return 'ok' + + assert 'Invalid route definition' in str(exc_info.value) + + +def test_re_filter_no_spaces(): + """Test that :re: filter works without spaces.""" + app = Application('test_re_filter') + + @app.route('/api/') + def handler(req, value): + return 'ok' + + assert len(app.regular_routes) > 0 + + +def test_re_filter_with_space_rejection(): + """Test that :re: filter rejects spaces before >.""" + app = Application('test_re_filter_space') + + with pytest.raises(ValueError) as exc_info: + @app.route('/api/') + def handler(req, value): + return 'ok' + + assert 'Invalid route definition' in str(exc_info.value) From 03624fd8372a9f43ef22cc60e8175d03c5b83f6b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 7 Jan 2026 13:25:46 +0000 Subject: [PATCH 4/5] Fix linting issues and improve test quality Co-authored-by: ondratu <6469029+ondratu@users.noreply.github.com> --- poorwsgi/wsgi.py | 5 +- tests/test_route_validation.py | 125 ++++++++++++++------------------- 2 files changed, 54 insertions(+), 76 deletions(-) diff --git a/poorwsgi/wsgi.py b/poorwsgi/wsgi.py index 4c6f68c..0c18af3 100644 --- a/poorwsgi/wsgi.py +++ b/poorwsgi/wsgi.py @@ -797,13 +797,14 @@ def set_route(self, uri: str, fun: Callable, """ # Check for invalid spaces in route filter definitions if re_invalid_filter.search(uri): - raise ValueError( + msg = ( f"Invalid route definition '{uri}': " "Route filter definitions must not contain spaces. " "Use '' format without any spaces. " "Examples: '', '', ''" ) - + raise ValueError(msg) + if re_filter.search(uri): r_uri = re_filter.sub(self.__regex, uri) + '$' converters = tuple((g[0], self.__converter(g[1])) diff --git a/tests/test_route_validation.py b/tests/test_route_validation.py index f8646a9..56ddf1d 100644 --- a/tests/test_route_validation.py +++ b/tests/test_route_validation.py @@ -8,22 +8,22 @@ def test_valid_route_no_filter(): """Test that routes without filters work correctly.""" app = Application('test_valid_no_filter') - + @app.route('/api/users') def handler(req): return 'ok' - + assert '/api/users' in app.routes def test_valid_route_with_int_filter(): """Test that routes with :int filter work correctly.""" app = Application('test_valid_int') - + @app.route('/api/users/') - def handler(req, id): + def handler(req, id): # noqa: A002 return 'ok' - + # Route with filter should be in regular_routes assert len(app.regular_routes) > 0 @@ -31,133 +31,117 @@ def handler(req, id): def test_valid_route_with_word_filter(): """Test that routes with :word filter work correctly.""" app = Application('test_valid_word') - + @app.route('/api/users/') def handler(req, name): return 'ok' - + assert len(app.regular_routes) > 0 def test_valid_route_with_float_filter(): """Test that routes with :float filter work correctly.""" app = Application('test_valid_float') - + @app.route('/api/values/') def handler(req, value): return 'ok' - + assert len(app.regular_routes) > 0 def test_valid_route_with_uuid_filter(): """Test that routes with :uuid filter work correctly.""" app = Application('test_valid_uuid') - + @app.route('/api/objects/') - def handler(req, id): + def handler(req, id): # noqa: A002 return 'ok' - + assert len(app.regular_routes) > 0 def test_valid_route_with_hex_filter(): """Test that routes with :hex filter work correctly.""" app = Application('test_valid_hex') - + @app.route('/api/codes/') def handler(req, code): return 'ok' - + assert len(app.regular_routes) > 0 def test_valid_route_with_multiple_filters(): """Test that routes with multiple filters work correctly.""" app = Application('test_valid_multiple') - + @app.route('/api//') - def handler(req, entity, id): + def handler(req, entity, id): # noqa: A002 return 'ok' - + assert len(app.regular_routes) > 0 def test_invalid_route_space_after_open_bracket(): """Test that space after < is rejected.""" app = Application('test_invalid_space_after_open') - - with pytest.raises(ValueError) as exc_info: + + with pytest.raises(ValueError, match=r'Invalid route definition.*must not contain spaces'): @app.route('/api/< id:int>') - def handler(req, id): + def handler(req, id): # noqa: A002 return 'ok' - - assert 'Invalid route definition' in str(exc_info.value) - assert 'must not contain spaces' in str(exc_info.value) - assert '/api/< id:int>' in str(exc_info.value) def test_invalid_route_space_before_close_bracket(): """Test that space before > is rejected.""" app = Application('test_invalid_space_before_close') - - with pytest.raises(ValueError) as exc_info: + + with pytest.raises(ValueError, match='Invalid route definition'): @app.route('/api/') - def handler(req, id): + def handler(req, id): # noqa: A002 return 'ok' - - assert 'Invalid route definition' in str(exc_info.value) - assert 'must not contain spaces' in str(exc_info.value) def test_invalid_route_space_after_name(): """Test that space after parameter name is rejected.""" app = Application('test_invalid_space_after_name') - - with pytest.raises(ValueError) as exc_info: + + with pytest.raises(ValueError, match='Invalid route definition'): @app.route('/api/') - def handler(req, id): + def handler(req, id): # noqa: A002 return 'ok' - - assert 'Invalid route definition' in str(exc_info.value) - assert 'must not contain spaces' in str(exc_info.value) def test_invalid_route_space_after_colon(): """Test that space after : is rejected.""" app = Application('test_invalid_space_after_colon') - - with pytest.raises(ValueError) as exc_info: + + with pytest.raises(ValueError, match='Invalid route definition'): @app.route('/api/') - def handler(req, id): + def handler(req, id): # noqa: A002 return 'ok' - - assert 'Invalid route definition' in str(exc_info.value) - assert 'must not contain spaces' in str(exc_info.value) def test_invalid_route_multiple_spaces(): """Test that multiple spaces are rejected.""" app = Application('test_invalid_multiple_spaces') - - with pytest.raises(ValueError) as exc_info: + + with pytest.raises(ValueError, match='Invalid route definition'): @app.route('/api/< id : int >') - def handler(req, id): + def handler(req, id): # noqa: A002 return 'ok' - - assert 'Invalid route definition' in str(exc_info.value) - assert 'must not contain spaces' in str(exc_info.value) def test_error_message_provides_examples(): """Test that error message includes helpful examples.""" app = Application('test_error_message') - - with pytest.raises(ValueError) as exc_info: + + with pytest.raises(ValueError, match='Invalid route definition') as exc_info: @app.route('/api/') - def handler(req, id): + def handler(req, id): # noqa: A002 return 'ok' - + error_message = str(exc_info.value) assert '' in error_message assert '' in error_message @@ -167,25 +151,22 @@ def handler(req, id): def test_set_route_with_space_rejection(): """Test that set_route method also rejects spaces.""" app = Application('test_set_route_space') - - def handler(req, id): + + def handler(req, id): # noqa: A002 return 'ok' - - with pytest.raises(ValueError) as exc_info: + + with pytest.raises(ValueError, match='Invalid route definition'): app.set_route('/api/< id:int>', handler, METHOD_GET) - - assert 'Invalid route definition' in str(exc_info.value) - assert 'must not contain spaces' in str(exc_info.value) def test_route_with_no_filter_and_angle_brackets(): """Test that routes without filters but with <> in path work.""" app = Application('test_no_filter') - + @app.route('/api/') - def handler(req, id): + def handler(req, id): # noqa: A002 return 'ok' - + # Route with but no filter should work assert len(app.regular_routes) > 0 @@ -194,11 +175,11 @@ def test_custom_filter_no_spaces(): """Test that custom filters work without spaces.""" app = Application('test_custom_filter') app.set_filter('custom', r'[a-z]+') - + @app.route('/api/') def handler(req, value): return 'ok' - + assert len(app.regular_routes) > 0 @@ -206,33 +187,29 @@ def test_custom_filter_with_space_rejection(): """Test that custom filters reject spaces.""" app = Application('test_custom_filter_space') app.set_filter('custom', r'[a-z]+') - - with pytest.raises(ValueError) as exc_info: + + with pytest.raises(ValueError, match='Invalid route definition'): @app.route('/api/') def handler(req, value): return 'ok' - - assert 'Invalid route definition' in str(exc_info.value) def test_re_filter_no_spaces(): """Test that :re: filter works without spaces.""" app = Application('test_re_filter') - + @app.route('/api/') def handler(req, value): return 'ok' - + assert len(app.regular_routes) > 0 def test_re_filter_with_space_rejection(): """Test that :re: filter rejects spaces before >.""" app = Application('test_re_filter_space') - - with pytest.raises(ValueError) as exc_info: + + with pytest.raises(ValueError, match='Invalid route definition'): @app.route('/api/') def handler(req, value): return 'ok' - - assert 'Invalid route definition' in str(exc_info.value) From 3696107274c5f45081b79d9225179d98d4e6c98a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 7 Jan 2026 13:27:52 +0000 Subject: [PATCH 5/5] Add clarifying comment for regex pattern Co-authored-by: ondratu <6469029+ondratu@users.noreply.github.com> --- poorwsgi/wsgi.py | 1 + 1 file changed, 1 insertion(+) diff --git a/poorwsgi/wsgi.py b/poorwsgi/wsgi.py index 0c18af3..7383bcd 100644 --- a/poorwsgi/wsgi.py +++ b/poorwsgi/wsgi.py @@ -34,6 +34,7 @@ re_filter = re.compile(r'<(\w+)(:[^>]+)?>') # check for invalid route definitions with spaces +# Matches: <{space}name, , re_invalid_filter = re.compile(r'<\s+\w+|<\w+\s+[:|>]|<\w+:\s+\w+|<\w+:[^>]+\s+>') # Supported authorization algorithms