Skip to content

Tests fail with flask==3.1.0 #626

@ancieg

Description

@ancieg

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions