diff --git a/api/Dockerfile b/api/Dockerfile index fadb56169..ec4e4568c 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:bullseye +FROM debian:trixie ENV PYTHONUNBUFFERED 1 ENV PYTHONPATH /app/ ENV DEBIAN_FRONTEND noninteractive diff --git a/api/build_runner.sh b/api/build_runner.sh index 1cc58c7fb..b8637e619 100755 --- a/api/build_runner.sh +++ b/api/build_runner.sh @@ -7,7 +7,7 @@ set -eu export DEBIAN_FRONTEND=noninteractive -echo 'deb http://deb.debian.org/debian bullseye-backports main' \ +echo 'deb http://deb.debian.org/debian trixie-backports main' \ > /etc/apt/sources.list.d/backports.list # Install ca-certificates and gnupg first diff --git a/api/ooniapi/app.py b/api/ooniapi/app.py index be72ff764..67105c431 100644 --- a/api/ooniapi/app.py +++ b/api/ooniapi/app.py @@ -3,11 +3,12 @@ import datetime import logging import os +import json import re import sys from collections import deque -from flask import Flask, json +from flask import Flask from flask_cors import CORS # debdeps: python3-flask-cors @@ -32,7 +33,7 @@ APP_DIR = os.path.dirname(__file__) -class FlaskJSONEncoder(json.JSONEncoder): +class JSONEncoderWithDates(json.JSONEncoder): # Special JSON encoder that handles dates def default(self, o): if isinstance(o, datetime.datetime): @@ -176,7 +177,7 @@ def create_app(*args, testmode=False, **kw): from ooniapi import views app = Flask(__name__) - app.json_encoder = FlaskJSONEncoder + app.json_encoder = JSONEncoderWithDates # Order matters init_app(app, testmode=testmode) diff --git a/api/ooniapi/database.py b/api/ooniapi/database.py index 7af933923..d5250a271 100644 --- a/api/ooniapi/database.py +++ b/api/ooniapi/database.py @@ -6,7 +6,7 @@ from flask import current_app from sqlalchemy.dialects import postgresql -from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import declarative_base from sqlalchemy.sql.elements import TextClause from sqlalchemy.sql.selectable import Select diff --git a/api/tests/conftest.py b/api/tests/conftest.py index d0e70a701..2cc59f5f4 100644 --- a/api/tests/conftest.py +++ b/api/tests/conftest.py @@ -28,7 +28,7 @@ def app(): return app -@pytest.yield_fixture +@pytest.fixture def client(app): """ Overriding the `client` fixture from pytest_flask to fix this bug: @@ -37,12 +37,13 @@ def client(app): with app.test_client() as client: yield client - while True: - top = flask._request_ctx_stack.top - if top is not None and top.preserved: - top.pop() - else: - break + # deprecated name _request_ctx_stack and marked as not a bug on issue #42 + #while True: + # top = flask._request_ctx_stack.top + # if top is not None and top.preserved: + # top.pop() + # else: + # break @pytest.fixture(autouse=True)