python django实例_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程序设计有所帮助。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值