Python中DJANGO简单测试实例
作者:蛇小狼 发布时间:2022-09-09 16:36:53
标签:Python,DJANGO
本文实例讲述了Python中DJANGO简单测试的用法。分享给大家供大家参考。具体如下:
这里以facebook台湾的测试版为例。
仅仅测试用户登录,主要说明测试的使用和django环境的设置。
代码如下:
import os
import sys
import unittest
import hashlib
TEST_MEMBER_ID = 11
SNS_ID = 100002309745702
TEST_SESSION_KEY = '125737724171219|2.AQCp7ctCYXJh4ooW.3600.1310022000.1-100002309745702|qj4000WhhKWGtApOI0icEpzSyZ8' # Need to get from sns platform
SIGNED_REQUEST = 'hoIhyhOT7rLoOaxlJwDoGYIv6-qZizL3q9mbVJkJQJA.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImV4cGlyZXMiOjEzMTAwMjIwMDAsImlzc3VlZF9hdCI6MTMxMDAxNzg5MCwib2F1dGhfdG9rZW4iOiIxMjU3Mzc3MjQxNzEyMTl8Mi5BUUNwN2N0Q1lYSmg0b29XLjM2MDAuMTMxMDAyMjAwMC4xLTEwMDAwMjMwOTc0NTcwMnxxajQwMDBXaGhLV0d0QXBPSTBpY0VwelN5WjgiLCJ1c2VyIjp7ImNvdW50cnkiOiJ1cyIsImxvY2FsZSI6ImVuX1VTIiwiYWdlIjp7Im1pbiI6MjF9fSwidXNlcl9pZCI6IjEwMDAwMjMwOTc0NTcwMiJ9'
class LoginTestCase(unittest.TestCase):
def setUp(self):
# Set up django environment
pathname = os.path.dirname(sys.argv[0])
sys.path.append(os.path.abspath(pathname))
sys.path.append(os.path.normpath(os.path.join(os.path.abspath(pathname), '../')))
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
from django.http import HttpRequest
self.request = HttpRequest()
from django.contrib.sessions.backends.cache import SessionStore
self.request.session = SessionStore()
self.request.session[hashlib.md5(TEST_SESSION_KEY).hexdigest()] = TEST_MEMBER_ID
self.request.session.save()
self.request.POST = {'signed_request':SIGNED_REQUEST}
def tearDown(self):
pass
def testloginFromWeb(self):
# login without session key
from django.conf import settings
from platforms.login.login_facebook_tw import login_from_web
res = login_from_web(self.request)
self.assertEqual(res.status_code, 200)
self.assertEqual(res.items(), [('Content-Type', 'text/html; charset=utf-8')])
self.assertTrue(settings.SNS_URL in res.content)
self.assertTrue(settings.MEDIA_URL in res.content)
# Check member
from apps.members.models import Member
from apps.members.helper import login_sns_user
member = login_sns_user(self.request, TEST_SESSION_KEY)
member_db = Member.objects.get(id=TEST_MEMBER_ID)
self.assertEqual(member, member_db)
if __name__ == '__main__':
unittest.main()
其他可以类推。
希望本文所述对大家的Python程序设计有所帮助。


猜你喜欢
- 前言本文记录了笔者摸索图数据库过程中遇到的问题、一些思考(闲谈)与实现思路。做此记录的目的是沉淀经验、完善巩固知识体系,同时以此为始,培养撰
- 本文实例讲述了Sanic框架蓝图用法。分享给大家供大家参考,具体如下:蓝图是可以用于应用程序内子路由的对象。蓝图并未向应用程序内添加路由,而
- 推荐阅读:JS iFrame加载慢怎么解决在项目中经常要动态添加iframe,然后再对添加的iframe进行相关操作,而往往iframe还没
- 今天在mysql官网上下载了mysql-5.7.18-winx64.zip,并解压;然后按https://www.jb51.net/arti
- MySQL 如何从表中取出随机数据 以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩. 他们原来都想用P
- 工具python3.7PycharmExcelpython-docx生成Word案例创建一个demo.doc文档,代码如下:from doc
- Python函数的设计规范1、Python函数设计时具备耦合性和聚合性1)、耦合性:(1).尽可能通过参数接受输入,以及通过return产生
- Python中,列表是可以进行修改的:赋值、删除元素、分片等等。在给列表添加元素时,有两个常见的方法:append和extend。appen
- 基本思路是使用opencv来把随机生成的字符,和随机生成的线段,放到一个随机生成的图像中去。虽然没有加复杂的形态学处理,但是目前看起来效果还
- 一个线上项目报的死锁,简要说明一下产生原因、处理方案和相关的一些点.1、背景这是一个类似数据分析的项目,数据完全通过LOAD DATA语句导
- 这篇文章主要介绍了python实现windows桌面截图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- nn.Module中定义参数:不需要加cuda,可以求导,反向传播class BiFPN(nn.Module): def __i
- MySQL连接查询相信大家都有所了解,连接查询是在数据库查询操作的时候经常用到的,下面就为您介绍MySQL连接查询mysql连接
- ImageEnhance模块提供了一些用于图像增强的类。一、ImageEnhance模块的接口所有的增强类都实现了一个通用的接口,包括一个方
- docutils 的官方工具地址为:https://docutils.sourceforge.io/目前的更新主要是在版本和使用手册的更新上
- 1.简介:facenet 是基于 TensorFlow 的人脸识别开源库,有兴趣的同学可以扒扒源代码:https://github.com/
- 导入 python 库import matplotlib.pyplot as pltimport skimage.io as ioimpor
- 1、列表的创建与遍历与整数和字符串不同,列表要处理一组数据。因此,列表必须通过显式的数据赋值才能生成,简单将一个列表赋值给另一个列表不会生成
- 用Go语言实现登录验证,有3次机会,如果用户名为 zhangsan ,密码为 123456 ,则提示登录成功,否则提示还有几次机会,次数用完
- 写了一段时间java切回写python偶尔会出现一些小麻烦,比如:在java中自定义对象变成json串很简单,调用一个方法就行,但同样的转换