コード例 #1
0
ファイル: callbacks_test.py プロジェクト: kaste/waterf
    def testParallelReturnsAllResults(self, taskqueue, ndb):
        queue.parallel(
            task(Ok, 'ONE'), task(Ok, 'TWO')
        ).then(handler).run()
        consume(taskqueue)

        assert [["ONE", "TWO"]] == messages
コード例 #2
0
ファイル: enqueue_test.py プロジェクト: kaste/waterf
            def testParentUsesId2(self, taskqueue):
                main = task(noop, _use_id='A')
                sub = task(P)
                main.enqueue_subtask(sub)
                main.enqueue_subtask(sub)

                assert count_tasks(taskqueue) == 1
コード例 #3
0
ファイル: water_test.py プロジェクト: kaste/waterf
    def testAbortInOrder(self, taskqueue, ndb):
        queue.inorder(
            task(A), task(T), task(C)
        ).run()

        consume(taskqueue)
        assert ["A"] == messages
コード例 #4
0
ファイル: callbacks_test.py プロジェクト: kaste/waterf
    def testInOrderReturnsLastResult(self, taskqueue, ndb):
        queue.inorder(
            task(Ok, 'ONE'), task(Ok, 'TWO')
        ).then(handler).run()
        consume(taskqueue)

        assert ['TWO'] == messages
コード例 #5
0
ファイル: enqueue_test.py プロジェクト: kaste/waterf
            def testParentUsesName2(self, taskqueue):
                main = task(noop)
                sub = task(P)
                main.enqueue_subtask(sub)
                main.enqueue_subtask(sub)

                assert count_tasks(taskqueue) == 1
コード例 #6
0
ファイル: water_test.py プロジェクト: kaste/waterf
    def testInOrder(self, taskqueue, ndb):
        queue.inorder(
            task(A), task(B), task(C)
        ).run()

        assert count_tasks(taskqueue) == 1
        consume(taskqueue)

        assert ['A', 'B', 'C'] == messages
コード例 #7
0
ファイル: water_test.py プロジェクト: kaste/waterf
    def testAbortParallel(self, taskqueue, fastndb):
        queue.parallel(
            task(P, 'ONE'), task(T), task(P, 'TWO')
        ).then(task(C)).run()

        consume(taskqueue)
        assert "ONE TWO".split() == messages

        assert [] == queue._Counter.query().fetch()
コード例 #8
0
ファイル: water_test.py プロジェクト: kaste/waterf
    def testParallel(self, taskqueue, ndb):
        queue.parallel(
            task(P, 'ONE'), task(P, 'TWO'), task(P, 'THREE')
        ).run()

        assert count_tasks(taskqueue) == 3
        consume(taskqueue)

        assert 'ONE TWO THREE'.split() == messages
コード例 #9
0
ファイル: water_test.py プロジェクト: kaste/waterf
    def testNestedInOrder(self, taskqueue, ndb):
        queue.inorder(
            task(A),
            queue.inorder(task(P, 'ONE'), task(P, 'TWO')),
            task(C)
        ).run()

        consume(taskqueue)
        assert 'A ONE TWO C'.split() == messages
コード例 #10
0
ファイル: water_test.py プロジェクト: kaste/waterf
        def testEnsureInOrderExecution(self, taskqueue, ndb):
            queue.inorder(
                task(A),
                task(DEFER),
                task(B)
            ).run()
            consume(taskqueue)

            assert "A DEFER deferred B".split() == messages
コード例 #11
0
ファイル: water_test.py プロジェクト: kaste/waterf
    def testReturnAbortToAbort(self, taskqueue, ndb):
        queue.inorder(
            task(A),
            task(RETURN_ABORT),
            task(B)
        ).run()

        consume(taskqueue)

        assert ["A"] == messages
コード例 #12
0
ファイル: enqueue_test.py プロジェクト: kaste/waterf
        def testEnsureMultipleTaskGetCleanedIfReleaseAfterIsIused(
                self, taskqueue, fastndb):
            queue.inorder(
                task(P, 'ONE')
            ).enqueue(release_after=1)
            queue.inorder(
                task(P, 'TWO')
            ).enqueue(release_after=1)

            consume(taskqueue)
            semaphores = queue.Lock.model.query().fetch()
            assert len(semaphores) == 0
コード例 #13
0
ファイル: water_test.py プロジェクト: kaste/waterf
    def testCombined(self, taskqueue, fastndb):
        queue.inorder(
            task(A),
            queue.parallel(task(P, 'ONE'), task(P, 'TWO'), task(P, 'THREE')),
            task(B)
        ).run()

        consume(taskqueue)

        assert 'A ONE TWO THREE B'.split() == messages

        assert [] == queue._Counter.query().fetch()
コード例 #14
0
ファイル: water_test.py プロジェクト: kaste/waterf
    def testComplicated(self, taskqueue, ndb):
        queue.parallel(
            task(A),
            queue.inorder(
                task(P, 'ONE'),
                task(P, 'TWO'),
                task(P, 'THREE')
            ),
            task(B)
        ).run()

        consume(taskqueue)
        assert "A B ONE TWO THREE".split() == messages
コード例 #15
0
ファイル: enqueue_test.py プロジェクト: kaste/waterf
            def testA(self, taskqueue, ndb):
                A = queue.inorder(
                    task(P)
                ).enqueue(use_id='A')
                B = queue.inorder(
                    task(P)
                ).enqueue(use_id='B')
                assert count_tasks(taskqueue) == 2

                tick(taskqueue)
                assert count_tasks(taskqueue) == 2
                tick(taskqueue)
                assert count_tasks(taskqueue) == 0

                assert 'P P'.split() == messages
コード例 #16
0
ファイル: enqueue_test.py プロジェクト: kaste/waterf
        def testIdIsReleasedAfterXSeconds(self, taskqueue, ndb):
            task(noop).enqueue(release_after=1)
            assert count_tasks(taskqueue) == 1
            tick(taskqueue)
            assert count_tasks(taskqueue) == 1  # the cleanup handler

            cleanup_handler = taskqueue.get_filtered_tasks()[0]

            now = datetime.datetime.now(tz=queue.taskqueue.taskqueue._UTC)
            now = now.replace(microsecond=0)
            assert cleanup_handler.eta == now + datetime.timedelta(seconds=1)

            task(noop).enqueue()
            assert count_tasks(taskqueue) == 1

            tick(taskqueue)
            assert count_tasks(taskqueue) == 0  # ensure

            task(noop).enqueue()
            assert count_tasks(taskqueue) == 1
コード例 #17
0
ファイル: water_test.py プロジェクト: kaste/waterf
    def testA(self, taskqueue, ndb):
        foo = Foo()
        task(foo.bar).enqueue()
        consume(taskqueue)

        assert ['bar'] == messages
コード例 #18
0
ファイル: enqueue_test.py プロジェクト: kaste/waterf
 def testPreventNamedTaskToBeScheduledTwice2(self, taskqueue):
     task(noop, _name='A').enqueue()
     task(noop, _name='A').enqueue()
     assert count_tasks(taskqueue) == 1
コード例 #19
0
ファイル: callbacks_test.py プロジェクト: kaste/waterf
    def testCallAbortToAbort(self, taskqueue):
        task(CALL_ABORT).then(None, handler).run()

        assert "ABORT NOW" == str(messages[0])
        assert isinstance(messages[0], queue.AbortQueue)
コード例 #20
0
ファイル: callbacks_test.py プロジェクト: kaste/waterf
    def testFailure(self, taskqueue):
        task(RETURN_ABORT).failure(handler).run()

        assert [queue.ABORT] == messages
コード例 #21
0
ファイル: callbacks_test.py プロジェクト: kaste/waterf
 def testDeferredHandler(self, taskqueue, ndb):
     task(Ok).success(task(handler)).run()
     assert count_tasks(taskqueue) == 1
     consume(taskqueue)
     assert ['Ok'] == messages
コード例 #22
0
ファイル: callbacks_test.py プロジェクト: kaste/waterf
 def testCantAddTheSameHandlerTwice(self, taskqueue):
     task(Ok).success(handler).success(handler).run()
     assert ['Ok'] == messages
コード例 #23
0
ファイル: callbacks_test.py プロジェクト: kaste/waterf
 def testSuccess(self, taskqueue):
     task(Ok).success(handler).run()
     assert ['Ok'] == messages
コード例 #24
0
ファイル: enqueue_test.py プロジェクト: kaste/waterf
 def testSilentlyDisallowDoubleExecution(self, taskqueue, ndb):
     task(noop).enqueue()
     task(noop).enqueue()
     assert count_tasks(taskqueue) == 1
コード例 #25
0
ファイル: enqueue_test.py プロジェクト: kaste/waterf
 def testProtectedByGivenId2(self, taskqueue, ndb):
     task(noop, _use_id='A').enqueue()
     task(noop, _use_id='A').enqueue()
     assert count_tasks(taskqueue) == 1
コード例 #26
0
ファイル: enqueue_test.py プロジェクト: kaste/waterf
 def testIdCanBeReusedImmediately(self, taskqueue, ndb):
     task(noop).enqueue()
     assert count_tasks(taskqueue) == 1
     consume(taskqueue)
     task(noop).enqueue()
     assert count_tasks(taskqueue) == 1
コード例 #27
0
ファイル: water_test.py プロジェクト: kaste/waterf
    def testTaskStr(self):

        print task(P, message='ONE')
        print queue.inorder(task(A), task(B))
        print queue.parallel(task(A), task(B), task(P, message='ONE'))
コード例 #28
0
ファイル: water_test.py プロジェクト: kaste/waterf
def DEFER():
    messages.append('DEFER')
    return task(P, 'deferred')
コード例 #29
0
ファイル: enqueue_test.py プロジェクト: kaste/waterf
 def testDisableProtection3(self, taskqueue):
     task(noop, _use_id=False).enqueue()
     task(noop, _use_id=False).enqueue()
     assert count_tasks(taskqueue) == 2
コード例 #30
0
ファイル: water_test.py プロジェクト: kaste/waterf
        def testFurtherDefer(self, taskqueue, ndb):
            task(DEFER).run()
            consume(taskqueue)

            assert "DEFER deferred".split() == messages