flask-restx icon indicating copy to clipboard operation
flask-restx copied to clipboard

Tests fail with `flask==3.1.0`

Open ancieg opened this issue 1 year ago • 4 comments

Repro Steps

  1. Run test-suite with flask==3.1.0
  2. Broken!

Expected Behavior

Tests pass.

Actual Behavior

Tests fail.

Error Messages/Stack Trace

=================================== FAILURES ===================================
______________ SwaggerTest.test_specs_endpoint_host_and_subdomain ______________

self = <tests.test_swagger.SwaggerTest object at 0x7f604d793770>
app = <Flask 'tests.conftest'>, client = <TestClient <Flask 'tests.conftest'>>

    @pytest.mark.options(server_name="restx.org")
    def test_specs_endpoint_host_and_subdomain(self, app, client):
        blueprint = Blueprint("api", __name__, subdomain="api")
        restx.Api(blueprint)
        app.register_blueprint(blueprint)

>       data = client.get_specs(base_url="http://api.restx.org")

tests/test_swagger.py:182:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/conftest.py:42: in get_specs
    return self.get_json("{0}/swagger.json".format(prefix), status=status, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestClient <Flask 'tests.conftest'>>, url = '/swagger.json'
status = 200, kwargs = {'base_url': 'http://api.restx.org'}
response = <WrapperTestResponse streamed [404 NOT FOUND]>, @py_assert1 = 404
@py_assert3 = False
@py_format5 = '404\n{404 = <WrapperTestResponse streamed [404 NOT FOUND]>.status_code\n} == 200'
@py_format7 = 'assert 404\n{404 = <WrapperTestResponse streamed [404 NOT FOUND]>.status_code\n} == 200'

    def get_json(self, url, status=200, **kwargs):
        response = self.get(url, **kwargs)
>       assert response.status_code == status
E       assert 404 == 200
E        +  where 404 = <WrapperTestResponse streamed [404 NOT FOUND]>.status_code

tests/conftest.py:25: AssertionError

Environment

  • python==3.12.7
  • flask==3.1.0
  • flask-restx==1.3.0
  • pytest-flask==1.3.0

Additional information

The regression encountered just after updating to flask==3.1.0, no other packages updated.

ancieg avatar Nov 15 '24 08:11 ancieg

@ancieg Was the restx library pulled from Github releases or from the public pypi (FYI I raised a query similar to this: https://github.com/python-restx/flask-restx/discussions/627)

rolypolybunz avatar Nov 25 '24 08:11 rolypolybunz

@ancieg Was the restx library pulled from Github releases or from the public pypi (FYI I raised a query similar to this: #627)

From ALT Sisyphus repository: https://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/noarch/RPMS.classic/python3-module-flask-restx-1.3.0-alt1.noarch.rpm

RPM spec-file: https://packages.altlinux.org/en/sisyphus/srpms/python3-module-flask-restx/specfiles/

ancieg avatar Nov 25 '24 08:11 ancieg

This is now fixed in main, will get it released soon.

peter-doggart avatar Nov 29 '24 15:11 peter-doggart

Hi @peter-doggart any plan to release the 1.3.1 version?

rishabhc32 avatar Apr 24 '25 12:04 rishabhc32