def test_default_needs_fresh_token_callback(self):
        with self.app.test_request_context():
            m = JWTManager(self.app)
            result = m._needs_fresh_token_callback()
            status_code, data = self._parse_callback_result(result)

            self.assertEqual(status_code, 401)
            self.assertEqual(data, {'msg': 'Fresh token required'})
    def test_custom_needs_fresh_token_callback(self):
        with self.app.test_request_context():
            m = JWTManager(self.app)

            @m.needs_fresh_token_loader
            def custom_token_needs_refresh():
                return jsonify({'sub_status': 101}), 200

            result = m._needs_fresh_token_callback()
            status_code, data = self._parse_callback_result(result)

            self.assertEqual(status_code, 200)
            self.assertEqual(data, {'sub_status': 101})