17
17
from unittest import TestSuite
19
from extras import safe_hasattr, try_imports
18
from extras import safe_hasattr, try_imports, try_import
21
20
Queue = try_imports(['Queue.Queue', 'queue.Queue'])
22
testresources = try_import('testresources')
23
24
from testtools import (
25
26
ExtendedToOriginalDecorator,
26
27
ExtendedToStreamDecorator,
30
ResourcedToStreamDecorator,
31
33
StreamResultRouter,
932
940
('stopTestRun',)], log._events)
943
class TestResourcedToStreamDecorator(TestCase):
946
super(TestResourcedToStreamDecorator, self).setUp()
947
if testresources is None:
948
self.skipTest('Need testresources')
950
def test_startMakeResource(self):
951
log = LoggingStreamResult()
952
result = ResourcedToStreamDecorator(log)
953
timestamp = datetime.datetime.utcfromtimestamp(3.476)
954
result.startTestRun()
955
result.time(timestamp)
956
resource = testresources.TestResourceManager()
957
result.startMakeResource(resource)
958
[_, event] = log._events
960
'testresources.TestResourceManager.make', event.test_id)
961
self.assertEqual('inprogress', event.test_status)
962
self.assertFalse(event.runnable)
963
self.assertEqual(timestamp, event.timestamp)
965
def test_startMakeResource_with_custom_id_method(self):
966
log = LoggingStreamResult()
967
result = ResourcedToStreamDecorator(log)
968
resource = testresources.TestResourceManager()
969
resource.id = lambda: 'nice.resource'
970
result.startTestRun()
971
result.startMakeResource(resource)
972
self.assertEqual('nice.resource.make', log._events[1].test_id)
974
def test_stopMakeResource(self):
975
log = LoggingStreamResult()
976
result = ResourcedToStreamDecorator(log)
977
resource = testresources.TestResourceManager()
978
result.startTestRun()
979
result.stopMakeResource(resource)
980
[_, event] = log._events
982
'testresources.TestResourceManager.make', event.test_id)
983
self.assertEqual('success', event.test_status)
985
def test_startCleanResource(self):
986
log = LoggingStreamResult()
987
result = ResourcedToStreamDecorator(log)
988
resource = testresources.TestResourceManager()
989
result.startTestRun()
990
result.startCleanResource(resource)
991
[_, event] = log._events
993
'testresources.TestResourceManager.clean', event.test_id)
994
self.assertEqual('inprogress', event.test_status)
996
def test_stopCleanResource(self):
997
log = LoggingStreamResult()
998
result = ResourcedToStreamDecorator(log)
999
resource = testresources.TestResourceManager()
1000
result.startTestRun()
1001
result.stopCleanResource(resource)
1002
[_, event] = log._events
1004
'testresources.TestResourceManager.clean', event.test_id)
1005
self.assertEqual('success', event.test_status)
935
1008
class TestStreamFailFast(TestCase):
937
1010
def test_inprogress(self):