我正在开发一个Flask应用程序,并使用Flask-security进行用户身份验证(其又使用Flask-login在下面).

我有一个需要身份验证的路由,/ user.我正在尝试编写一个单元测试,测试一下,对于经过身份验证的用户,这将返回相应的响应.

在我的单元测试中,我正在创建一个用户,并以该用户身份登录:

from unittest import TestCase

from app import app,db

from models import User

from flask_security.utils import login_user

class UserTest(TestCase):

def setUp(self):

self.app = app

self.client = self.app.test_client()

self._ctx = self.app.test_request_context()

self._ctx.push()

db.create_all()

def tearDown(self):

if self._ctx is not None:

self._ctx.pop()

db.session.remove()

db.drop_all()

def test_user_authentication():

# (the test case is within a test request context)

user = User(active=True)

db.session.add(user)

db.session.commit()

login_user(user)

# current_user here is the user

print(current_user)

# current_user within this request is an anonymous user

r = test_client.get('/user')

在测试中,current_user返回正确的用户.但是,请求的视图总是返回一个AnonymousUser作为current_user.

/用户路由定义为:

class CurrentUser(Resource):

def get(self):

return current_user # returns an AnonymousUser

我相当确定我只是不完全了解如何测试Flask请求上下文.我读过这个Flask Request Context documentation一堆,但是我仍然不了解如何处理这个特定的单元测试.

python登录验证程序_python – 测试Flask登录和身份验证?相关推荐

  1. python登录验证程序_Python模拟用户登录验证

    本文实例为大家分享了Python模拟用户登录验证的具体代码,供大家参考,具体内容如下 1.功能简介 此程序模拟用户登录验证的过程,实现用户名输入.黑名单检测.用户有效性判别.密码输入及验证等.用户在3 ...

  2. python编写一个登陆验证程序_Python实现简单登录验证详解

    本文实例为大家分享了简单的Python登录验证,供大家参考,具体内容如下 编写登录接口 要求:1.输入用户名密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 #coding=utf-8 __aut ...

  3. 登录工程:传统 Web 应用中的身份验证技术

    标题中 "传统 Web 应用" 这一说法也并没有什么官方定义,只是为了与"现代化 Web 应用"形成比较而自拟的一个概念.所谓现代化 Web 应用指的是那些基于 ...

  4. mpvue小程序实现人脸识别/视频录制/身份验证/CryptoJS加密 等功能

    mpvue小程序实现人脸识别/视频录制/身份验证/CryptoJS加密 等功能 先看效果图 mpvue小程序与数据宝对接实现人脸识别/视频录制/身份验证/CryptoJS 加密 等功能关键代码 ind ...

  5. 计算机安全用户身份验证,Windows 10 (网络安全 LAN 管理器身份验证) - Windows security | Microsoft Docs...

    网络安全: LAN 管理器身份验证级别 04/19/2017 本文内容 适用范围 Windows 10 介绍网络安全的最佳方案.位置.值.策略管理和安全注意事项 :LAN 管理器身份验证级别 安全策略 ...

  6. 两台服务器身份验证,详解三种不同的身份验证协议

    本文最初发布于devever.net网站,经原作者授权由InfoQ中文站翻译并分享. 现在,身份验证协议的数量快赶上应用程序协议,结果,这个领域很容易让人困惑. 最容易把人搞糊涂的是,很少有人注意到这 ...

  7. 解决“连接无法继续,因为未启用身份验证,并且远程计算机需要启用身份验证以进行连接“

    问题如图1: 解决步骤: 1.先用win7自带远程工具mstsc连接到Win10 (或者 服务器Windows Server 2016 )报错. 2.开始-运行-gpedit.msc,进入组策略编辑器 ...

  8. python编写一个登陆验证程序_python项目实战:实现验证码登录网址实例

    前言 相信大家都明白,大多数的网站为了不被恶意访问,往往需要设置验证码登录,避免机器人访问,而造成我服务器瘫痪,崩溃,这里用到Python3,主要用到的包是re urllib.request http ...

  9. python 网站发送验证码_Python爬虫模拟登录带验证码网站

    爬取网站时经常会遇到需要登录的问题,这是就需要用到模拟登录的相关方法.python提供了强大的url库,想做到这个并不难.这里以登录学校教务系统为例,做一个简单的例子. 首先得明白cookie的作用, ...

最新文章

  1. 重写enum的valueof方法等
  2. C Tester Doer Pattern
  3. linux驱动开发的经典书籍
  4. Windows10中Docker的安装与遇到的那些坑
  5. cannot和can not的区别 666666
  6. python如何开启多进程_python如何写多进程
  7. RxJava+Retrofit+MVP+Dagger2
  8. [Java基础]Lambda表达式和匿名内部类的区别
  9. 我前面的杨千雪看图软件
  10. 网络流24题之最长k可重区间集问题
  11. BigInteger类详解
  12. ASP.NET AJAX,WCF,ADO.NET Entity 开发实例
  13. [转]浅析GPU计算——cuda编程
  14. bae java-tomcat_有人在BAE开发过java-tomcat应用吗?数据库老是链接失败
  15. 计算机图像处理入门基础知识——色域,色度图,色彩空间和色彩管理
  16. Interfaces for Music音乐界面——翻译
  17. c语言用麦克风检测环境噪音分贝,IOS 通过麦克风检测声音分贝
  18. Ubuntu 数字小键盘不能用解决方法
  19. fcitx5 使用搜狗皮肤
  20. 关于HF-lpt130A与GoKit2.1(stm32)底版的链接通信(持更...)

热门文章

  1. 在保护继承中基类的共有成员_C++学习刷题13--继承的实现、继承的方式
  2. 计算机网络地址解析协议实验,计算机网络地址解析协议(ARP)实验报告.doc
  3. UI设计灵感|高级黑网页首图就该这样设计
  4. 极简风海报作品合集|过目不忘的海报大片,越看越过瘾
  5. 年底设计师少不了礼品VIP活动设计,高端轻奢感尽显品味
  6. APP设计干货|切图基本知识点规范
  7. 迷失lost结局什么意思_蒙上你的眼结局是什么意思?最后谁活下来了
  8. 设计模式在项目中的应用案例_项目化学习案例(五):菊花种植的秘密——项目化学习在菊种植课程中的应用设计案例...
  9. 实现后台高级查询(基础版)
  10. 系统描述符类型,段描述符类型和段描述符表