小编shr*_*ddd的帖子

node.js的用户身份验证库?

node.js是否有任何现有的用户身份验证库?特别是我正在寻找可以为用户进行密码身份验证的东西(使用自定义后端身份验证数据库),并将该用户与会话相关联.

在我写一个auth库之前,我想我会看看人们是否知道现有的库.通过谷歌搜索找不到任何明显的东西.

-Shreyas

authentication serverside-javascript node.js

272
推荐指数
6
解决办法
10万
查看次数

如何在Python Django中运行单元测试时禁用日志记录?

我正在使用一个简单的基于单元测试的测试运行器来测试我的Django应用程序.

我的应用程序本身配置为使用settings.py中的基本记录器:

logging.basicConfig(level=logging.DEBUG)
Run Code Online (Sandbox Code Playgroud)

在我的应用程序代码中使用:

logger = logging.getLogger(__name__)
logger.setLevel(getattr(settings, 'LOG_LEVEL', logging.DEBUG))
Run Code Online (Sandbox Code Playgroud)

但是,在运行单元测试时,我想禁用日志记录,以免它使我的测试结果输出混乱.是否有一种简单的方法可以以全局方式关闭日志记录,以便特定于应用程序的记录器在运行测试时不会将内容写入控制台?

python django logging unit-testing

160
推荐指数
7
解决办法
4万
查看次数

使用python mock模拟函数

我正在尝试使用python模块模块(http://www.voidspace.org.uk/python/mock/index.html)模拟一个函数(返回一些外部内容).

我在模拟导入模块的函数时遇到了一些麻烦.

例如,在util.py中我有

def get_content():
  return "stuff"
Run Code Online (Sandbox Code Playgroud)

我想模拟util.get_content,以便返回其他内容.

我在尝试这个:

util.get_content=Mock(return_value="mocked stuff")
Run Code Online (Sandbox Code Playgroud)

如果get_content在另一个模块中调用它,它实际上似乎永远不会返回模拟对象.我是否错过了如何使用模拟的东西?

请注意,如果我调用以下内容,则可以正常工作:

>>> util.get_content=Mock(return_value="mocked stuff")
>>> util.get_content()
"mocked stuff"
Run Code Online (Sandbox Code Playgroud)

但是,如果从另一个模块内部调用get_content,它将调用原始函数而不是模拟版本:

>>> from mymodule import MyObj
>>> util.get_content=Mock(return_value="mocked stuff")
>>> m=MyObj()
>>> m.func()
"stuff"
Run Code Online (Sandbox Code Playgroud)

mymodule.py的内容

from util import get_content

class MyObj:    
    def func():
        get_content()
Run Code Online (Sandbox Code Playgroud)

所以我想我的问题是 - 如何从我调用的模块中调用Mocked版本的函数?

这似乎from module import function可能是责备,因为它没有指向Mocked函数.

python unit-testing mocking

60
推荐指数
4
解决办法
5万
查看次数

全球在django测试框架中设置?

是否有某种方法(使用标准的Django.test.TestCase框架)执行某些变量的全局初始化,因此它只发生一次.

放置setUp()使得变量在每次测试之前被初始化,这在设置涉及昂贵的操作时会导致性能下降.我想运行一次安装类型功能,然后在这里初始化的变量对我的所有测试都可见.

我不想重写测试运行器框架.

我正在考虑类似于Ruby/RSpec世界中的before(:all)之类的东西.

-S

python testing django

12
推荐指数
1
解决办法
2431
查看次数

我可以在python中为tempfile.NamedTemporaryFile设置umask吗?

在Python中(在2.7及以下版本中尝试过),它看起来像使用的文件tempfile.NamedTemporaryFile似乎不遵守umask指令:

import os, tempfile
os.umask(022)
f1 = open ("goodfile", "w")
f2 = tempfile.NamedTemporaryFile(dir='.')
f2.name

Out[33]: '/Users/foo/tmp4zK9Fe'

ls -l
-rw-------  1 foo  foo  0 May 10 13:29 /Users/foo/tmp4zK9Fe
-rw-r--r--  1 foo  foo  0 May 10 13:28 /Users/foo/goodfile
Run Code Online (Sandbox Code Playgroud)

知道为什么NamedTemporaryFile不拿起umask吗?在文件创建过程中有没有办法做到这一点?

我总是可以使用os.chmod()来解决这个问题,但是我希望在文件创建过程中做出正确的事情.

python permissions file

10
推荐指数
2
解决办法
4154
查看次数

如何在Django中内省属性和模型字段?

我试图获取给定对象的所有现有模型字段和属性的列表.是否有一种干净的方式来检查对象,以便我可以获得字段和属性的字典.

class MyModel(Model)
    url = models.TextField()

    def _get_location(self):
        return "%s/jobs/%d"%(url, self.id)

    location = property(_get_location)
Run Code Online (Sandbox Code Playgroud)

我想要的是返回一个如下所示的字典:

{
  'id' : 1,
  'url':'http://foo',
  'location' : 'http://foo/jobs/1'
}   
Run Code Online (Sandbox Code Playgroud)

我可以model._meta.fields用来获取模型字段,但这不会给我属性但不是真正的DB字段.

python django models

8
推荐指数
1
解决办法
6999
查看次数

如何在Ruby中设置SSLContext选项

我需要创建一个SSLSocketRuby 1.8+来与加密服务进行通信.我想在SSLContext对象上设置SSL选项(它最终SSL_CTX_set_options在底层的OpenSSL库中调用).我没有看到任何明显的方法来做到这一点.

这是使用OpenSSL::SSL::SSLContext界面.

作为参考,这类似于调用set_options()Python的pyOpenSSL库.

ruby ssl openssl

6
推荐指数
1
解决办法
2379
查看次数

如何防止mod_wsgi django应用程序重复加载?

我的mod_wsgi django应用程序似乎一直在为客户端发出的前几个请求重新加载。这是我的表现

在足够的请求之后,它似乎会稳定下来,并且似乎不再需要重新加载该应用程序。关于为什么发生这种情况以及如何预防的任何想法?

(我在httpd.conf中有以下内容:MaxRequestsPerChild 0就是这样)

python apache django mod-wsgi

4
推荐指数
1
解决办法
431
查看次数