Как протестировать пользовательское промежуточное ПО в django?

class VersionCheckMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):

        meta = request.META
        client_data = VersionChecks.get_meta_info(meta)

        client = client_data.get('client')

        backward_compatibility = {}

        last_compatible_pwa_version = backward_compatibility.get('last_supported_pwa_version', 823)

        if client == APP_TYPES.consumer_web:
            pwa_version = int(client_data.get('client_version', 0))
            native_version = int(client_data.get('platform_version', 0))
            if pwa_version < last_compatible_pwa_version:
                return JsonResponse(UNSUPPORTED_APP_VERSION, status=400)
       
        response = self.get_response(request)
        return response

Я написал это пользовательское промежуточное ПО, как я могу протестировать его? Вот мой тестовый код

class TestVersionCheckMiddleware(unittest.TestCase):

    @patch('misc.middlewares.version_check_middleware.VersionCheckMiddleware')
    def test_init(self, version_check_middleware_mock):
        vcm = VersionCheckMiddleware('response')
        assert vcm.get_response == 'response'

    def test_version_check_middleware(self):
        mock_request = Mock()
        mock_request.META = {
            "HTTP_X_APP_CLIENT": 21,
            "HTTP_X_APP_PLATFORM": 21,
            "HTTP_X_APP_PLATFORM_VERSION": 23,
            "HTTP_X_APP_VERSION": 32,
            "app_version": 323,
        }
        vcm_middleware_response = VersionCheckMiddleware()
        assert vcm_middleware_response.get_response == (UNSUPPORTED_APP_VERSION, 400)


Этот тестовый пример не вызывает промежуточное ПО, как я могу правильно протестировать это промежуточное ПО? Любые ресурсы о том, как я могу решить эту проблему, пожалуйста, поделитесь ими тоже

Вернуться на верх