def afterSetUp(self): super(JsonClientTestCase, self).afterSetUp() register_layer(IPMR2JsonClientTestLayer, 'pmr2.jsonclient.tests') request = TestRequest() # Ensure that the most basic scope managers are being used. cmf = factory(ConsumerManager) tmf = factory(TokenManager) smf = factory(MockScopeManager) zope.component.provideAdapter(cmf, ( IAnnotatable, IPMR2JsonClientTestLayer, ), IConsumerManager) zope.component.provideAdapter(tmf, ( IAnnotatable, IPMR2JsonClientTestLayer, ), ITokenManager) zope.component.provideAdapter(smf, ( IAnnotatable, IPMR2JsonClientTestLayer, ), IScopeManager) # assuming none of these are overridden. self.consumer = Consumer('test.example.com', 'consumer-secret', u'PMR2 Test JSON Client', None) cm = zope.component.getMultiAdapter((self.portal, request), IConsumerManager) cm.add(self.consumer) token = Token('pmr2token', 'token-secret') token.access = True token.consumer_key = self.consumer.key token.user = default_user self.token = token tm = zope.component.getMultiAdapter((self.portal, request), ITokenManager) tm.add(self.token) # XXX especially this one. sm = zope.component.getMultiAdapter((self.portal, request), IScopeManager) sm.permitted = '^.*$' # permit everything. b = Browser() portal_url = self.portal.absolute_url() b.open(portal_url + '/login') b.getControl(name='__ac_name').value = default_user b.getControl(name='__ac_password').value = default_password b.getControl(name='submit').click() self.user_browser = b
def afterSetUp(self): super(JsonClientTestCase, self).afterSetUp() register_layer(IPMR2JsonClientTestLayer, "pmr2.jsonclient.tests") request = TestRequest() # Ensure that the most basic scope managers are being used. cmf = factory(ConsumerManager) tmf = factory(TokenManager) smf = factory(MockScopeManager) zope.component.provideAdapter(cmf, (IAnnotatable, IPMR2JsonClientTestLayer), IConsumerManager) zope.component.provideAdapter(tmf, (IAnnotatable, IPMR2JsonClientTestLayer), ITokenManager) zope.component.provideAdapter(smf, (IAnnotatable, IPMR2JsonClientTestLayer), IScopeManager) # assuming none of these are overridden. self.consumer = Consumer("test.example.com", "consumer-secret", u"PMR2 Test JSON Client", None) cm = zope.component.getMultiAdapter((self.portal, request), IConsumerManager) cm.add(self.consumer) token = Token("pmr2token", "token-secret") token.access = True token.consumer_key = self.consumer.key token.user = default_user self.token = token tm = zope.component.getMultiAdapter((self.portal, request), ITokenManager) tm.add(self.token) # XXX especially this one. sm = zope.component.getMultiAdapter((self.portal, request), IScopeManager) sm.permitted = "^.*$" # permit everything. b = Browser() portal_url = self.portal.absolute_url() b.open(portal_url + "/login") b.getControl(name="__ac_name").value = default_user b.getControl(name="__ac_password").value = default_password b.getControl(name="submit").click() self.user_browser = b
def getValidated(self, consumer_key, default=None): # Provision for further checks by alternative implementations. return self.get(consumer_key, default) def getAllKeys(self): return self._consumers.keys() def makeDummy(self): return Consumer(str(self.DUMMY_KEY), str(self.DUMMY_SECRET)) def remove(self, consumer): if IConsumer.providedBy(consumer): consumer = consumer.key self._consumers.pop(consumer) ConsumerManagerFactory = factory(ConsumerManager) class Consumer(Persistent): """\ Basic persistent consumer class. """ zope.interface.implements(IConsumer) key = fieldproperty.FieldProperty(IConsumer['key']) secret = fieldproperty.FieldProperty(IConsumer['secret']) title = fieldproperty.FieldProperty(IConsumer['title']) domain = fieldproperty.FieldProperty(IConsumer['domain']) def __init__(self, key, secret, title=None, domain=None):
self._del_user_map(token) return token def requestTokenVerify(self, consumer_key, token, verifier): """\ Verify that the request results in a valid token by checking for validity of the consumer_key and verifier. """ token = self.getRequestToken(token) return (token.consumer_key == consumer_key and token.verifier == verifier and token.user is not None ) TokenManagerFactory = factory(TokenManager) class Token(Persistent): zope.interface.implements(IToken) key = fieldproperty.FieldProperty(IToken['key']) secret = fieldproperty.FieldProperty(IToken['secret']) callback = fieldproperty.FieldProperty(IToken['callback']) verifier = fieldproperty.FieldProperty(IToken['verifier']) access = fieldproperty.FieldProperty(IToken['access']) user = fieldproperty.FieldProperty(IToken['user']) consumer_key = fieldproperty.FieldProperty(IToken['consumer_key']) timestamp = fieldproperty.FieldProperty(IToken['timestamp'])
for vs in valid_scopes: # XXX ignores second last asterisk, preventing validation # against items that have an asterisk in its name for # whatever reason... if vs.endswith('*') and '/' in vs: match = subpath.startswith(vs[:vs.rindex('*')]) else: match = subpath == vs if match: logger.debug('subpath:%s within scope', subpath) return True logger.debug('out of scope: %s not a subpath in mapping for %s', subpath, accessed_type) return False ContentTypeScopeManagerFactory = factory(ContentTypeScopeManager) class ContentTypeScopeProfile(Persistent): """ The one for editing purpose. Allows definition of names and fields related to the user side creation and usage of mappings. """ zope.interface.implements(IContentTypeScopeProfile) title = fieldproperty.FieldProperty( IContentTypeScopeProfile['title']) description = fieldproperty.FieldProperty( IContentTypeScopeProfile['description']) methods = fieldproperty.FieldProperty(IContentTypeScopeProfile['methods'])