本文整理汇总了Python中seecr.test.CallTrace.calledMethodNames方法的典型用法代码示例。如果您正苦于以下问题:Python CallTrace.calledMethodNames方法的具体用法?Python CallTrace.calledMethodNames怎么用?Python CallTrace.calledMethodNames使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类seecr.test.CallTrace
的用法示例。
在下文中一共展示了CallTrace.calledMethodNames方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testShouldUnsetFlagImmediate
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
def testShouldUnsetFlagImmediate(self):
i = [0]
def addTimer(*args, **kwargs):
i[0] = i[0] + 1
return i[0]
reactor = CallTrace('reactor', methods=dict(addTimer=addTimer))
registry = ServiceRegistry(reactor, self.tempdir, domainname="zp.example.org")
observer = CallTrace('observer')
registry.addObserver(observer)
identifier = str(uuid4())
registry.updateService(identifier=identifier, type='plein', ipAddress='127.0.0.1', infoport=1234, data={})
registry = ServiceRegistry(reactor, self.tempdir, domainname="zp.example.org")
flag = READABLE
service = registry.getService(identifier)
registry.setFlag(identifier, flag, True)
self.assertEqual([], reactor.calledMethodNames())
service = registry.getService(identifier)
self.assertFalse(service[flag.name], service)
state = registry.getPrivateStateFor(identifier)
self.assertTrue(state[flag.name], state)
self.assertTrue(state[flag.name + "_goingup"])
registry.setFlag(identifier, flag, False, immediate=True)
self.assertEqual([], reactor.calledMethodNames())
service = registry.getService(identifier)
self.assertFalse(service[flag.name], service)
state = registry.getPrivateStateFor(identifier)
self.assertFalse(state[flag.name], state)
self.assertFalse(flag.name + "_goingup" in state)
示例2: DrilldownQueriesTest
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
class DrilldownQueriesTest(SeecrTestCase):
def setUp(self):
SeecrTestCase.setUp(self)
self.dbdq = DrilldownQueries()
self.observer = CallTrace(methods=dict(executeQuery=mockExecuteQuery))
self.dbdq.addObserver(self.observer)
def testDrilldownQuery(self):
result = retval(self.dbdq.executeQuery(extraArguments={'x-drilldown-query': ['a = b']}))
self.assertEquals('result', result)
self.assertEquals(['executeQuery'], self.observer.calledMethodNames())
executeQueryMethod = self.observer.calledMethods[0]
self.assertEquals([('a', ['b'])], executeQueryMethod.kwargs['drilldownQueries'])
self.observer.calledMethods.reset()
result = retval(self.dbdq.executeQuery(extraArguments={'x-drilldown-query': ['a exact b']}))
self.assertEquals('result', result)
self.assertEquals(['executeQuery'], self.observer.calledMethodNames())
executeQueryMethod = self.observer.calledMethods[0]
self.assertEquals([('a', ['b'])], executeQueryMethod.kwargs['drilldownQueries'])
def testErrorForInvalidFormatDrilldownQuery(self):
try:
retval(self.dbdq.executeQuery(extraArguments={'x-drilldown-query': ['a']}))
self.fail()
except ValueError, e:
self.assertEquals('x-drilldown-query format should be field=value', str(e))
self.assertEquals([], self.observer.calledMethodNames())
示例3: testRewrite
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
def testRewrite(self):
rewrite = MessageRewrite(fromMessage='this_message', toMessage='to_message')
observer = CallTrace(emptyGeneratorMethods=['to_message'])
tree = be((Observable(),
(rewrite,
(observer,),
)
))
consume(tree.all.this_message(aap='noot'))
self.assertEqual(['to_message'], observer.calledMethodNames())
self.assertEqual(dict(aap='noot'), observer.calledMethods[0].kwargs)
observer.calledMethods.reset()
consume(tree.any.this_message(aap='noot'))
self.assertEqual(['to_message'], observer.calledMethodNames())
self.assertEqual(dict(aap='noot'), observer.calledMethods[0].kwargs)
del observer.emptyGeneratorMethods[:]
observer.calledMethods.reset()
tree.call.this_message(aap='noot')
self.assertEqual(['to_message'], observer.calledMethodNames())
self.assertEqual(dict(aap='noot'), observer.calledMethods[0].kwargs)
observer.calledMethods.reset()
tree.do.this_message(aap='noot')
self.assertEqual(['to_message'], observer.calledMethodNames())
self.assertEqual(dict(aap='noot'), observer.calledMethods[0].kwargs)
示例4: OaiPmhDownloadTest
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
class OaiPmhDownloadTest(SeecrTestCase):
def setUp(self):
SeecrTestCase.setUp(self)
self.log = StringIO()
self.oaiListRequest = CallTrace()
self.oaiListRequest.returnValues['create'] = self.oaiListRequest
self.oaiListRequest.returnValues['buildUrl'] = 'http://example.org/oai?verb=ListRequest'
self.oaiBatch = CallTrace()
self.oaiListRequest.returnValues['retrieveBatch'] = self.oaiBatch
self.oaiBatch.request = self.oaiBatch
self.oaiBatch.baseurl = 'http://base.example.org'
self.oaiBatch.resumptionToken = 'continueHere'
self.record = CallTrace()
self.record.identifier = 'identifier'
self.oaiBatch.items = [self.record]
def prepareDownload(self, repositories, **kwargs):
dl = OaiPmhDownload(repositories=repositories, log=self.log, **kwargs)
dl._OaiListRequest = self.oaiListRequest.create
return dl
def testNoRepositories(self):
dl = self.prepareDownload(repositories=[])
dl.downloadBatch({})
self.assertEquals([], self.oaiListRequest.calledMethodNames())
def testOneRepository(self):
repo1 = {
'baseurl': 'http://example.org/oai',
'metadataPrefix': 'prefix',
'repositoryGroupId': 'group'
}
dl = self.prepareDownload(repositories=[repo1])
batch = dl.downloadBatch({})
self.assertEquals(['create', 'buildUrl', 'retrieveBatch'], self.oaiListRequest.calledMethodNames())
self.assertEquals({'baseurl': 'http://example.org/oai', 'metadataPrefix': 'prefix', 'set': None}, self.oaiListRequest.calledMethods[0].kwargs)
self.assertEquals({'repositoriesRemaining': [repo1], 'resumptionToken': 'continueHere'}, batch.resumptionAttributes())
self.assertEquals(["group:identifier"], [r.identifier for r in batch.records])
self.oaiListRequest.calledMethods.reset()
batch = dl.downloadBatch(batch.resumptionAttributes())
self.assertEquals(['create', 'buildUrl', 'retrieveBatch'], self.oaiListRequest.calledMethodNames())
self.assertEquals({'baseurl': 'http://example.org/oai', 'resumptionToken':'continueHere'}, self.oaiListRequest.calledMethods[0].kwargs)
def testOneRepositoryFinishing(self):
self.oaiBatch.resumptionToken = None
repo1 = {
'baseurl': 'http://example.org/oai',
'metadataPrefix': 'prefix',
'repositoryGroupId': 'group'
}
dl = self.prepareDownload(repositories=[repo1])
batch = dl.downloadBatch({})
self.assertEquals({'repositoriesRemaining': [], 'resumptionToken': None}, batch.resumptionAttributes())
self.assertEquals('prefix', batch.metadataPrefix)
示例5: testLogLiveExample
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
def testLogLiveExample(self):
collectedLog = {
'httpRequest': {
'timestamp': [1396596372.708574],
'Headers': [{}],
'Client': [('127.0.0.1', 57075)],
'arguments': [{
'query': ['meta.upload.id exact "NICL:oai:mdms.kenict.org:oai:nicl.nl:k163645"'],
'operation': ['searchRetrieve'],
'version': ['1.2'],
'recordPacking': ['xml'],
'recordSchema': ['smbAggregatedData']
}],
'RequestURI': ['/edurep/sruns?query=meta.upload.id+exact+%22NICL%3Aoai%3Amdms.kenict.org%3Aoai%3Anicl.nl%3Ak163645%22&operation=searchRetrieve&version=1.2&recordPacking=xml&recordSchema=smbAggregatedData'],
'query': ['query=meta.upload.id+exact+%22NICL%3Aoai%3Amdms.kenict.org%3Aoai%3Anicl.nl%3Ak163645%22&operation=searchRetrieve&version=1.2&recordPacking=xml&recordSchema=smbAggregatedData'],
'path': ['/edurep/sruns'],
'Method': ['GET'],
'HTTPVersion': ['1.0']
},
'query-scope': {
'sub-scope': {
'cqlClauses': [2],
'sru': {
'indexTime': [Decimal('0.000')],
'handlingTime': [Decimal('0.004')],
'numberOfRecords': [1],
'queryTime': [Decimal('0.003')],
'arguments': [{
'recordSchema': 'smbAggregatedData',
'version': '1.2',
'recordPacking': 'xml',
'maximumRecords': 10,
'startRecord': 1,
'query': 'meta.upload.id exact "NICL:oai:mdms.kenict.org:oai:nicl.nl:k163645"',
'operation': 'searchRetrieve'
}]
}
}
},
'httpResponse': {
'duration': [0.004216909408569336],
'httpStatus': ['200'],
'size': [1889]
}
}
log = CallTrace('log')
writer = QueryLogWriter(log=log, scopeNames=('query-scope', 'sub-scope'))
log2 = CallTrace('log')
writer2 = QueryLogWriter(log=log2, scopeNames=('query-scope', 'other-scope'))
writer.writeLog(collectedLog)
writer2.writeLog(collectedLog)
self.assertEquals(['log'], log.calledMethodNames())
self.assertEquals([], log2.calledMethodNames())
self.assertEquals(['maximumRecords=10&operation=searchRetrieve&query=meta.upload.id+exact+%22NICL%3Aoai%3Amdms.kenict.org%3Aoai%3Anicl.nl%3Ak163645%22&recordPacking=xml&recordSchema=smbAggregatedData&startRecord=1&version=1.2'], [m.kwargs['queryArguments'] for m in log.calledMethods])
示例6: testPausePausesOnStart
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
def testPausePausesOnStart(self):
# autoStart
reactor = CallTrace('reactor')
pc = PeriodicCall(reactor=reactor, autoStart=False)
pc.observer_init()
self.assertEquals([], reactor.calledMethodNames())
# explicit .pause()
pc = PeriodicCall(reactor=reactor, schedule=Schedule(period=1), autoStart=True)
pc.pause()
pc.observer_init()
self.assertEquals([], reactor.calledMethodNames())
示例7: prepare
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
def prepare():
trace = CallTrace(returnValues={'addTimer': 'timerToken'})
suspend = Suspend(doNext=trace.doNext, timeout=3.14, onTimeout=trace.onTimeout)
suspend(reactor=trace, whenDone=trace.whenDone)
self.assertEquals(['doNext', 'addTimer', 'suspend'], trace.calledMethodNames())
trace.calledMethods.reset()
suspend._timedOut()
self.assertEquals(['onTimeout', 'whenDone'], trace.calledMethodNames())
self.assertEquals(True, suspend._settled)
trace.calledMethods.reset()
return trace, suspend
示例8: OaiSetMaskTest
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
class OaiSetMaskTest(SeecrTestCase):
def setUp(self):
SeecrTestCase.setUp(self)
self.observer = CallTrace()
self.dna = be(
(Observable(),
(OaiSetMask(['set1', 'set2'], name="set1|set2 mask"),
(self.observer,)
)
)
)
def testOaiSelect(self):
self.dna.call.oaiSelect()
self.assertEquals(1, len(self.observer.calledMethods))
self.assertEquals(set(['set1', 'set2']), self.observer.calledMethods[0].kwargs['setsMask'])
def testOaiSelectWithSetsMask(self):
self.dna.call.oaiSelect(setsMask=['set3'])
self.assertEquals(1, len(self.observer.calledMethods))
self.assertEquals(set(['set1', 'set2', 'set3']), self.observer.calledMethods[0].kwargs['setsMask'])
def testGetUniqueInSets(self):
self.observer.returnValues['getRecord'] = MockRecord('id', sets=['set1', 'set2', 'set3'])
self.dna.call.getRecord('xyz')
self.assertEquals(['getRecord'], self.observer.calledMethodNames())
getRecordCall = self.observer.calledMethods[0]
self.assertEquals(('xyz',), getRecordCall.args)
def testGetUniqueNotInSets(self):
self.observer.returnValues['getRecord'] = MockRecord('id', sets=['set1'])
self.dna.call.getRecord('xyz')
self.assertEquals(['getRecord'], self.observer.calledMethodNames())
def testGetUniqueWithSetsMask(self):
self.observer.returnValues['getRecord'] = MockRecord('id', sets=['set1', 'set2', 'set3'])
self.dna.call.getRecord('xyz', setsMask=['set3'])
self.assertEquals(['getRecord'], self.observer.calledMethodNames())
getRecordCall = self.observer.calledMethods[0]
self.assertEquals(('xyz',), getRecordCall.args)
self.observer.calledMethods.reset()
self.observer.returnValues['getRecord'] = MockRecord('id', sets=['set1', 'set2'])
self.dna.call.getRecord('xyz', setsMask=['set3'])
self.assertEquals(['getRecord'], self.observer.calledMethodNames())
def testOtherMethodsArePassed(self):
self.observer.methods['getAllMetadataFormats'] = lambda *a, **kw: (x for x in [])
list(compose(self.dna.all.getAllMetadataFormats()))
self.assertEquals(1, len(self.observer.calledMethods))
self.assertEquals('getAllMetadataFormats', self.observer.calledMethods[0].name)
示例9: CombinePartsTest
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
class CombinePartsTest(SeecrTestCase):
def setUp(self):
SeecrTestCase.setUp(self)
self.combine = CombineParts({'together':['one', 'two']})
self.observer = CallTrace('observer')
self.combine.addObserver(self.observer)
self.observer.methods['getData'] = lambda identifier, name: '<%s/>' % name
def testPassThroughOtherStuff(self):
result = self.combine.getData(identifier='identifier', name='name')
self.assertEquals('<name/>', result)
self.assertEquals(['getData'], self.observer.calledMethodNames())
self.assertEquals([dict(identifier='identifier', name='name')], [m.kwargs for m in self.observer.calledMethods])
def testTogether(self):
result = self.combine.getData(identifier='identifier', name='together')
expected = '<doc:document xmlns:doc="http://meresco.org/namespace/harvester/document"><doc:part name="one"><one/></doc:part><doc:part name="two"><two/></doc:part></doc:document>'
self.assertEquals(expected, result)
self.assertEquals(['getData', 'getData'], self.observer.calledMethodNames())
self.assertEquals([dict(identifier='identifier', name='one'), dict(identifier='identifier', name='two')], [m.kwargs for m in self.observer.calledMethods])
def testTogetherWithOnePartMissingAllowed(self):
self.combine = CombineParts({'together':['one', 'two']}, allowMissingParts=['two'])
self.combine.addObserver(self.observer)
def getData(identifier, name):
if name == 'two':
raise KeyError('two')
return '<%s/>' % name
self.observer.methods['getData'] = getData
result = self.combine.getData(identifier='identifier', name='together')
self.assertEquals('<doc:document xmlns:doc="http://meresco.org/namespace/harvester/document"><doc:part name="one"><one/></doc:part></doc:document>', result)
def testTogetherWithOnePartMissingNotAllowed(self):
def getData(identifier, name):
if name == 'two':
raise KeyError('two')
return '<%s/>' % name
self.observer.methods['getData'] = getData
self.assertRaises(KeyError, lambda: self.combine.getData(identifier='identifier', name='together'))
def testTogetherWithGivenMissingPartsAllowed(self):
self.combine = CombineParts({'together':['one', 'two']}, allowMissingParts=['two'])
self.combine.addObserver(self.observer)
def getData(identifier, name):
if name == 'one':
raise KeyError('one')
return '<%s/>' % name
self.observer.methods['getData'] = getData
self.assertRaises(KeyError, lambda: self.combine.getData(identifier='identifier', name='together'))
示例10: testObservableCall
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
def testObservableCall(self):
o = Observable()
calltrace = CallTrace('calltrace')
o.addObserver(calltrace)
result = o.call.getSomething()
self.assertEqual(None, result)
self.assertEquals(['getSomething'], calltrace.calledMethodNames())
calltrace.calledMethods.reset()
calltrace.returnValues['getSomething'] = 'RESULT'
result = o.call.getSomething()
self.assertEqual('RESULT', result)
self.assertEquals(['getSomething'], calltrace.calledMethodNames())
示例11: testAdditionalArguments
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
def testAdditionalArguments(self):
log = CallTrace('log')
writer = QueryLogWriter(log=log)
observer = CallTrace('additional', returnValues={'determineQueryArguments': dict(key='value')})
writer.addObserver(observer)
writer.writeLog(defaultCollectedLog())
self.assertEquals(['log'], log.calledMethodNames())
self.assertEquals(['key=value'], [m.kwargs['queryArguments'] for m in log.calledMethods])
self.assertEquals(['determineQueryArguments'], observer.calledMethodNames())
self.assertEquals(dict(
collectedLog=defaultCollectedLog(),
scopeNames=(),
currentArgs={'version': '1.2'},
), observer.calledMethods[0].kwargs)
示例12: OaiSetSelectTest
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
class OaiSetSelectTest(SeecrTestCase):
def setUp(self):
SeecrTestCase.setUp(self)
self.observer = CallTrace()
with stderr_replaced() as err:
self.dna = be(
(Observable(),
(OaiSetSelect(['set1', 'set2']),
(self.observer,)
)
)
)
self.assertTrue(not err.getvalue() or \
'warn("OaiSetSelect is deprecated;' in err.getvalue(), err.getvalue())
def testOaiSelect(self):
self.dna.call.oaiSelect()
self.assertEquals(1, len(self.observer.calledMethods))
methodCalled = self.observer.calledMethods[0]
self.assertTrue('sets' in methodCalled.kwargs, methodCalled)
self.assertEquals(['set1', 'set2'], self.observer.calledMethods[0].kwargs['sets'])
def testGetUniqueInSet(self):
self.observer.returnValues['getRecord'] = MockRecord('id', sets=['set1'])
self.dna.call.getRecord('xyz')
self.assertEquals(['getRecord'], self.observer.calledMethodNames())
getRecordCall = self.observer.calledMethods[0]
self.assertEquals(('xyz',), getRecordCall.args)
def testGetUniqueNotInSet(self):
self.observer.returnValues['getRecord'] = MockRecord('id', sets=['set4'])
self.dna.call.getRecord('xyz')
self.assertEquals(['getRecord'], self.observer.calledMethodNames())
def testOtherMethodsArePassed(self):
self.observer.methods['getAllMetadataFormats'] = lambda *a, **kw: (x for x in [])
list(compose(self.dna.all.getAllMetadataFormats()))
self.assertEquals(1, len(self.observer.calledMethods))
self.assertEquals('getAllMetadataFormats', self.observer.calledMethods[0].name)
def testSetsIsNone(self):
self.dna.call.oaiSelect(sets=None)
self.assertEquals(1, len(self.observer.calledMethods))
methodCalled = self.observer.calledMethods[0]
self.assertTrue('sets' in methodCalled.kwargs, methodCalled)
self.assertEquals(['set1', 'set2'], self.observer.calledMethods[0].kwargs['sets'])
示例13: testRemoteExecuteQuery
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
def testRemoteExecuteQuery(self):
http = CallTrace('http')
def httppost(*args, **kwargs):
raise StopIteration('HTTP/1.0 200 Ok\r\n\r\n%s' % LuceneResponse(total=5, hits=[Hit("1"), Hit("2"), Hit("3", duplicateCount=2), Hit("4"), Hit("5")]).asJson())
yield
http.methods['httppost'] = httppost
remote = LuceneRemote(host='host', port=1234, path='/path')
observable = Observable()
observable.addObserver(remote)
remote._httppost = http.httppost
cq = ComposedQuery('coreA')
cq.setCoreQuery(
core='coreA',
query=parseString('query AND field=value'),
filterQueries=[parseString('query=fiets')],
facets=[{'fieldname': 'field', 'maxTerms':5}],
)
cq.setCoreQuery(core='coreB', query=parseString('query=test'))
cq.addMatch(dict(core='coreA', uniqueKey='keyA'), dict(core='coreB', key='keyB'))
result = returnValueFromGenerator(observable.any.executeComposedQuery(query=cq))
self.assertEquals(5, result.total)
self.assertEquals([Hit("1"), Hit("2"), Hit("3", duplicateCount=2), Hit("4"), Hit("5")], result.hits)
self.assertEquals(['httppost'], http.calledMethodNames())
m = http.calledMethods[0]
self.assertEquals('host', m.kwargs['host'])
self.assertEquals(1234, m.kwargs['port'])
self.assertEquals('/path/__lucene_remote__', m.kwargs['request'])
self.assertEquals('application/json', m.kwargs['headers']['Content-Type'])
message, kwargs = Conversion().jsonLoadMessage(m.kwargs['body'])
query = kwargs['query']
self.assertEquals('executeComposedQuery', message)
self.assertEquals('coreA', query.resultsFrom)
self.assertEquals([{'fieldname': 'field', 'maxTerms':5}], query.facetsFor('coreA'))
示例14: testResumeOrThrowOnlyOnce
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
def testResumeOrThrowOnlyOnce(self):
# A.k.a. Promise / Future like behaviour.
trace = CallTrace("Reactor")
def getSuspend():
trace.calledMethods.reset()
suspend = Suspend(doNext=trace.doNext)
self.assertEquals([], trace.calledMethodNames())
suspend(reactor=trace, whenDone=trace.whenDone)
self.assertEquals(['doNext', 'suspend'], trace.calledMethodNames())
doNextM, suspendM = trace.calledMethods
self.assertEquals(((suspend,), {}), (doNextM.args, doNextM.kwargs))
self.assertEquals(((), {}), (suspendM.args, suspendM.kwargs))
trace.calledMethods.reset()
return suspend
suspend = getSuspend()
suspend.resume(response='whatever')
self.assertEquals(['whenDone'], trace.calledMethodNames())
trace.calledMethods.reset()
# Below no change of result, no side-effects
self.assertEquals('whatever', suspend.getResult())
try:
suspend.resume(response='DIFFERENT')
except AssertionError, e:
self.assertEquals('Suspend already settled.', str(e))
示例15: FlagCheckTest
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import calledMethodNames [as 别名]
class FlagCheckTest(SeecrTestCase):
def setUp(self):
SeecrTestCase.setUp(self)
self.flagCheck = FlagCheck(serviceIdentifier='identifier', flag=READABLE)
def handleRequest(**kwargs):
yield 'HTTP/1.0 200 Ok\r\nContent-Type: plain/text\r\n\r\nRESULT'
self.observer = CallTrace(emptyGeneratorMethods=['someMessage'], methods={'handleRequest':handleRequest})
self.server = be((Observable(),
(self.flagCheck,
(self.observer,),
)
))
def testAllowedWhenFlagSet(self):
consume(self.flagCheck.updateConfig(this_service={'readable': False, 'state':{'readable': True}}))
consume(self.server.all.someMessage(ignored='ignored'))
self.assertEquals(['someMessage'], self.observer.calledMethodNames())
def testNotAllowedServiceDoesntExists(self):
consume(self.flagCheck.updateConfig(this_service=None))
try:
consume(self.server.all.someMessage(ignored='ignored'))
self.fail()
except EnvironmentError, e:
self.assertEquals("'someMessage' is not allowed at the moment (readable=False).", str(e))