Beispiel #1
0
    def _test_graphExecutionDriver(self, mode):
        """
        A small test to check that DROPs executions can be driven externally if
        required, and not always internally by themselves
        """
        a = InMemoryDROP("a", "a", executionMode=mode, expectedSize=1)
        b = SumupContainerChecksum("b", "b")
        c = InMemoryDROP("c", "c")
        a.addConsumer(b)
        c.addProducer(b)

        # Write and check
        dropsToWaitFor = [] if mode == ExecutionMode.EXTERNAL else [c]
        with DROPWaiterCtx(self, dropsToWaitFor):
            a.write(b"1")

        if mode == ExecutionMode.EXTERNAL:
            # b hasn't been triggered
            self.assertEqual(c.status, DROPStates.INITIALIZED)
            self.assertEqual(b.status, DROPStates.INITIALIZED)
            self.assertEqual(b.execStatus, AppDROPStates.NOT_RUN)
            # Now let b consume a
            with DROPWaiterCtx(self, [c]):
                b.dropCompleted("a", DROPStates.COMPLETED)
            self.assertEqual(c.status, DROPStates.COMPLETED)
        elif mode == ExecutionMode.DROP:
            # b is already done
            self.assertEqual(c.status, DROPStates.COMPLETED)
Beispiel #2
0
 def test_errorState(self):
     a = InMemoryDROP("a", "a")
     b = SumupContainerChecksum("b", "b")
     c = InMemoryDROP("c", "c")
     c.addProducer(b)
     b.addInput(a)
     a.setError()
     self.assertEqual(DROPStates.ERROR, a.status)
     self.assertEqual(DROPStates.ERROR, b.status)
     self.assertEqual(DROPStates.ERROR, c.status)
Beispiel #3
0
 def test_errorState(self):
     a = InMemoryDROP('a', 'a')
     b = SumupContainerChecksum('b', 'b')
     c = InMemoryDROP('c', 'c')
     c.addProducer(b)
     b.addInput(a)
     a.setError()
     self.assertEqual(DROPStates.ERROR, a.status)
     self.assertEqual(DROPStates.ERROR, b.status)
     self.assertEqual(DROPStates.ERROR, c.status)
Beispiel #4
0
 def test_ngasio(self):
     nd_in = NgasDROP("HelloWorld.txt", "HelloWorld.txt")
     nd_in.ngasSrv = "ngas.ddns.net"
     b = CopyApp("b", "b")
     did = "HelloWorld-%f" % time.time()
     nd_out = NgasDROP(did, did, len=11)
     nd_out.ngasSrv = "ngas.ddns.net"
     nd_out.len = nd_in.size
     d = CopyApp("d", "d")
     i = InMemoryDROP("i", "i")
     # b.addInput(nd_in)
     # b.addOutput(nd_out)
     nd_in.addConsumer(b)
     nd_out.addProducer(b)
     d.addInput(nd_out)
     i.addProducer(d)
     # b.addOutput(i)
     self._test_graph_runs((nd_in, b, nd_out, i, d), nd_in, i, timeout=10)
     self.assertEqual(b"Hello World", droputils.allDropContents(i))