小编Kar*_*son的帖子

如何通过试验测试没有错误的Twisted Deferred错误?

我有一些Twisted代码,它创建了多个Deferred链.其中一些可能会失败而没有errback,这会将它们放回回调链.我无法为此代码编写单元测试 - 失败的Deferred导致测试在测试代码完成后失败.如何为此代码编写通过单元测试?是否期望在正常操作中可能失败的每个Deferred应该在链的末尾有一个errback,它将它放回回调链?

当DeferredList中的Deferred失败时,会发生同样的事情,除非我使用consumeErrors创建DeferredList.即使使用fireOnOneErrback创建DeferredList并给出一个将其放回回调链的errback,也是如此.除了抑制测试失败和错误记录之外,是否对consumeErrors有任何影响?如果每个Deferred在没有errback的情况下失败都可以放入DeferredList吗?

示例代码的示例测试:

from twisted.trial import unittest
from twisted.internet import defer

def get_dl(**kwargs):
    "Return a DeferredList with a failure and any kwargs given."
    return defer.DeferredList(
        [defer.succeed(True), defer.fail(ValueError()), defer.succeed(True)],
        **kwargs)

def two_deferreds():
    "Create a failing Deferred, and create and return a succeeding Deferred."
    d = defer.fail(ValueError())
    return defer.succeed(True)


class DeferredChainTest(unittest.TestCase):

    def check_success(self, result):
        "If we're called, we're on the callback chain."        
        self.fail()

    def check_error(self, failure):
        """
        If we're called, we're on the errback chain.
        Return to put us back …
Run Code Online (Sandbox Code Playgroud)

python testing unit-testing twisted

9
推荐指数
1
解决办法
3950
查看次数

OpenID OAuth扩展优于OAuth有什么优势?

为什么使用建议的OpenID OAuth扩展而不是另一个基于OAuth的协议?

发现似乎不是一个功能.尽管消费者仅需要声明的标识符来启动认证过程,但任何授权仍将要求消费者知道访问令牌URL,签名方法,并且与提供者具有共享密钥/秘密.

一个好处是有一种特定的授权方式,即认证请求的openid.oauth.scope参数.对此的一个具体好处是,仅为了消费者的利益而没有可验证令牌的认证是免费定义的,并且可以执行而无需担心跟踪未完成的令牌或他们可能需要的资源.

是否有使用替代方法的示例来指定要请求的范围,可能还有OpenID发现中的某些内容?或者,可以在OAuth流程之前使用某种REST导航有效地处理这种情况,其中通过从众所周知的URL开始解释超文本来发现特定于所需范围的多个请求令牌URL之一?

我正在研究具有多个授权范围的委托身份验证和授权系统,其中范围与不同的交互相关.换句话说,消费者需要告知提供者应该向用户呈现哪些范围以进行授权.

openid authentication oauth

3
推荐指数
1
解决办法
1205
查看次数

标签 统计

authentication ×1

oauth ×1

openid ×1

python ×1

testing ×1

twisted ×1

unit-testing ×1