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)
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)
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)
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))