Пример #1
0
 def test_unknownEventLogsCriticalEvent(self):
     loggingDouble = getLoggingDouble()
     
     self.context.currentState = self.stateInitial
     self.assertRaises(UnknownEventError, self.context.dispatch, 'bad-event', {})
     # The "bad-event" message is logged twice: once when first looking it up (which raises exception),
     # then again when handling the exception (which uses the event to find the transition to find the retry policy)
     self.assertEquals(loggingDouble.count['critical'], 2)
Пример #2
0
    def test_unknownEventLogsCriticalEvent(self):
        loggingDouble = getLoggingDouble()

        self.context.currentState = self.stateInitial
        self.assertRaises(UnknownEventError, self.context.dispatch,
                          'bad-event', {})
        # The "bad-event" message is logged twice: once when first looking it up (which raises exception),
        # then again when handling the exception (which uses the event to find the transition to find the retry policy)
        self.assertEquals(loggingDouble.count['critical'], 2)
Пример #3
0
 def test_nonFinalStateEmittingNoEventLogsCriticalEvent(self):
     
     def executeReturnsNoEvent(context, obj):
         return None
         
     mock(name='CountExecuteCalls.execute', returns_func=executeReturnsNoEvent, tracker=None)
     loggingDouble = getLoggingDouble()
     self.context.currentState = self.stateInitial
     self.context.dispatch('next-event', {})
     self.assertEquals(loggingDouble.count['critical'], 1)
Пример #4
0
 def setUp(self):
     super(DatastoreFSMContinuationBaseTests, self).setUp()
     setUpByFilename(self, self.FILENAME, instanceName='instanceName', machineName=self.MACHINE_NAME)
     self.mockQueue = TaskQueueDouble()
     mock(name='Queue.add', returns_func=self.mockQueue.add, tracker=None)
     self.loggingDouble = getLoggingDouble()
     self.modelKeys = []
     for i in range(10):
         modelKey = TestModel().put()
         self.modelKeys.append(modelKey)
Пример #5
0
    def test_nonFinalStateEmittingNoEventLogsCriticalEvent(self):
        def executeReturnsNoEvent(context, obj):
            return None

        mock(name='CountExecuteCalls.execute',
             returns_func=executeReturnsNoEvent,
             tracker=None)
        loggingDouble = getLoggingDouble()
        self.context.currentState = self.stateInitial
        self.context.dispatch('next-event', {})
        self.assertEquals(loggingDouble.count['critical'], 1)
Пример #6
0
 def setUp(self):
     super(ReadWriteLockTest, self).setUp()
     self.loggingDouble = getLoggingDouble()
     self.state = State('name', None, None, None)
     self.context = FSMContext(self.state, queueName='default')
     self.context.currentState = self.state
     ReadWriteLock._BUSY_WAIT_ITER_SECS = ReadWriteLock.BUSY_WAIT_ITERS
     ReadWriteLock.BUSY_WAIT_ITER_SECS = 0
     ReadWriteLock._BUSY_WAIT_ITERS = ReadWriteLock.BUSY_WAIT_ITERS
     ReadWriteLock.BUSY_WAIT_ITERS = 2
     random.seed(0) # last step
Пример #7
0
 def setUp(self):
     super(ReadWriteLockTest, self).setUp()
     self.loggingDouble = getLoggingDouble()
     self.state = State('name', None, None, None)
     self.context = FSMContext(self.state, queueName='default')
     self.context.currentState = self.state
     ReadWriteLock._BUSY_WAIT_ITER_SECS = ReadWriteLock.BUSY_WAIT_ITERS
     ReadWriteLock.BUSY_WAIT_ITER_SECS = 0
     ReadWriteLock._BUSY_WAIT_ITERS = ReadWriteLock.BUSY_WAIT_ITERS
     ReadWriteLock.BUSY_WAIT_ITERS = 2
     random.seed(0)  # last step
Пример #8
0
 def setUp(self):
     super(DatastoreFSMContinuationBaseTests, self).setUp()
     setUpByFilename(self,
                     self.FILENAME,
                     instanceName='instanceName',
                     machineName=self.MACHINE_NAME)
     self.mockQueue = TaskQueueDouble()
     mock(name='Queue.add', returns_func=self.mockQueue.add, tracker=None)
     self.loggingDouble = getLoggingDouble()
     self.modelKeys = []
     for i in range(10):
         modelKey = TestModel().put()
         self.modelKeys.append(modelKey)
Пример #9
0
 def setUp(self):
     super(TaskQueueFSMRetryTests, self).setUp()
     filename = 'test-TaskQueueFSMRetryTests.yaml'
     machineName = getMachineNameByFilename(filename)
     self.factory = getFSMFactoryByFilename(filename)
     self.context = self.factory.createFSMInstance(machineName)
     
     self.mockQueue = TaskQueueDouble()
     mock(name='Queue.add', returns_func=self.mockQueue.add, tracker=None)
     self.loggingDouble = getLoggingDouble()
     
     # drive the machine to ready
     self.initEvent = self.context.initialize()
     self.mockQueue.purge() # clear the initialization task
Пример #10
0
    def setUp(self):
        super(TaskQueueFSMRetryTests, self).setUp()
        filename = 'test-TaskQueueFSMRetryTests.yaml'
        machineName = getMachineNameByFilename(filename)
        self.factory = getFSMFactoryByFilename(filename)
        self.context = self.factory.createFSMInstance(machineName)

        self.mockQueue = TaskQueueDouble()
        mock(name='Queue.add', returns_func=self.mockQueue.add, tracker=None)
        self.loggingDouble = getLoggingDouble()

        # drive the machine to ready
        self.initEvent = self.context.initialize()
        self.mockQueue.purge()  # clear the initialization task
Пример #11
0
 def setUp(self):
     super(RunOnceSemaphoreTest, self).setUp()
     self.loggingDouble = getLoggingDouble()
     random.seed(0)  # last step
Пример #12
0
 def setUp(self):
     super(LoggerTestPersistent, self).setUp()
     filename = 'test-FSMContextTests.yaml'
     setUpByFilename(self, filename)
     self.context.logger.persistentLogging = self.PERSISTENT_LOGGING
     self.loggingDouble = getLoggingDouble()
Пример #13
0
 def setUp(self):
     super(LoggerTestPersistent, self).setUp()
     filename = 'test-FSMContextTests.yaml'
     setUpByFilename(self, filename)
     self.context.logger.persistentLogging = self.PERSISTENT_LOGGING
     self.loggingDouble = getLoggingDouble()
Пример #14
0
 def test_maxRetriesEmitsDeprecationWarning(self):
     loggingDouble = getLoggingDouble()
     self.transDict[constants.MAX_RETRIES_ATTRIBUTE] = "3"
     self.fsm.addTransition(self.transDict, "GoodState")
     self.assertEquals(loggingDouble.count["warning"], 1)
Пример #15
0
 def test_continuationNotSpecifiedButHasContinuationMethodLogsWarning(self):
     loggingDouble = getLoggingDouble()
     self.stateDict[constants.STATE_CONTINUATION_ATTRIBUTE] = False
     self.stateDict[constants.STATE_ACTION_ATTRIBUTE] = "MockActionWithContinuation"
     self.fsm.addState(self.stateDict)
     self.assertEquals(loggingDouble.count["warning"], 1)
Пример #16
0
 def test_maxRetriesIssuesDeprecationWarning(self):
     loggingDouble = getLoggingDouble()
     self.machineDict[constants.MAX_RETRIES_ATTRIBUTE] = "3"
     fsm = config._MachineConfig(self.machineDict)
     self.assertTrue(fsm)
     self.assertEquals(loggingDouble.count["warning"], 1)
Пример #17
0
 def test_maxRetriesEmitsDeprecationWarning(self):
     loggingDouble = getLoggingDouble()
     self.transDict[constants.MAX_RETRIES_ATTRIBUTE] = '3'
     self.fsm.addTransition(self.transDict, 'GoodState')
     self.assertEquals(loggingDouble.count['warning'], 1)
Пример #18
0
 def test_continuationNotSpecifiedButHasContinuationMethodLogsWarning(self):
     loggingDouble = getLoggingDouble()
     self.stateDict[constants.STATE_CONTINUATION_ATTRIBUTE] = False
     self.stateDict[constants.STATE_ACTION_ATTRIBUTE] = 'MockActionWithContinuation'
     self.fsm.addState(self.stateDict)
     self.assertEquals(loggingDouble.count['warning'], 1)
Пример #19
0
 def test_maxRetriesIssuesDeprecationWarning(self):
     loggingDouble = getLoggingDouble()
     self.machineDict[constants.MAX_RETRIES_ATTRIBUTE] = '3'
     fsm = config._MachineConfig(self.machineDict)
     self.assertTrue(fsm)
     self.assertEquals(loggingDouble.count['warning'], 1)
Пример #20
0
 def setUp(self):
     super(RunOnceSemaphoreTest, self).setUp()
     self.loggingDouble = getLoggingDouble()
     random.seed(0) # last step